gzip (tar가 아닌 필수) 명령으로 아카이브를 작성해야하며 아카이브에는 다른 디렉토리 (예 : / etc)의 파일이 포함되어야합니다. 나는 명령을 사용하려고
gzip myetc.gz /etc
그러나 작동하지 않았습니다.
gzip (tar가 아닌 필수) 명령으로 아카이브를 작성해야하며 아카이브에는 다른 디렉토리 (예 : / etc)의 파일이 포함되어야합니다. 나는 명령을 사용하려고
gzip myetc.gz /etc
그러나 작동하지 않았습니다.
답변:
Gzip은 단일 파일 또는 gzip으로 파이프 된 스트림에서만 작동합니다. 따라서 tar와 같이 먼저 하나의 파일을 생성 한 다음 gzip으로 압축 할 수 있습니다. 다른 옵션은 모든 개별 파일을 압축 한 다음 파일 하나를 압축 해제하는 것입니다.
이 두 가지 솔루션 모두 어리석기 때문에 사용해서는 안됩니다. 내장 압축 옵션과 함께 tar를 사용하고 하나의 명령으로 모두 수행해야합니다.
.tar.gz
.
cat filename | grep blah
으로 바보입니다. 큰 중간 공간을 사용하기 때문에 최적보다 훨씬 적습니다. 나는 그것이 부당하고 부적합하며 일반적으로 추악한 것만 큼 바보라고 부를 지 모르겠다. 어리석은 일도 있습니다.
fork()
입니다.
gzip
디렉토리가 아닌 파일과 함께 작동합니다. 따라서 사용해야하는 디렉토리의 아카이브를 작성하려면 tar
여러 파일에서 단일 tarball을 작성합니다.
tar cvf myetc.tar /etc
또는 zip 압축 아카이브의 경우 :
tar cvzf myetc.tar.gz /etc
cd / ; tar cf - ./etc | gzip -c - > myetc.tar.gz
경우 다음을 수행 할 수 있습니다. "/ etc"대신 "./etc"를 tar하는 이유가 궁금하다면 tar를 사용할 때 이전 시스템에서 xvf, 그것은 / etc로 출력되고 그것을 덮어 씁니다 ... [또는 당신은 "pax"를 사용해야합니다]). 역 명령, 즉 "/ 어딘가"아래에 해당 아카이브를 추출하려면 : cd /somewhere ; gzip -dc < /the/location/of/myetc.tar.gz | tar xvf -
실제로 tar를 사용할 수 없다면 gzip을 사용하여 (-r-재귀 적으로) 옵션을 사용하여 디렉토리의 백업을 만들 수 있지만 아마도 정확히 원하는 것이 아닐 것입니다 ...
원래 디렉토리를 건드리지 않으려면 먼저 다른 이름으로 디렉토리를 복사해야합니다.
#cp -a directory my_gzip_alone_backup
둘째, 디렉토리의 모든 파일을 재귀 적으로 압축합니다 (-r).
#gzip -r my_gzip_alone_backup
이제 my-gzip-alone-backup 내부를 살펴 보겠습니다. 예상대로 단일 파일 myfile.gz가 없지만 많은 gzip 파일은 재귀 적으로 있습니다. 그러나 심볼릭 링크 때문에 etc 로하는 것은 좋지 않습니다 ...
디렉토리를 압축 해제하기 위해 gunzip으로 동일한 논리를 적용 할 수 있습니다.
다른 방법은 디렉토리를 단일 파일로 변환하는 것입니다. 타르가 없으면이 게시물에서 설명한 것처럼 dd util을 사용 하십시오 : /ubuntu/626634/converting-a 파일 대 디렉토리
gzip
아닙니다zip
. 그것들은 다르게 작동하는 다른 도구입니다.