이 명령을 실행한 후에 특정 크기 제한이 있습니까 compress
?
내가 아는 한, 이 명령은 0바이트 파일에서는 작동하지 않습니다 compress
. 그런데 오늘 UNIX에서 명령을 사용하여 바이트 크기가 27바이트인 파일을 압축하려고 시도했지만 compress
압축이 되지 않았습니다. 파일은 변경되지 않은 상태로 유지됩니다.
답변1
파일 내용에 따라 다릅니다(엔트로피, 대략). 완전히 임의의 내용이 주어지면 compress
실제로 파일이 더 커지며 대부분의 구현에서는 어떤 작업도 거부됩니다(-v
옵션은 일반적으로 이를 알려줍니다.)
제가 가지고 있는 구현에서는 완전히 0바이트를 포함하는 파일이 최소 8바이트로 압축됩니다. 압축 파일 시작 부분의 매직 넘버와 기본 "이것을 N 번 반복" 명령이 입력보다 긴 크기 제한인 것 같습니다.
텍스트 등 보다 유용한 분산 콘텐츠를 고려하면 크게 달라지지만 임계값은 최소 수십 바이트가 될 것이다. 27바이트 텍스트 파일을 압축할 생각은 없으며 임의의 27바이트 바이너리 파일을 압축할 가능성은 더욱 적습니다.
1 물론 기술적으로는 무작위이므로...
답변2
부르다
compress -f your_file_to_compress
compress
행동이 예측 가능한 방식으로 행동하도록 강제합니다 .
이것은 매우 불쾌한 기능입니다. compress
때로는 파일을 변경하지 않고 임의로 남겨두기로 결정했지만 불행한 부작용은 파일이 원래 이름을 유지하고 .Z
.
나는 이렇게 말하는 편이 더 좋다고의로비교하다우연히. 스크립트에서 이것을 호출 compress
한 다음 확장자가 .인 파일의 존재를 계산하면 .Z
매우 불쾌한 놀라움을 느낄 수 있습니다.