1. Compress 압축 ( 용량을 줄임 )
- gzip / gunzip CMD
gzip 명령어는 파일을 압축할 때 사용한다. gzip 명령어 다음에 파일의 이름을 쓰면 파일이 압축되며, 파일에 확장자(.gz)가 붙게 된다. gzip 명령어는 Lempel-Ziv coding (LZ77)을 사용한다. 압축되기 전의 파일의 속성 정보는 압축이 된 이후에도 유지된다. gzip 명령어로 압축된 파일의 내용은 gzcat 명령어나 gunzip 명령어의 -c 옵션을 사용하여 볼 수 있다. 압축을 해제 할 때는 gzip 명령어 다음에 압축된 파일을 쓰면 된다. 그럼 압축이 해제되며, 파일의 확장자(.gz)가 없어지게 된다.
[명령어 형식]
(압축) # gzip file1
file1.gz
(확인) # gunzip -c file1.gz (# zcat file1.gz)
(해제) # gunzip file1.gz (# gzip -d file1.gz)
[명령어 옵션]
-d 압축된 파일을 해제한다.
-f 이미 이전에 압축 파일이 존재하더라도 무시하고 만든다.
-r 지정된 것이 디렉토리라면 하위 디렉토리도 모두 압축한다.
-v 압축 통계를 보여준다.
-파일의 압축율
gzip -9v file1 -> 압축율이 높다. 속도 느리다. ( 서버에 저장할때 )
-8
-7
.....
-3
-2
gzip -1v file1 -> 압축율이 낮다. 속도 빠르다. ( 통신 할때 )
보통 숫자를 부여하지 않고 사용한다.
- bzip / bunzip CMD
높은 성능의 압축률을 자랑하는 유틸리티(Utility) 이다. Burrows-Wheeler 블록 정렬 테스트 압축 알고리즘과 호프만 코딩을 사용하여 파일을 압축한다. bzip2는 tar 아카이브 파일을 압축하게 되면 기존 아카이브 파일이 제거되고, bz2 확장자가 생성된다.
[명령어 형식]
(압축) # bzip2 file1
file1.bz2
(확인) # bunzip2 -c file1.bz2 (# bzcat file1.bz2)
(해제) # bunzip2 file1.bz2 (# bzip2 -d file1.bz2)
[명령어 옵션]
gzip 과 동일한 옵션을 가진다.
2. Compress + Archive 압축과 아카이브(여러개의 파일을 하나로 모음) 아카이브는 백업이라고 생각할 수 있다.
- tar CMD
tar(tape archive) 명령어는 여러개의 파일이나 디렉토리를 한 개의 묶음파일로 만들 때 사용한다. 또는 Tape 디바이스에 백업할 때 사용한다. tar 명령어는 c, x, v, f 옵션들을 사용할 수 있다. 한 개의 아카이빙 할 때는 c 옵션을 사용하고 f 옵션으로 만들어질 파일의 이름을 지정하면 된다. 아카이빙 파일의 내용을 볼때는 t 옵션을 사용하고 f 옵션으로 아카이빙 파일을 지정한다. 아카이빙 파일을 해제 할 때는 x 옵션을 사용하고 f 옵션으로 아카이빙 파일을 지정하면 된다.
[명령어 형식] tar명령어 사용시 옵션에 -기호 생략가능
# tar cvf <묶음파일명> <파일명1> <파일명2> ...
# tar tvf <묶음파일명>
# tar xvf <묶음파일명>
[명령어 옵션]
-c create 파일들을 하나의 파일로 묶을때
-v verbose 생성 과정을 보여준다
-x extract 파일의 압축을 해체할때
-f file
-z gzip 과 관련하여 압축이나 해제를 한꺼번에 할때
-j / -l bzip2를 이용해서 압축한다.
[명령어 활용]
# tar cvf file.tar file1 file2 file3
# tar tvf file.tar
# tar xvf file.tar
# tar cvzf file.tar.gz file1 file2 file3
# tar tvzf file.tar.gz
# tar xvzf file.tar.gz
# tar cvjf file.tar.bz2 file1 file2 file3
# tar tvjf file.tar.bz2
# tar xvjf file.tar.bz2
- zip CMD
[zip 명령어 형식]
(압축) # zip file.zip file1 file2 file3
(확인) # unzip -l file.zip
(해제) # unzip file.zip
[명령어 활용]
# zip file.zip file1 file2 file3
# unzip -l file.zip /* 압출풀면서 압축 내용 출력 */
# unzip file.zip
- jar CMD ( Java Archive )
[명령어 형식]
# jar cvf file.jar file1 file2 file3
# jar tvf file.jar
# jar xvf file.jar
jar이 실행되지 않으면 CMD 자체가 서버에 설치되지 않은 것이다.
# which jar /* jar 위치 확인 */
CMD 가 없다고 하면 설치를 해줘야 가능하지만 지금은 일단 형식만 알아두고 넘어가자.
*** 보통 실무에서 사용할때는 압축을 하는 것보다 인터넷상에서 파일들을 받아 압축을 풀어 사용하는 경우가 더 많다.
file.gz ---- gzip -----> # gunzip file.gz (# gzip -d file.gz)
file.bz2 ---- bzip2 ----> # bunzip2 file.bz2 (# bzip2 -d file.bz2)
file.tar.gz ---- tar/gzip -> # tar xvzf file.tar.gz (# tar xvf file.tar.gz)
file.tgz
file.tar.bz2 ---- tar/bzip2-> # tar xvjf file.tar.bz2 (# tar xvf file.tar.bz2)
file.tbz
file.zip ---- zip ------> # unzip file.zip
file.jar ---- jar ------> # jar xvf file.jar
'Linux > Linux 기초' 카테고리의 다른 글
프로세스 관리 (0) | 2017.08.24 |
---|---|
쉘(shell)의 특성 (0) | 2017.08.23 |
검색 관련 명령어 (0) | 2017.08.22 |
관리자가 알아두면 유용한 명령어 (0) | 2017.08.22 |
사용자 통신할 때 사용하는 명령어 (0) | 2017.08.22 |