목차

리눅스에서 자주 사용하는 명령어

  • description :
  • author : 김토피아
  • email : kimmk@repia.com
  • lastupdate : 2020-03-10

ls

용량이 제일 큰것부터 정렬하여 리스팅 하기

[www@www tmp]$ ls -alhS | more
option
a : all
l : long format
h : human reading (K, M, G)
S : sort by Size, t : sort by Time

find

현재 디렉토리에 있는 '_header.txt' 파일을 하위 디렉토리마다 모두 복사하기

[www@www tmp]$ find ./ -type 'd' -ls -exec cp ./_header.txt {} \;

파일 사이즈가 0인 목록 가져오기

[www@www tmp]$ find ./ -type 'f' -size 0 -ls
or
[www@www tmp]$ find ./ -type 'f' -empty

파일 사이즈가 0인 파일 제거하기

[www@www tmp]$ find ./ -type f -size 0 -exec rm -f {} \;
or
[www@www tmp]$ find ./ -type f -size 0 | xargs rm -f
or
[www@www tmp]$ find ./ -type f -size 0 -delete

Find and delete the zero size files and empty directories

du

용량 높은 순서로 표시

[www@www tmp]$ du | sort -nr

sed

텍스트 파일안의 문자열를 치환하기

[www@www tmp]$ sed -i 's|/hello/|/Hello Word|g' *.conf
/hello 는 치환대상, /Hello Word 치환 내용, *.conf 확장자가 conf 인 것의 모든 텍스트 파일 내용 치환

crontab

주기적으로 실행 파일 및 명령어 실행에 사용

[www@www tmp]$ crontab -e
#Repia_Search_RealRank
0,10,20,30,40,50 8-20 * * * /opt/search/RSA/bin/realRank.sh
0 7 * * * /opt/search/RSA/bin/acsctl.sh restart
#root에서 다른 계정으로 실행하는 경우
0,10,20,30,40,50 8-20 * * * su - search -c /opt/search/RSA/bin/realRank.sh
0 7 * * * su - search -c /opt/search/RSA/bin/acsctl.sh restart
-e 수정, -l 등록 텝 보기
www 계정에서 crontab -e로 등록하면 www 계정에서만 보이고 실행 됩니다.
crontab 주기
*      *      *      *      *(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)

tar

리눅스 압축하기

[www@www tmp]$ tar fczvh search.tar.gz search
f: 대상 tar 아카이브 지정, c: tar 아카이브 생성, z: gzip 압축 적용, v: 처리되는 View 출력, h(선택사항): 압축대상 폴더안에 심볼링크가 있으면 원본파일을 포함하여 압축


압축파일에서 특정파일만 압축 풀기
압축 파일의 내용 보기(경로, 이름, 용량, …)

[www@www tmp]$ tar tvfz archive.tar.gz
t: tar 파일의 List 출력, v: 파일들의 이름과 크기 표시, f: 강제, z: 압축을 해제하면서


특정한 파일 풀기

[www@www tmp]$ tar xvfzp archive.tar.gz 디렉토리/파일명
디렉토리/파일명 은 정확해야 하면, 그 경로를 파악하기 위해서는 tar tvfz를 활용하면 도움이 된다.


특정 내용 제외하고 압축하기

[www@www tmp]$ tar cvfz front_changwon.tar.gz front --exclude "*.mp4"


top

시스템의 상태를 전반적으로 파악하는 명령어(CPU, Memory, Process)

[www@www tmp]$ top -b  // 순간적인 정보 확인
[www@www tmp]$ top -n  // top 실행 주기 설정(반복 횟수)
[www@www tmp]$ top -d [sec]  // 설정된 초단위로 Refresh
[www@www tmp]$ top -c  // command뒤에 인자값 표시

lsof

list open files의 약자로 시스템에서 열린 파일목록을 알려주고 사용하는 프로세스, 디바이스 정보, 파일의 종류등 상세한 정보를 출력한다.

$ lsof
 
COMMAND    PID      USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
init         1      root  cwd       DIR              253,0     4096          2 /
init         1      root  rtd       DIR              253,0     4096          2 /
init         1      root  txt       REG              253,0   150352       3932 /sbin/init
init         1      root  mem       REG              253,0    65928     784927 /lib64/libnss_files-2.12.so
init         1      root  DEL       REG              253,0              784911 /lib64/libc-2.12.so
init         1      root  DEL       REG              253,0              785325 /lib64/libgcc_s-4.4.7-20120601.so.1.#prelink#.YDRQV5
init         1      root  DEL       REG              253,0              784939 /lib64/librt-2.12.so
init         1      root  DEL       REG              253,0              784935 /lib64/libpthread-2.12.so.#prelink#.0jHMuJ

컬럼별 의미는 다음과 같다.

-i 옵션을 사용하여 IPv4 또는 IPv6 포트만 표시할수 있다.

$ lsof -i 4
 
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpcbind   1068     rpc    6u  IPv4  11858      0t0  UDP *:sunrpc 
rpcbind   1068     rpc    7u  IPv4  11860      0t0  UDP *:819 
rpcbind   1068     rpc    8u  IPv4  11861      0t0  TCP *:sunrpc (LISTEN)
rpc.statd 1086 rpcuser    5r  IPv4  11949      0t0  UDP *:838 
rpc.statd 1086 rpcuser    8u  IPv4  11955      0t0  UDP *:47492 
rpc.statd 1086 rpcuser    9u  IPv4  11959      0t0  TCP *:38374 (LISTEN)
cupsd     1159    root    7u  IPv4  12195      0t0  TCP localhost:ipp (LISTEN)

Ref