COMPRESS(1)

명칭
compress, uncompress - 데이터를 압축, 전개한다

서식
compress [-cfv] [-b bits] [file ...] uncompress [-cfv] [file ...]

해설
compress 유틸리티는 adaptive Lempel-Ziv 법을 이용해, 파일을 압축합니다. 개개의 압축되었다 file (은)는, 원의 파일명에 확장자(extension) “. Z” (을)를 부가한 것에 rename 됩니다. 그리고, 파일의 갱신 시각, 최종 액세스 시각, 파일 플래그, 모드, 유저 ID, 그룹 ID 의 대부분 (은)는, 퍼미션이 허락하는 범위에서 압축파일에 인계됩니다. 만약 압축해도 file 의 사이즈가 작게 안 되는 경우, compress 는 그 파일을 무시합니다.

uncompress 유틸리티는, compress 된 파일을 원래 대로의 파일에 restore 해, 파일명을 확장자(extension) “. Z” (을)를 제외한 것에 rename 합니다.

compress, uncompress 에 의해 rename 되는 파일의 이름이 벌써 존재 해, 표준 입력이 단말의 경우는, 덧쓰기해도 괜찮은가 확인을 요구하는 prompt가 (표준 에러 출력에) 출력됩니다. prompt를 낼 수 없기도 하고, 확인의 회답을 얻을 수 없었던 경우에는, 파일은 덧쓰기되지 않습니다.

파일명이 지정되지 않았던 경우 또는 file 인수가 단일의 데쉬 (‘-’) 의 경우, 표준 입력으로부터의 데이터가 압축 혹은 전개되어 결과가 표준 출력에 출력됩니다. 입력 및 출력 파일이 통상 파일이 아닌 경우, 압축 후의 사이즈의 체크와 파일의 덧쓰기 체크는 행해지지 않습니다. 입력 파일은 삭제되지 않고, 또 입력 파일의 속성은 인계되지 않습니다.

옵션은 이하의 것이 있습니다:

-b  bits 코드의 상한치를 지정합니다(이하를 참조).

-c  compressed 또는 uncompressed 의 출력을 표준 출력에 냅니다. 입력원의 파일은 참조될 뿐으로 변경되지 않습니다.

-f  파일장이 작고 완만한들 없는에 관계없이, 파일의 압축을 강행 합니다. 또, 압축파일과 동명의 파일이 벌써 존재해도, 확인을 요구하는 일 없이 강제적으로 파일의 덧쓰기를 행합니다.

-v  압축 후, 파일 사이즈가 얼마나 줄어들었는지를 퍼센트 표시합니다.

compress 유틸리티는 Lempel-Ziv 수정 알고리즘을 사용합니다. 파일내의 중복 하는 부분 캐릭터 라인은, 우선, 257 이상의 9비트 코드에 옮겨놓을 수 있습니다. 코드가 512 에 이르면(자), 알고리즘은 10비트 코드에 교체되어 -b 플래그에 의해 지정된 상한(디폴트는 16)에 이를 때까지, 더욱 위의 비트를 사용해 갑니다. Bits (은)는, 9 에서 16 의 범위에 없으면 안됩니다.

bits 의 상한에 이르면(자), compress (은)는 압축율을 정기적으로 체크합니다. 압축율이 오르고 있을 때, compress (은)는 기존의 코드 사전을 계속 사용합니다만, 압축율이 내렸을 때는 compress (은)는, 부분 캐릭터 라인의 테이블을 파기해, 최초부터 테이블을 다시 만듭니다. 이렇게 해, 알고리즘을 파일의 다음의 "block" 에 적용해 나가는 것이 할 수 있습니다.

랜덤 데이터의 전개 또는 압축된 데이터의 재압축을 실시하지 않게 하기 위한 magic number와 함께, 압축 시에 지정되었다 bits 파라미터가 encode 되어 압축파일안에 보존되기 (위해)때문에, uncompress 그럼 -b 플래그가 생략 되고 있습니다.

얻을 수 있는 압축의 양은, 입력 사이즈, 코드 근처의 bits 의 수, 및 중복 하는 부분 캐릭터 라인의 분포에 의존하고 있습니다. 보통, 원시 코드나 영어의 텍스트는,50-60% 압축됩니다. 일반적으로 (pack 명령로 사용되고 있다) Huffman법, 또는 (compact 명령로 사용되고 있다) 최적화 Huffman법이야는 얻을 수 있는 것보다, 압축 (은)는 자주(잘), 계산 시간도 걸리지 않습니다.

진단

압축을 시도한 파일의 크기가 감소하지 않는 경우로 -f 옵션이 지정되지 않았던 경우, 유틸리티 compress (은)는 2 로 종료합니다.

관련 항목
gunzip(1), gzexe(1), gzip(1), zcat(1), zmore(1), znew(1) Welch, Terry A., June, 1984, A Technique for High Performance Data Compression, IEEE Computer, 17:6, pp. 8-19.

표준
유틸리티 compress 및 uncompress 하 p1003.1-2001 에 적합하고 있습니다.

역사
compress 명령은 4.3BSD (으)로부터 등장했습니다.