답변:
나는 이것을 시도하지 않았지만 , zipfile
버전 1.6부터 파이썬의 표준 라이브러리에 모듈이 있으며 버전 2.6부터 extractall
메소드 가 있었다
다음과 같은 작업을 수행 할 수 있어야 합니다.
그리고에 추출 test.zip
합니다 /home/user/directory
.
import zipfile
with zipfile.ZipFile('test.zip', "r") as z:
z.extractall("/home/user/directory")
출처 : https://stackoverflow.com/a/9432315/167299
또는 BusyBox 에는 압축 해제 "모듈"이 포함되어 있으며 정적으로 링크 된 BusyBox를 다운로드하여 실행할 수 있으면이를 사용하여 압축을 풀 수 있습니다.
python -m zipfile -e monty.zip target-dir/
( docs.python.org/2/library/zipfile.html#command-line-interface 참조 )
이 경우 java
설치는 jar
명령은 압축 파일을 압축을 해제 할 수 있습니다 :
jar xvf file.zip
루트 액세스없이 java를 설치할 수 있습니다. http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html
BSD / 맥 OSX
Mac 및 BSD 파생물과 함께 제공되는 tar 유틸리티는 tar 명령에서 zip 아카이브 추출을 지원합니다.
tar -xvf foo.zip
tar --version
bsdtar 2.8.3 - libarchive 2.8.3
데비안 / RHEL
Ubuntu 및 기타와 함께 제공되는 tar 아카이브는 zip 파일 추출을 지원하지 않습니다. 가장 좋은 옵션은 zip이 설치된 머신으로 파일을 scp하는 것입니다.
tar -xvf foo.zip
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
연기 테스트
echo "the quick brown fox jumped over the lazy dog" > bar.txt
zip -r bar.zip bar.txt
rm bar.txt
tar -xvf bar.txt
cat bar.txt
the quick brown fox jumped over the lazy dog
최신 정보
tar -xvf는 bsd OS에서만 작동한다는 것을 명확히하기 위해 답을 다시 작성했습니다. 좋은 정보이지만이 시나리오에서는 작동하지 않습니다.
tar
zip 파일을 처리하는 기능은 Ubuntu tar (즉, GNU tar)가 제공하지 않는 확장명입니다. -z
압축 파일이 아닌 압축 파일 용입니다 (최근 확장자가 아닌 한).
파일이없는 시스템에서 파일을 압축 해제하는 다른 방법이 없다고 생각 unzip
하지만 파일을 다른 Linux 시스템 (unzip이 설치되어 있거나 루트 액세스 가능)으로 보내고 파일을 압축 해제 한 다음 필요한 경우 압축을 풀 수 있습니다 파일을 원래 서버로 다시 보냅니다.
한 서버에서 다른 서버로 파일을 보내는 명령은 scp
입니다. 파일을 전송하는 구문은 다음과 같습니다.
scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.zip user@server.example.com:2222/home/user/
도움이 되었기를 바랍니다!
서버에 Gnome이 실행중인 경우 아카이브 유틸리티를 사용하십시오.
tar -x