배경
폴더와 해당 파일을 모두 재귀적으로 압축하려고 합니다. 머리 속으로 명령을 시도했는데 분명히 잘못된 것이었습니다.
결과적으로 폴더와 모든 하위 폴더 및 파일은 여전히 존재하지만 각 파일은 gzip으로 압축됩니다.
예를 들어
#Folder - filename.php.gz - file2.txt.gz #Subfolder -filename.php.gz
등.
실제로 어떤 명령이 이 문제를 일으키는지 잘 모르겠습니다. 몇 가지를 시도했는데 대부분 오류가 발생했습니다. 그러나 분명히 그들 중 하나는 "작동"하지만 내가 원하는 효과는 없습니다.
나는 이것이 문제를 일으키는 명령이라고 생각합니다.gzip -r ocloud/ ocloud.zip
질문
이 상황을 되돌리려면 어떤 명령을 사용해야 합니까? 즉, 모든 폴더와 파일을 보관하고 압축을 해제하시겠습니까?
답변1
다음 옵션을 사용할 수 있어야 합니다 -d
.
gzip -r -d ocloud/ ocloud.zip.gz
답변2
Antron은 최상의 솔루션을 제공 gzip -r -d ocloud/ ocloud.zip.gz
하지만 다른 옵션도 좋기 때문에 gzip -d $(find directory)
디렉토리가 모든 gzip 압축 파일을 포함하는 디렉토리인 경우에도 이 작업을 수행할 수 있습니다. 명확히 하기 위해 find
지정된 디렉터리에 있는 모든 파일을 반복적으로 나열합니다. 를 사용하면 $(someCommand)
실행 someCommand
되고 출력이 대체됩니다 $(someCommand)
. 그래서 실제로는 그렇게 할 것입니다 gzip -d file1 subdirectory/file2 subdirectory/subsubdirectory/file3
.
또한 gzip을 사용하여 디렉토리를 압축하는 올바른 방법은 먼저 디렉토리를 압축되지 않은 tarball로 변환한 tar -cvf tarball.tar directory
다음 압축된 tarball을 사용하는 것입니다 gzip tarball.tar
. 압축을 풀 때는 gzip -d tarball.tar.gz
그때처럼 거꾸로 반복 해도 되고 tar -xvf tarball.tar
, tar를 사용해서 다 하셔도 됩니다 tar -xvf tarball.tar.gz
.