Gzip
如何撤消不正確的 gzip?
背景
我試圖以遞歸方式壓縮文件夾及其所有文件。我在腦海中嘗試了一個命令,這顯然是錯誤的。
結果是該文件夾及其所有子文件夾和文件仍然存在,但每個文件都已壓縮。
例如
`#Folder
- filename.php.gz
- file2.txt.gz #Subfolder -filename.php.gz` 等等
我實際上不確定是哪個命令導致了這種情況。我嘗試了一些,大多數都導致錯誤。但顯然其中一個“工作”但沒有做我想要的。
我懷疑這是導致問題的命令:
gzip -r ocloud/ ocloud.zip
問題
我會用什麼命令來扭轉這一點?即保留所有文件夾和文件,但解壓縮它們?
您應該能夠使用該
-d
選項:gzip -r -d ocloud/ ocloud.zip.gz
Antron 有最好的解決方案,但僅僅因為其他選項很不錯,當目錄是包含所有 gzip 文件的目錄時
gzip -r -d ocloud/ ocloud.zip.gz
,您也可以這樣做。gzip -d $(find directory)
只是為了澄清,find
遞歸列出在指定目錄中找到的所有文件。當您使用 時$(someCommand)
,someCommand
將執行,其輸出將替換$(someCommand)
. 所以實際上,你會做gzip -d file1 subdirectory/file2 subdirectory/subsubdirectory/file3
等等。此外,使用 gzip 壓縮目錄的正確方法是先將其轉換為未壓縮
tar -cvf tarball.tar directory
的 tarball,然後使用 .zip 壓縮 tarballgzip tarball.tar
。解壓時,你可以像gzip -d tarball.tar.gz
then一樣向後重複,tar -xvf tarball.tar
也可以讓 tar 為你做所有事情tar -xvf tarball.tar.gz
。