2016년 7월 28일 목요일

[Unix] 파일 압축, 압축 파일 보기 및 파일 압축 해제

compress 명령

compress 명령을 사용하여 파일 크기를 줄일 수 있습니다.
큰 파일을 압축하면 디스크 공간 사용량이 감소할 뿐만 아니라 네트워크에서 해당 파일을 전송하는 데 걸리는 시간도 줄어듭니다.
압축량은 압축하는 파일 유형에 따라 달라집니다.
일반적으로 텍스트 파일을 압축하면 파일 크기가 50%에서 60%까지 감소합니다.

compress 명령 구문은 다음과 같습니다.

compress [ -v ] filename


예를 들어, 다음과 같은 구문으로 나타납니다.

$ compress dante

파일을 압축하면 compress 명령은 원본 파일을 .Z 확장자를 가진 새 파일로 바꿉니다.
원본 파일의 소유권 및 수정 시간은 그대로 유지되지만 파일 내용이 변경됩니다.

다음 예제에서는 -v(자세한 표시) 옵션을 사용하여 files.tar 파일을 압축하는 방법을 보여줍니다. 이 옵션을 compress 명령과 함께 사용하면 각 파일의 감소율 또는 증가율 정보를 제공하는 메시지가 표시됩니다.

$ compress -v files.tar
files.tar: 압축: 70.20% -- files.tar.Z로 대체됨




zcat 명령

zcat 명령을 사용하여 compress 명령으로 압축된 파일을 볼 수 있습니다.
zcat 명령은 압축된 데이터를 해석하여 압축되지 않은 것처럼 파일 내용을 표시합니다.
하지만 zcat 명령은 압축된 파일 내용을 변경하지 않습니다.

zcat 명령 구문은 다음과 같습니다.

zcat filename


※ zcat filename 명령은 uncompress -c filename 명령과 동일한 기능을 수행합니다

$ zcat dante.Z | more
The Life and Times of Dante

by Dante Pocai

Mention "Alighieri" and few may know about
whom you are talking. Say "Dante," instead,
and the whole world knows whom you mean. For
Dante Alighieri, like Raphael, Michelangelo,
Galileo, etc. is usually referred to by his
first name. There is only one Dante, as we
recognize one Raphael, one Michelangelo, and
one Galileo.
<중략>
$


먼저 tar 파일의 압축을 풀지 않아도 파이프(|) 문자를 zcat 명령과 함께 사용하여 압축된 tar 파일의 내용을 추출할 수 있습니다.

$ zcat files.tar.Z | tar xvf -

tar 명령 끝에 대시(-)가 있으면 tar 명령이 파일이나 테이프에서 tar 파일을 읽는 대신 표준 입력에서 tar 파일을 읽어야 합니다. 이 예제에서는 파이프(|)로 인해 zcat 명령의 출력에서 표준 입력이 도출됩니다.



uncompress 명령


uncompress 명령은 압축된 파일을 다시 원래 상태로 복구합니다.

uncompress 명령 구문은 다음과 같습니다.

uncompress options filename
다음 예제에서는 files.tar.Z 파일의 압축을 풀어 원본 파일인 files.tar로 바꾸는 방법을 보여줍니다.
-v 옵션을 사용하면 uncompress 명령은 수행된 활동에 대한 메시지를 표시합니다.

$ uncompress -v files.tar.Z
files.tar.Z: -- files.tar로 대체됨



압축된 파일 내용 보기

먼저 압축된(.Z) 파일을 변경하지 않아도 uncompress 명령을 -c 옵션과 함께 사용하여 압축된 파일의 내용을 화면으로 보낼 수 있습니다(stdout).

파이프(|) 문자를 사용하여 uncompress 명령의 출력을 다른 프로그램으로 보낼 수도 있습니다.

tar 명령을 사용하면 uncompress 명령이 읽고 있는 파일 내용을 나열할 수 있습니다.

$ uncompress -c files.tar.Z | tar tvf -
tar: 블록 크기 = 11
-rw-rw---- 1233/10 1610 2002년 5월 7일 14:12 file1
-rw-rw---- 1233/10 105 2002년 5월 7일 14:12 file2
-rw-rw---- 1233/10 218 2002년 5월 7일 14:12 file3

명령줄 끝에 대시(-)가 있으면 tar 명령이 tar 파일이나 테이프가 아닌 파이프로 연결된 uncompress 명령의 출력에서 데이터를 읽는 것을 나타냅니다



gzip 명령

gzip 명령은 파일 크기를 줄입니다.
gzip 명령이 성공적으로 파일을 압축하면 원본 파일은 동일한 이름에 .gz 확장자가 붙은 파일로 바뀝니다.
압축된 파일은 원본 파일의 소유권 모드, 액세스 및 수정 시간을 그대로 유지합니다.
gzip 명령은 정규 파일을 압축합니다.

gzip 명령 구문은 다음과 같습니다.

gzip [ -v ] filenames

다음 예제에서는 gzip 명령을 사용하여 file1, file2, file3 및 file4 파일을 압축하는 방법을 보여줍니다.

$ gzip file1 file2 file3 file4
$ ls *.gz
file1.gz file2.gz file3.gz file4.gz

※ gzip 명령은 compress 명령과 동일한 일반 기능을 수행하지만 대체로 gzip 명령으로 압축된 파일 크기가 더 작습니다.


gunzip 명령을 사용하여 gzip 파일 복구


gunzip 명령을 사용하여 gzip 명령으로 압축된 파일을 복구할 수 있습니다.

다음 예제에서는 압축된 file1.gz 파일을 푸는 방법을 보여줍니다.

$ gunzip file1.gz





gzcat 명령

gzcat 명령을 사용하여 gzip 명령이나 compress 명령으로 압축된 파일을 볼 수 있습니다.
gzcat 명령은 압축된 데이터를 해석하여 압축되지 않은 것처럼 파일 내용을 표시합니다.
하지만 gzcat 명령은 압축된 파일 내용을 변경하지 않습니다.
압축된 파일은 여전히 압축된 형식으로 디스크에 남아 있습니다.

gzcat 명령 구문은 다음과 같습니다

gzcat filename


※ zcat 명령과 gzcat 명령의 차이점
zcat 명령을 사용하여 compress 명령으로 압축된 파일을 볼 수 있습니다.
gzcat 명령을 사용하면 gzip 명령이나 compress 명령으로 압축된 파일을 볼 수 있습니다.

먼저 파일 압축을 풀지 않아도 gzcat 명령을 사용하여 압축된 tar 파일의 내용을 볼 수 있습니다.
다음 예제에서는 file1.gz 파일을 표시하는 방법을 보여줍니다.

$ gzip file1
$ ls file1*
file1.gz
$ gzcat file1.gz
The Achievers

Unconsciously or not, they divide their
work totally differently than the sustainers




zip 명령

zip 명령은 여러 파일을 한 개의 아카이브 파일로 압축합니다.
새 파일 이름을 확장자와 함께 지정하지 않으면 zip 명령은 압축된 아카이브 파일의 파일 이름에 .zip 확장자를 추가합니다.

zip 명령 구문은 다음과 같습니다.

zip [ -r ] target_filename source_filenames


$ zip file.zip file2 file3
adding: file2 (deflated 16%)
adding: file3 (deflated 26%)
$ ls
file.zip
file2
file3

zip 아카이브의 파일을 나열하려면 unzip -l 명령을 수행합니다.$ unzip -l zipfile


unzip 명령을 사용하여 zip 파일 복구

unzip 명령을 사용하여 zip 파일 내용의 압축을 풀 수 있습니다.
다음 예제에서는 압축된 file.zip 아카이브 파일을 푸는 방법을 보여줍니다.

$ unzip file.zip


※ jar 명령과 zip 명령은 서로 호환되는 파일을 만듭니다.
unzip 명령은 jar 파일의 압축을 풀 수 있고 jar 명령은 zip 파일의 압축을 풀 수 있습니다.

댓글 없음:

댓글 쓰기