일부 파일로 zip 파일을 만들려고 하는데 zip을 추출하면 파일이 1개만 생성됩니다.
tar cfvz test.zip file1.mp3 file2.mp3 file3.jpg
그리고 test.zip을 추출한 후에는 "테스트" 파일만 얻습니다. zip 크기는 괜찮습니다. 추출 시 동일한 파일을 얻도록 이 작업을 수행하는 방법을 모르겠습니다:"file1.mp3 파일2.mp3 파일3.jpg"
답변1
이것은 나에게 효과적이었습니다.
$ tar -czvf test.tar.gz ./file1 ./file2 ...
$ tar -tzf test.tar.gz
./file1
./file2
# to extract do:
$ tar -xzf test.tar.gz
옵션을 전달한 후 f
생성 중인 아카이브의 파일 이름을 제공해야 합니다.
zip
아, 그리고 파일의 압축을 풀기 위해 사용하는 경우에는 디렉토리를 얻지 못하지만 대신 tarball을 얻게 됩니다. Tarball에는 모든 파일이 포함되어 있습니다. 사용:
tar -xf test
그리고 모든 파일을 볼 수 있습니다.
갖고 싶다면정상zip 파일을 사용하려면 / tandem zip
대신 명령을 사용하세요 . 또한 올바른 파일 접미사를 추가하는 것이 좋습니다.tar
gz
- gzip이 포함된 tar(예
tar czvf ...
: ): filename.tar.gz - bzip2가 포함된 tar(예:
tar cjvf ...
): filename.tar.bz2 - 압축하지 않은 tar(예:
tar cvf ...
): filename.tar
답변2
첫째, 압축 파일 이름을 로 지정했더라도 .zip
ZIP 파일이 아니라 TAR 및 GZIP 파일이므로 사용할 올바른 파일 확장자는 .tar.gz
또는 입니다 .tgz
.
이제 압축 파일을 추출하는 데 사용한 명령은 무엇입니까? ZIP 유틸리티를 사용했다면 확장자 때문에 혼동을 느껴 압축을 풀지 않고 파일만 압축해제했을 수도 있습니다. 이는 결과가 실제로 TAR 파일인 단일 파일인 이유를 설명합니다. untar 유틸리티(또는 명령 tar -xf test
)를 사용하는 경우 내부에서 모든 파일을 가져와야 합니다.
답변3
당신이해야 할 파일을 추출하려면
tar xvfz test.zip
기본적으로 모든 파일은 현재 위치를 기준으로 한 경로에서 나타납니다. 따라서 test.zip에 myfile.txt dir1/myfile.txt가 포함되어 있으면 두 파일 모두 zip으로 나옵니다.