본문 바로가기

데이터 분석/Linux

Linux Shell Commands : 검색 / 압축 / 묶음 명령

[ 검색명령 ]

grep whereis find
파일에서 원하는 단어를 검색하여 
단어가 포함된 행을 출력하는 명령
명령을 검색하는 명령 원하는 위치에서 
원하는 형식의 파일을 검색

 

1. grep / egrep

 

2. whereis

  • ]# whereis 명령

 

3. find

  • ]# find  검색디렉토리  검색옵션  검색값  검색후처리
더보기
]# find /etc -name '*conf' -print = /etc 디렉토리에서 파일의 이름이 conf로 끝나는 파일을 검색하여 출력
※ -print 옵션은 생략 가능

]# find /root -type d = 파일의 종류가 디렉토리인 것을 검색하여 출력
※ -type 옵션은 파일의 종류를 검색 => d : 디렉토리   f : 파일   l : 링크파일

]# find /var -type d -name '*mail*' = 옵션은 여러 개 사용 가능하다.

]# find /etc -type f -user root -perm 640 = 소유자가 root이고 파일권한이 750인 파일을 검색하여 출력

]# find /etc -type f -size +10 = 파일의 크기가 10kbyte 이상되는 파일을 검색하여 출력 

]# find /etc -type f -ctime 0 = 파일의 정보가 변경(권한 또는 소유자)된지 24시간된 파일 검색  

※ atime : 파일을 보거나 디렉토리에 접근한 시간
※ mtime : 파일의 내용이 변경된 시간             

]# find /home -type f -name '*txt' -exec rm -rf {} \; = 파일명이 txt로 끝나는 파일을 검색하여 삭제

 

 

[ 압축명령 ]

Command Zip Unzip
gzip ]# gzip 파일명 (파일명.gz 압축파일로 변환) ]# ungzip 파일명.gz
bzip2 ]# bzip2 파일명 (파일명.bz2 압축파일로 변환) ]# unbzip2 파일명.bz2
xz ]# xz 파일명 (파일명.xz 압축파일로 변환) ]# unxz 파일명.xz
compress ]# compress 파일명 (파일명.Z 압축파일로 변환) ]# uncompress 파일명.Z

 

 

[ 묶음명령 tar ]

  • 파일들이나 디렉토리를 하나의 파일로 만들어 주는 명령
더보기
]# tar cvf 묶음파일명 대상   =>  대상(파일들 또는 디렉토리)을 파일 하나로 묶어 생성(파일명.tar)한다.

]# tar xvf 파일명.tar   =>  명령을 입력한 디렉토리에 파일(디렉토리)이 풀린다.                        


※ 원하는 디렉토리에 묶음파일 해제
]# tar xvf 파일명.tar -C 해제디렉토리명


※ tar는 압축명령과 같이 사용하기 위해 압축옵션을 사용한다.

]# tar cvZf 압축파일명 대상   =>  compress를 이용하여 압축파일(파일명.tar.Z)을 생성
<==>  ]# tar xvZf 파일명.tar.Z     =>  파일명.tar.Z 압축 및 묶음 해제

]# tar cvzf 압축파일명 대상   =>  gzip를 이용하여 압축파일(파일명.tar.gz)을 생성
<==>  ]# tar xvzf 파일명.tar.gz     =>  파일명.tar.gz 압축 및 묶음 해제

]# tar cvjf 압축파일명 대상   =>  bzip2를 이용하여 압축파일(파일명.tar.bz2)을 생성
<==>  ]# tar xvjf 파일명.tar.bz2     =>  파일명.tar.bz2 압축 및 묶음 해제

]# tar cvJf 압축파일명 대상   =>  xz를 이용하여 압축파일(파일명.tar.xz)을 생성
<==>  ]# tar xvJf 파일명.tar.xz     =>  파일명.tar.xz 압축 및 묶음 해제

ex)
]# tar cvzf etc.tar.gz /etc
]# tar cvjf etc.tar.bz2 /etc
]# ls -l    =>  압축파일 확인
]# tar xvzf etc.tar.gz   =>  현재 디렉토리에 압축 해제
]# tar xvjf etc.tar.bz2 -C /home   =>  /home 디렉토리에 압축 해제
]# tar cvzf etc2.tar.gz /etc --exclude *conf

=> 대상에 제외하고 싶은 파일 또는 디렉토리는 --exclude 옵션을 사용하여 제외 할 수 있다.

※ tar 명령을 이용한 시스템 백업
]# tar cvzf /root/backup.tar.gz --exclude=/proc --exclude=/lost+found
--exclude=/root/backup.tar.gz --exclude=/mnt --exclude=/sys
--exclude=/media --exclude=/net /

또는 ]# cat /dev/sda > /dev/sdb
=> 하드디스크의 크기가 반드시 같아야 한다.

※ tar 명령을 이용한 시스템 복구
]# tar xvzf /root/backup.tar.gz -C /
]# cd /
]# mkdir proc mnt lost+found sys net media
=> 재부팅