400mb 파일을 웹 서버에 업로드해야하지만 200mb 업로드로 제한됩니다. 호스트는 Linux에서 한 번도 해본 적이없는 스팬 아카이브를 사용하도록 제안했습니다.
나는, 자신의 폴더에 테스트를 생성으로 PDF를 압축하는 test.zip.001
, .002
하고 .003
. 압축을 풀려면 어떻게해야합니까? 먼저 가입해야합니까?
ZIP 형식을 사용하는 것처럼 7z를 사용하는 것만 큼 행복합니다. 이것이 결과에 영향을 미치는 경우.
400mb 파일을 웹 서버에 업로드해야하지만 200mb 업로드로 제한됩니다. 호스트는 Linux에서 한 번도 해본 적이없는 스팬 아카이브를 사용하도록 제안했습니다.
나는, 자신의 폴더에 테스트를 생성으로 PDF를 압축하는 test.zip.001
, .002
하고 .003
. 압축을 풀려면 어떻게해야합니까? 먼저 가입해야합니까?
ZIP 형식을 사용하는 것처럼 7z를 사용하는 것만 큼 행복합니다. 이것이 결과에 영향을 미치는 경우.
답변:
먼저 가입해야합니다. cat
아래 예제 와 같이 일반적인 Linux 앱을 사용할 수 있습니다 .
cat test.zip* > ~/test.zip
이것은 당신의 모든 연결할 것 test.zip.001
, test.zip.002
하나 더, test.zip 파일로 등 파일을. 단일 파일이 있으면 다음을 실행할 수 있습니다.unzip test.zip
"Linux에서 zip 아카이브를 생성, 분할, 결합 및 추출하는 방법" 이 도움이 될 수 있습니다.
x*
파일 이름 이라고 가정 합니까? 그리고 ~/hugefile
디렉토리입니까? 물결표 기호의 목적은 무엇입니까? 내가 가장 기본적인 질문이라고 생각하는 것이 유감입니다.
TEST.zip.001
, TEST.zip.002
및 TEST.zip.003
분할이 매우 다르다하는 것을 의미한다. VMWare에서 리눅스를 던지고 여기에 파일을 만드는 것이 더 쉬울 것 같았습니다. 적어도 나는 1 개의 OS 만 다루고 있습니다. 모든 파일 형식에서 SPLIT 명령을 사용할 수 있습니까? 이미지, 오디오 영화 등?
7za x archive
아카이브에 디렉토리 구조가 포함되어 있으면 더 좋습니다.
Linux unzip
유틸리티는 실제로 멀티 파트 zip을 지원하지 않습니다. 로부터 수동 :
zip과 함께 제외하고 다중 파트 아카이브는 아직 지원되지 않습니다. (모든 부품은 순서대로 함께 연결 한 다음 연결된 아카이브에서 (
zip -F
zip 2.x의 경우) 또는zip -FF
(zip 3.x의 경우) 압축을 수행하여이를 수정해야합니다. 또한 zip 3.0 이상을 결합 할 수 있습니다. 을 사용하여 멀티 파트 (분할) 아카이브를 결합 된 단일 파일 아카이브로zip -s- inarchive -O outarchive
만듭니다 (자세한 내용은 zip 3 매뉴얼 페이지 를 참조하십시오).
따라서 먼저 조각을 연결 한 다음 결과를 복구해야합니다. 와일드 카드 가 임의의 문자 시퀀스를 나타내는 곳 cat test.zip.*
이라는 모든 파일을 연결합니다 . 파일은 사전 식 순서로 열거되며 선행 0으로 인해 숫자 순서와 동일합니다. 출력을 파일로 보냅니다 .test.zip.*
*
>test.zip
test.zip
cat test.zip.* >test.zip
zip -FF test.zip --out test-full.zip
unzip test-full.zip
공식 Pkzip 유틸리티를 사용하여 멀티 파트 zip을 생성하는 것과 달리 zip 파일을 직접 분할하여 피스를 생성 한 경우 파트를 결합하면됩니다.
cat test.zip.* >test.zip
unzip test.zip
FF
내가 지적하면 접근 방식은 일 zip
없는 최초의 멀티 파트 파일에 cat
필요합니다.
zip -FF
.
7z x archive.zip.001
나머지를 자동으로 찾습니다.
https://superuser.com/a/517758/10264 에서 답을 찾았습니다.
이 답변은 Gilles 와 개념이 비슷합니다. 먼저 split 아카이브를 split을 사용하여 일반 아카이브로 결합한 다음 unzip을 사용하여 압축을 풉니 다.
차이점은 -FF
저에게 효과적이지 않은 플래그 를 사용하는 대신 분할하지 않고 분할 파일을 다시 압축하도록 zip에 지시한다는 것입니다. 그것이 -s 0
깃발의 의미입니다.
먼저 분할 아카이브를 단일 아카이브로 결합하십시오.
zip -s 0 split-foo.zip --out unsplit-foo.zip
그런 다음 unzip을 사용하여 단일 아카이브를 추출하십시오.
unzip unsplit-foo.zip
또 다른 예입니다. 이것은 3GB oracle 설치 프로그램을 분할하기 위해 bash에서 나를 위해 일했습니다.
echo "<installOracleDB.sh>: Splitting OracleDB installer"
zip /tmp/linuxx64_12201_database.zip --out /tmp/linuxx64_12201_oradb.zip -s 1000m
echo "<installOracleDB.sh>: Merging OracleDB installer"
zip -FF /tmp/linuxx64_12201_oradb.zip --out /tmp/linuxx64_12201_database.zip
echo "<installOracleDB.sh>: Removing temporary files OracleDB installer"
find /tmp -type f -name 'linuxx64_12201_oradb*' -exec rm {} +
echo "<installOracleDB.sh>: Unizipping OracleDB installer"
unzip /tmp/linuxx64_12201_database.zip
unar 명령 줄 도구는 다음과 같이 분할 된 파일을 포함하여 압축 해제, unRar, un7zip, unTar 등을 수행 할 수 있다고 언급 할 가치가 있다고 생각합니다.
unar first_file