원본 파일 을 유지 하면서 gzip 명령 줄 도구를 사용하여 텍스트 파일을 압축하고 싶습니다 . 기본적으로 다음 명령을 실행합니다.
gzip file.txt
이 파일을 수정하고 이름을 바꿉니다 file.txt.gz
. 대신에이 문제의 나는이 새로운 압축 파일 싶은 또한 기존의 하나를 file.txt
. 지금은 다음 명령을 사용하여
gzip -c file.txt > file.txt.gz
작동하지만 왜 그런 일반적인 작업을 수행하는 더 쉬운 솔루션이 없는지 궁금합니다. 어쩌면 내가 그 옵션을 놓쳤을까요?
GNU gzip
1.6 이상, FreeBSD 및 파생 제품 또는 최신 버전의 NetBSD에 대해서는 don_cristi의 답변을 참조하십시오 .
모든 버전에서 다음과 같이 셸 리디렉션을 사용할 수 있습니다.
gzip < file > file.gz
인수가 제공되지 않으면 gzip
표준 입력을 읽고 압축 한 다음 압축 된 버전을 표준 출력에 씁니다. 보너스로 쉘 리디렉션을 사용할 때 "--help"
또는 라는 파일에 대해 걱정할 필요가 없습니다 "-"
(후자의 파일은 여전히 gzip -c --
.
또 다른 이점 gzip -c file > file.gz
은 file
열 수없는 경우 비어있는 파일을 만들 file.gz
거나 기존을 덮어 쓰지 file.gz
않고 전혀 실행 하지 않고 명령이 실패한다는 gzip
것입니다.
gzip -k
그러나 와 비교하여 중요한 차이점 은 file
의 메타 데이터 (소유권, 권한, 수정 시간, 압축되지 않은 파일 이름)를 file.gz
.
또한 file.gz
이미 존재하는 경우 noclobber
쉘에서 옵션을 설정 하지 않은 경우 ( set -o noclobber
예를 들어 POSIX 쉘에서) 자동으로 무시합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다