[자동완성기능]
명령어를 앞에 몇글자만 작성한 상태에서 TAB을 누르면
자동으로 완성시켜주는 기능이 있어 알아두면 편리합니다.
[대소문자 구분]
명령어를 입력할 때 대소문자를 구분하기 때문에
전혀 다른 명령이 입력될 수 있으므로 주의해야합니다.
[명령어+옵션]
리눅스 명령어에 옵션을 추가하면 새로운 기능을 사용할 수 있습니다.
예를 들면 ls만 입력하는 것과 -l이라는 옵션을 추가하면 다른 결과값이 출력됩니다.
명령어 마다 옵션이 다르기 때문에 man + 명령어를 입력하시면 옵션을 확인하실 수 있습니다.
[출처] [리눅스] 기초 명령어|작성자 kber0407
cd 이동 할 디렉토리 경로 : 디렉토리 이동을 한다.
cd : 자신의 홈 디렉토리로 이동
cd~ : 유저의 홈 디렉토리를 의미
cd. : 현재 디렉토리
cd.. : 한단계 상위 디렉토리로
pwd : 현재 위치를 알려준다.
ls : 해당 디렉토리 목록 보기
옵션 ( -a : 모든 파일 출력, -l : 자세히 출력, -h : 용량으로 출력, -d : 디렉토리 출력, -F : 파일 끝에 파일 형식 표시)
useradd" " 사용자 추가
passwd" " : 비밀번호 변경
clear : 터미널 초기화
history : 현재까지 입력된 명령어 보기
mkdir : 디렉토리 만들기
touch : 파일 만들기
cat/head/tail : 파일 보기
vi : 파일 내용 수정
cp : 파일/디렉토리 복사
mv : 파일/디렉토리 이동
su : 사용자 변경
rm : 파일이나 디렉토리 삭제
옵션 ( -r : 묻지 않고 삭제, -f : 하위폴더까지 적용 <주의> rm -rf를 잘못 하면 절대 안됨)
exit : 리눅스 사용 종료
grep 찾을문구 파일명
Pipe
ps -ef | grep ftp : ftp가 실행중인가?
rpm -qa | grep ftp : ftp가 설치되었나?
ps -ef | grep tomcat 으로 실행 여부 확인
열린 포트 확인netstat -anp | grep "LISTEN"
파일 위치 확인
whereis ls
whereis cal : 해당 명령어 ls, cat 파일 위치 확인
which ls
which cal
파일 검색
find / -name *.c / : 찾을 위치 확장자가 .c인 파일을 찾아라
-name : 파일 이름으로 검색
-user : 파일 사용자의 id에 따라서 검색
-empty : 비어있는 파일 찾기
-size <+100M> : 100MB 이상의 파일을 찾기
파일 분류하기
file /etc/bashrc : 파일의 종류를 확인하는 명령어
ELF 파일 : 2진수로 구성되 볼수 없는 파일
ASCII 파일 : 볼수 있는 파일
파일의 종류
d : directory
- : file
l : soft link file
c : character device
b : block device
s : socket
p : named pipe
디렉토리 용량
du -sh /etc
du -sh ~
df -h 파티션 용량
ll -h /
시스템 정보 확인
리눅스 배포판 확인 : cat /etc/*release
kernel 버전 : uname -r
cat /proc/version
CPU 정보 : cat /proc/cpuinfo
메모리 정보 : cat /proc/meminfo
arch : cpu 버전
mount -l : 현재 마운트 정보 확인
fdisk -l : 현재 디스크 정보 확인
df -h : 파티션 정보(swap은 제외)
패키지관리
rpm -qf /sbin/fdisk : 포함하고 있는 rpm 이름
rpm -ql sendmail : sendmail 관련된 파일 모두 보기
rpm -qc sendmail : 설정파일만 보기
http://ftp.kaist.ac.kr : 패키지 다운로드 사이트
http://rpmfind.net
http://rpmseek.com
rpm -e vsftpd --nodeps : 의존성 검사하지 않고 강제 삭제
rpm -ivh ~/다운로드/package명 : 다운 받은 package 설치
yum install <package명> : package 자동으로 설치
프로세스
pstree : 프로세스를 Tree 형태로 출력
pstree -pn : 프로세스 Number와 함께 출력
init : 1번 프로세스
ps -ef : 실행 중인 전체 프로세스 출력
UID : User ID
PID : 프로세스 ID
PPID : 부모 프로세스 ID
kill -l : kill signal number
kill -9 PID : PID의 프로세스를 죽임
foreground : xeyes
background : xeyes &
demon : background로 실행중인 서비스 프로그램
실시간 로그 기록 확인
tail -f 파일명
// test.log 파일 실시간으로 보기
tail -f test.log
옵션 (옵션은 생략 가능)
-f : 마지막 10라인 실시간으로 계속 출력
-F : 파일 변동시 실시간 출력 & 특정시간 지난 후 파일 변동시 새로운 파일 오픈해서 출력
-n n : 파일의 마지막부터 n만큼의 라인을 출력
-n +n : 파일의 첫번째부터 n번째 이후 라인을 출력
로그 종료하기
Ctrl + C
Tar 묶기 & 해제, Gzip 압축 & 풀기
tar xf 파일명 : Tar 해제
tar cf t.tar 디렉터리명 : Tar 묶기
tar cfz 3.tar.gz httpd-2.2.0 : Tar 묶기 + 압축
tar xvfz 3.tar.gz : verbose 상태 출력
gzip t.tar : 압축하기
gunzip t.tar.gz : 압축풀기
설정 관련
모든 사용자 공통 적용
/etc/profile
/etc/bashrc
개인설정
~/.bash_profile
~/.bashrc // alias -> 설정
cp ~/.exrc /etc/skel/ 여기에 파일을 복사해 놓으면 사용자 생성시 Root 설정 내용이 동일하게 적용됨
리눅스 설치 후 초기작업
vi /etc/bashrc 36번 라인의 W를 w로 바꾼다
vi ~/.exrc //vi default 설정 파일
se nu
se cindent
se ai
se ts=4
cp ~/.exrc /etc/skel Root 설정 파일을 다른 사용자 모두에게 적용
vi ~/.bashrc
alias vi='vim'
alias p='ps -ef | grep'
alias r='rpm -qa | grep'
alias h='histroy'
alias ping='ping -c3'
권한회수
chmod 700 /sbin/poweroff
chmod 700 /sbin/shutdown
chmod 700 /sbin/reboot
chmod 700 /sbin/halt
시스템 종료와 재시작
시스템 종료 |
시스템 재시작 |
|
1 |
shutdown –h now |
shutdown –r now |
now뒤에 +숫자 또는 시:분을 입력하면 몇분 후 또는 예약한 시간에 종료가 이루어 진다. |
||
2 |
init 0 |
init 6 |
3 |
halt |
reboot |
4 |
poweroff |
리눅스 명령어 1. 경로 이동
cd [경로]
- 해당 경로로 이동한다.
- "."은 현재 경로를, ".."은 상위 경로를 의미한다.
- 상대경로 혹은 절대경로를 이용해 이동 가능하다.
- ex) cd / : 루트 경로로 이동.
cd conf : 현 위치의 conf 폴더로 이동
cd .. : 상위 경로로 이동.
cd ../conf : 상위 경로의 conf 폴더로 이동
cd /apache/conf : 루트 경로의 apache폴더 내의 conf 폴더로 이동
pwd
- 현 위치를 나타낸다.
mkdir [폴더명]
** 이건 경로 이동은 아니지만 어디에 넣어야 할지 애매해서 여기다 그냥 씁니다 ㅎㅎ
- 현 경로에 폴더를 생성한다.
- ex) mkdir example : 현재 경로에 example이라는 이름의 폴더를 생성
mkdir /apache/conf/example : /apache/conf/ 경로에 example이라는 이름의 폴더를 생성
리눅스 명령어 2. 파일 및 폴더 목록보기
ls
- 현재 경로의 파일 및 하위폴더 목록을 보여준다.
옵션 | 내용 |
-a | 숨김 파일을 포함한 목록을 보여준다. |
-l | 리스트 형식으로 권한, 파일명, 수정시간 정보도 함께 보여준다. |
-c | 파일 상태 정보가 변경된 순으로 보여준다. |
-t | 파일이 변경된 순으로 보여준다. |
-i | 파일 왼쪽에 색인 번호를 보여준다. |
-m | 파일을 쉼표로 구분하여 가로로 보여준다. |
-r | 정렬 순서를 역순으로 보여준다. |
-u | 최근 사용 파일 순으로 보여준다. |
- ex) ls : 그냥 현재 경로의 파일 및 하위폴더 목록을 보여줌
ls -l : 현재 경로의 파일 및 하위폴더 목록을 자세히 보여줌
ls -al : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 자세히 보여줌
ls -altr : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 파일 변경 시간 내림차순으로 보여줌(오래된 순으로)
** 개인적으론 보통 ls나 ls -altr을 많이 사용합니다.
리눅스 명령어 3. 파일/폴더 복사
cp [소스] [목적지]
- 소스에 있는 파일을 목적지로 복사한다.
옵션 | 내용 |
-a | 원본 파일의 속성, 링크 정보를 유지하면서 복사한다. |
-b | 복사할 대상을 덮어쓰거나 지울 때를 대비하여, 백업 파일을 만들며 복사한다. |
-d | 심볼릭 파일 자체를 심볼릭 정보와 함께 복사한다. |
-f | 복사할 파일이 존재할 때 삭제하고 복사한다. |
-i | 복사할 파일이 존재하는 경우 복사할 것인지 물어보고 복사한다. |
-l | 디렉토리가 아닌 경우 복사 대신 하드 링크로 만든다. |
-p | 원본 파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사한다. |
-r | 서브 디렉토리 내에 있는 모든 파일까지 통째로 복사한다. |
-s | 디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만든다. |
-u | 대상 파일보다 원본 파일이 새로운 것일 때 복사한다. |
** 심볼릭 링크 : 윈도우의 바로가기와 같은 역할을 한다. 심볼릭 링크가 걸어진 파일을 수정시, 원본 파일은 수정되지 않는다.
하드 링크 : 심볼릭 링크과 형태는 같은데, 하드링크에서 파일을 수정하면 원본파일도 함께 수정된다.
- ex) cp test1 test2 : 현 위치의 test1이라는 파일을 현위치에 test2라는 이름으로 복사한다.
cp test1 /apache/conf/test2 : 현 위치의 test1이라는 파일을 /apache/conf/에 test2라는 이름으로 복사한다.
cp -rp test1 /apache/conf/ : 현 위치의 test1이라는 폴더와 폴더 내의 모든 파일을 /apache/conf/에
test2라는 이름으로 복사한다(소유, 그룹, 권한, 허용 시간 등을 보존한 채로)
** 실제 서비스에 사용되는 폴더, 파일의 경우 소유권이나 권한이 바뀌게 되면 정상적으로 작동하지 않을 수 있으므로, 중요한 설정 파일 등을 복사할 때는 -p 옵션을 사용하는 것이 좋다.
리눅스 명령어 4. 파일/폴더 이동
mv [소스] [목적지]
- 소스에 있는 파일을 목적지로 이동한다.
옵션 | 내용 |
-b | 파일이 지워지기 전에 백업 파일을 만들고 이동한다. |
-f | 대상 파일이 있더라도 그 파일을 삭제하고 이동한다. |
-i | 대상 파일이 있는 경우 덮어쓸 것인지 물어보고 이동한다. |
-u | 대상 파일보다 원본 파일이 최신 것일 때 이동한다. |
-v | 파일 이동의 과정을 보여준다. |
- ex) mv test1 ../ : 현 위치의 test1이라는 파일을 상위 경로로 이동한다.
mv test1 /apache/conf/ : 현 위치의 test1이라는 파일을 /apache/conf/로 이동한다.
mv /apache/test1 /apache/conf/ : /apache/의 test1이라는 파일을 /apache/conf/로 이동한다.
** 경로는 적어주지 않고 파일명만을 입력하여(mv test1 test2 와 같은 식으로), 파일명 수정처럼 사용할 수도 있다.
리눅스 명령어 5. 파일 삭제
rm [파일명]
- 파일을 삭제한다.
옵션 | 내용 |
-d | 디렉토리를 삭제한다. |
-f | 삭제하냐고 다시 물어보지 않고 바로 삭제한다. |
-i | 일일이 삭제할 것인지 다시 물어본다. |
-r | 하위 디렉토리 포함한 파일들을 모두 삭제한다. |
-v | 삭제 되기 전의 파일을 보여준다. |
- ex) rm test1 : 현 위치의 test1이라는 파일을 삭제한다.
rm -rf test1 : 현 위치의 test1이라는 폴더와 하위 디렉토리를 포함한 파일들을 모두 바로 삭제한다.
** 명령어를 치기 전에 충분한 검토 후에 rm -f 혹은 rm -rf로 손쉽게 삭제할 수 있다.