13. 압축과 아카이빙
목표
1. 압축 관련 명령어
2. 압축 + 아카이빙 관련 명령어
1. 압축 관련 명령어
▷ gzip / gunzip CMD
gzip 명령어 다음에 파일의 이름을 쓰면 파일이 압축된다.
gunzip 명령어 다음에 압축된 파일의 이름을 쓰면 압축을 해제할 수 있다.
압축된 파일의 내용은 gzcat, gunzip -c 를 통해 볼 수 있다.
- 명령어 형식
# gzip file1 /* file1을 압축한다. --> file1.gz */
# gunzip -c file1.gz /* file1.gz의 내용을 출력한다. */
# gunzip file1.gz /* file1.gz을 압축해제 한다.(# gzip -d file1) --> file1 */
- 명령어 옵션
-S : 기본 생성 파일인 .gz 형태가 아닌 지정한 파일로 생성
-d : 압축된 파일의 압축을 해제한다. ( # gzip -d file1 )
-f : 이미 이전에 압축파일이 존재하더라도, 무시하고 압축파일을 생성
-r : 지정한 것이 디렉토리라면 하위 디렉토리와 파일까지 모두 압축
-v : 압축 통계를 보여준다.
그냥 압축 말고 옵션에 -9 와 같이 숫자를 넣어서 압축률을 설정할 수 있다. 숫자가 높을수록 압축률이 높다.
▷ bzip2 / bunzip2 CMD
블럭 정렬 텍스트 압축 알고리즘과 Huffman 코딩을 이용하여 파일을 압축한다.
높은 성능의 압축률을 자랑한다.
- 명령어 형식
# bzip2 file1 /* file1을 압축한다. --> file1.bz2
# bunzip2 -c file1.bz2 /* file1.bz2의 내용을 출력한다. */
# bunzip2 file1.bz2 /* file1.bz2을 압축해제 한다.(# bzip -d file1.bz2) --> file1 */
- 명령어 옵션
-c : 파일을 압축 또는 풀어서 표준 출력으로 보낸다.
-d : 압축을 푼다.
-z : 파일을 압축한다.
-t : 지정된 파일의 무결성을 검사하지만, 압축을 풀지 않는다.
-f : 압축, 해제할 때 같은 이름의 파일이 있을 경우 덮어쓰기 한다.
-k : 파일을 압축이나 해제할 때 원본파일을 지우지 않는다.
-q : 경고 메시지가 나오지 않는다.
-v : bzip2 작업사항을 자세히 볼 수 있다.
-1~9 : 압축할 때의 블록 크기를 정해준다.
※ 사용방법은 위의 gzip 처럼 명령어를 입력해서 쓰면된다.
2. 압축 + 아카이빙
※ 아카이브란 말이 기록보관소란 뜻이므로 아카이빙은 별도의 보관소로 옮기는 작업으로 생각하면 될 것 같다.
▷ tar CMD (tape archive)
- 여러개의 파일이나 디렉토리를 한 개의 묶음 파일로 만들 때 사용한다.
- 명령어 형식 (tar 명령어 사용시 옵션에 -기호 생략가능)
# tar cvf file.tar file1 file2 .... /* file1과 file2를 file.tar 이름으로 묶는다. */
# tar tvf file.tar /* file.tar의 내용을 확인한다. */
# tar xvf file.tar /* file.tar을 해제한다. */
# tar cvzf file.tar.gz file1 file2 /* file1과 file2를 file.tar로 묶고 압축한다. --> file.tar.gz */
# tar tvzf file.tar.gz /* file.tar.gz의 내용을 확인한다. */
# tar xvzf file.tar.gz /* file.tar.gz의 압축을 풀고 해제한다. */
# tar cvjf file.tar.bz2 file1 file2 /* file1과 file2를 file.tar로 묶고 압축한다. --> file.tar.bz2 */
# tar tvjf file.tar.bz2 /* file.tar.bz2의 내용을 확인한다. */
# tar xvjf file.tar.bz2 /* file.tar.bz2의 압축을 풀고 해제한다. */
- 명령어 옵션
-c : 여러 개의 파일을 하나의 파일로 묶을 때
-v : 생성과정을 보여 줌
-x : 파일의 압축을 해제하고 풀어 낼 때
-r : 파일 및 디렉토리 추가
-u : tar 파일과 새로운 디렉토리 내의 파일과 비교하여 최근 파일을 아카이브에 추가
-t : tar 파일의 내용을 확인할 때
-z : gzip과 관련하여 압축이나 해제를 한꺼번에 할 때
-j, -l : bzip2를 이용해서 압축한다.
▷ zip / unzip CMD
- 여러개의 파일을 압축과 해제
- 명령어 형식
# zip file.zip file1 file2 file3 /* file1, file2, file3을 file.zip으로 압축한다. */
# unzip -l file.zip /* file.zip 의 내용을 리스트로 출력한다. */
# unzip file.zip /* file.zip 을 압축해제 한다. */