본문 바로가기

PC

리눅스 유용한 명령어 - tar, cat, grep, awk, cut, ifconfig, ps, top, w, free, nslookup, find, tail

리눅스를 사용하다 보면 자주 쓰는 명령어들이 있다... 대부분 이것들만 쓴다...

 

tar

파일 (압축)묶기 - tar [옵션] [압축할 파일명] [압축될 파일명]
파일 묶기 : tar -cvf zbxe.tar .
파일 압축 묶기 : tar -zcvf zbxe.tgz .

파일 (압축)풀기 - tar [옵션] [압축파일명] [압축폴더]
파일 풀기 : tar -xvf zbxe.tar
파일 압축 풀기 : tar -zxvf zbxe.tgz

  


cat

임의의 입력을 출력해 보여준다.

cat /proc/cpuinfo
/proc/cpuinfo 파일의 내용을 stdout으로 출력
cat > temp.txt, 텍스트 작성 후 ctrl + c
stdin을 temp.txt에 출력(redirection)
cat < temp1.txt > temp2.txt
temp1.txt의 내용을 입력으로 받아 temp2.txt 파일에 출력

grep

입력 대상에서 특정 문자열을 포함한 라인 출력

grep "model name" /proc/cpuinfo
->model name: Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
->model name: Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
/proc/cpuinfo 파일에서 "model name"을 포함한 라인을 순서대로 찾아 모두 출력

grep "model name" /proc/cpuinfo > test.txt
결과물을 test.txt에 저장한다.

awk

특정 입력을 원하는 양식으로 처리

ex) grep "MemTotal" /proc/meminfo | awk '{print$2" "$3}'
->2065704 kB
/proc/meminfo에서 "MemTotal"을 포함한 라인의 2번째와 3번째 토큰을 한칸 띄우고 이어서 출력
ex)grep "MemTotal" /proc/meminfo
->MemTotal:($1) 2065704($2) kB($3)
토큰은 띄어쓰기 또는 탭으로 구분

ex) 특정 프로세스의 pid 확인

-> ps -ef | grep "/env/source/wiki/integration/wiki-batch" | grep -v "grep" | awk '{print $2}' | sed '2,$d'

cut

입력의 일부분을 잘라내고 출력한

grep "model name" /proc/cpuinfo | cut -c 14-
->Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
->Intel(R) Core(TM2) Duo CPU     E6550  @ 2.33GHz
/proc/cpuinfo에서 "model name"을 포함한 라인을 찾고, 14번째 글자부터 출력


ifconfig

네트워크 관련정보를 출력

ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print$2}' | cut -c 6-
각각의 이더넷 장치(eth0, eth1...)에 할당된 IP주소만 출력된다.
ifconfig의 결과에서 inet addr이 포함된 문자열 중 localhost(lo, 127.0.0.1)가 아닌 라인을 모두 찾아 각각의 2번째 토큰을 6번째 글자부터 출력한다.

ps    

프로세스의 사용자, CPU/Memory 점유율 등 각종 프로세스 정보를 옵션에 맞추어 출력

top

프로세스 정보를 한번 출력으로 끝내지 않고 단위시간마다 갱신하여 표시한다. ps가 static이라면 top은 dynamic

w

현재 시스템에 접속한 사용자 목록을 출력

free

Memory 사용량을 표시

nslookup

nslookup [IPADDR] or [DOMAIN]: 특정 IP의 domain, 또는 특정 domain의 IP주소를 출력

find

파일내 문자열 검색
find / -name "*.php" | xargs grep -l "textarea id='txt'" | more

tail

tail 은 기본적으로 밑에서 10줄을 보여준다. [-n 라인수]
tail  -n 50  -f catalina.out