[英]How to gzip all files in all sub-directories into one compressed file in bash
可能重復:
gzipping一組目錄並創建一個tar壓縮文件
這篇文章描述了如何在目錄結構中單獨gzip每個文件。 但是,我需要做一些稍微不同的事情。 我需要為某個目錄下的所有文件生成一個大的gzip文件。 我還需要能夠為壓縮文件指定輸出文件名(例如,files.gz)並覆蓋舊的壓縮文件文件(如果已經存在)。
tar -zcvf compressFileName.tar.gz folderToCompress
folderToCompress中的所有內容都將轉到compressFileName
編輯:經過審核和評論后,我意識到人們可能會在沒有擴展名的情況下與compressFileName混淆。 如果需要,可以使用.tar.gz擴展名(如建議的那樣)和compressFileName
有許多壓縮方法可以遞歸地運行命令行,並且知道最終用戶是誰。
即如果它被發送給運行Windows的人,那么zip可能是最好的:
zip -r file.zip folder_to_zip
unzip filenname.zip
對於其他Linux用戶或你的自我焦油是偉大的
tar -cvzf filename.tar.gz folder
tar -cvjf filename.tar.bz2 folder # even more compression
#change the -c to -x to above to extract
人們必須小心使用焦油以及如何塗抹/提取物品,例如,如果我跑步
cd ~
tar -cvzf passwd.tar.gz /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd
pwd
/家/名為myUsername
tar -xvzf passwd.tar.gz
這將創建/ home / myusername / etc / passwd
不確定所有版本的tar是否都這樣做:
Removing leading `/' from member names
@amitchhajer的帖子適用於GNU tar。 如果有人發現這篇文章並且需要它在NON GNU
系統上工作,他們可以這樣做:
tar cvf - folderToCompress | gzip > compressFileName
要擴展存檔:
zcat compressFileName | tar xvf -
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.