내가 사용하는 파일 6 건 (전체 크기 = 2GB) 압축 gzip -c myfiles_* > ~/myzip.gzip
서버 A에와 지금은 파일 이름이 지정되어있을 가능성 배운 서버 B에이 서버를 복사 할 내 친구가 있는데 .gz
그래서 사용하여 파일을 이름 mv
. 서버 B의 파일 크기 .gzip
가 서버 A 의 원본 파일 크기와 동일한 지 확인 했습니다. 그런 다음 나는 달렸다 gunzip myzip.gz
.
결과는 내 파일을 포함하는 폴더가 아니라 myfiles
확장명이없는 단일 파일 입니다. 파일 크기는 초기 파일과 크기가 같으므로 모든 파일이이 단일 파일로 컴파일되었습니다. 이 단일 파일에서 파일을 다시 추출하려면 어떻게합니까?
아시다시피, 저는 여전히 리눅스를 처음 접합니다.
답변
나는 6 개의 파일 (총 크기 = 2gb)을 사용하여 압축하여
gzip -c myfiles_* >
친구 가이 서버를 다른 서버에 복사하도록했습니다. 이제 아카이브의 이름을 지정해야한다는 것을 알았으므로을
~/myzip.gzip.gz
사용하여 파일 이름을 바꿨습니다mv
. 그런 다음 나는 달렸다gunzip myzip.gz
.
당신이보고있는 결과는 정확히 당신이 만든 것입니다. GZip은 압축시 디렉토리 구조를 유지하지 않습니다. 파일 / 데이터 만 압축합니다. 따라서이 명령을 실행할 때 :
gzip -c myfiles_* > ~/myzip.gzip
모든 GZip은 찾은 모든 파일 myfiles_*
을 하나의 큰 얼룩으로 연결하고 압축했습니다 ~/myzip.gzip
. 파일 확장명이 잘못되었다는 사실은 파일의 이름을 바꾸는 것만으로도 문제를 해결할 수 있지만 기본 아카이브는 여전히 하나의 큰 파일 덩어리입니다.
지금 복구하는 방법은? 문제가 초기 GZip 논리에 있었기 때문에 확신 할 수 없습니다. 내가 지금 당신에게 줄 유일한 권장 사항은 정사각형으로 시작하여 이와 같은 TAR / GZipped 아카이브를 만드는 것입니다.
TAR / GZipped 파일 작성
먼저이 TAR 명령을 실행하십시오.
tar -cf myzip.tar myfiles_*
그러면 myzip.tar
패턴을 사용하여 시스템에서 찾은 파일로 구성된 새 TAR 아카이브가 작성 됩니다 myfiles_*
.
이제 완료되면 다음과 같이 해당 TAR 아카이브를 GZip 할 수 있습니다.
gzip myzip.tar
이것은 Mac OS X 에서이 작업을 처리하는 프로세스이지만 대부분의 Linux 시스템에서 사용하는 GNU 버전의 TAR을 사용하는 경우이 명령을 실행하여 두 단계를 하나로 통합 할 수 있습니다.
tar -cfz myzip.tar.gz
z
옵션 이 추가 되었습니까? 이것은 TAR에게 아카이브를 만들 때 GZip에게 아카이브를 지시합니다.
TAR / GZipped 파일의 압축 해제 및 아카이브 해제
완료되면이라는 이름의 새 아카이브가 생성됩니다 myzip.tar.gz
. 필요한 곳으로 옮기고 다음과 같이 TAR 명령을 사용하여 압축을 푸십시오.
tar -xf myzip.tar.gz
TAR은 오늘날 아카이브 프로세스의 일부로 GZip 압축을 감지 할만큼 충분히 똑똑하므로 TAR 아카이브를 압축 해제 한 다음 해당 TAR 아카이브의 컨텐츠를 다시 추출하여 소스와 관계없이 파일 및 디렉토리 구조와 정확히 일치시킵니다. 로 시작하십시오.