“gzip”명령으로 아카이브를 만듭니다.


12

gzip (tar가 아닌 필수) 명령으로 아카이브를 작성해야하며 아카이브에는 다른 디렉토리 (예 : / etc)의 파일이 포함되어야합니다. 나는 명령을 사용하려고

gzip myetc.gz /etc

그러나 작동하지 않았습니다.


3
gzip아닙니다 zip. 그것들은 다르게 작동하는 다른 도구입니다.
roaima

3
gzip스트림 압축기입니다. 파일이나 디렉토리에 대해서는 알지 못합니다.

3
왜 타르를 사용할 수 없습니까?
marcelm

타르가 없으면 cpio가 있습니까?
Rup

2
아카이브를 만들고 싶다고하지만 tar는 사용할 수 없습니다. "tar"라는 단어의 일부는 "ARchive"에서 온 것입니다. 내 말은, 그것이 그것의 raison d' etre입니다. 아카이브 작성 프로세스에서 "tar"을 제외 할 대상 또는 대상은 무엇입니까? 기본적으로 망치로 나사를 조이는 방법을 묻습니다 (드라이버 아님-필요).
Mike S

답변:


6

Gzip은 단일 파일 또는 gzip으로 파이프 된 스트림에서만 작동합니다. 따라서 tar와 같이 먼저 하나의 파일을 생성 한 다음 gzip으로 압축 할 수 있습니다. 다른 옵션은 모든 개별 파일을 압축 한 다음 파일 하나를 압축 해제하는 것입니다.

이 두 가지 솔루션 모두 어리석기 때문에 사용해서는 안됩니다. 내장 압축 옵션과 함께 tar를 사용하고 하나의 명령으로 모두 수행해야합니다.


1
첫 번째 방법이 어리석은 이유는 무엇입니까? 이것은 생산하는 일반적인 방법입니다 .tar.gz.
rexkogitans

c 옵션과 함께 tar를 사용할 수 있다면 어리석은 용어는 아니지만 gzip 대신에 gzip을 사용하는 것입니다. 더 간단하며 gzip으로 타르를 파이프하는 것이 이점이 없다고 생각합니다.
SPRBRN

Gzip은 -r 옵션을 사용하여 여러 파일에서 작동하지만 폴더의 각 파일에 대해 새 .gz를 만듭니다.
Luciano Andress Martini 2016

1
@rexkogitans-바보 같은 방식 cat filename | grep blah으로 바보입니다. 큰 중간 공간을 사용하기 때문에 최적보다 훨씬 적습니다. 나는 그것이 부당하고 부적합하며 일반적으로 추악한 것만 큼 바보라고 부를 지 모르겠다. 어리석은 일도 있습니다.
Mike S

오, 지금 나는 너무 바보 같은 것을 본다. 'tar -czf'는 쓸모없는 것을 포함하지 않기 때문에 갈 길 fork()입니다.
rexkogitans

13

gzip디렉토리가 아닌 파일과 함께 작동합니다. 따라서 사용해야하는 디렉토리의 아카이브를 작성하려면 tar여러 파일에서 단일 tarball을 작성합니다.

tar cvf myetc.tar /etc

또는 zip 압축 아카이브의 경우 :

tar cvzf myetc.tar.gz /etc

2
"-z"옵션이없는 "고대"시스템이있는 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 -
Olivier Dulac

1

실제로 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 파일 대 디렉토리

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.