Dou*_*oug 191 linux bash shell gzip
可能重复:
gzipping一组目录并创建tar压缩文件
这篇文章描述了如何在目录结构中单独gzip每个文件.但是,我需要做一些稍微不同的事情.我需要为某个目录下的所有文件生成一个大的gzip文件.我还需要能够为压缩文件指定输出文件名(例如,files.gz)并覆盖旧的压缩文件文件(如果已经存在).
ami*_*jer 375
tar -zcvf compressFileName.tar.gz folderToCompress
Run Code Online (Sandbox Code Playgroud)
folderToCompress中的所有内容都将转到compressFileName
编辑:经过审核和评论后,我意识到人们可能会在没有扩展名的情况下与compressFileName混淆.如果需要,可以使用.tar.gz扩展名(如建议的那样)和compressFileName
Vin*_*yon 59
有许多压缩方法可以递归地运行命令行,并且知道最终用户是谁.
即如果它被发送给运行Windows的人,那么zip可能是最好的:
zip -r file.zip folder_to_zip
unzip filenname.zip
Run Code Online (Sandbox Code Playgroud)
对于其他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
Run Code Online (Sandbox Code Playgroud)
人们必须小心使用焦油以及如何涂抹/提取物品,例如,如果我跑步
cd ~
tar -cvzf passwd.tar.gz /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd
pwd
Run Code Online (Sandbox Code Playgroud)
/家/名为myUsername
tar -xvzf passwd.tar.gz
Run Code Online (Sandbox Code Playgroud)
这将创建/ home/myusername/etc/passwd
不确定所有版本的tar是否都这样做:
Removing leading `/' from member names
Run Code Online (Sandbox Code Playgroud)
Jer*_*her 18
@amitchhajer的帖子适用于GNU tar.如果有人发现此帖并需要它在NON GNU系统上工作,他们可以这样做:
tar cvf - folderToCompress | gzip > compressFileName
Run Code Online (Sandbox Code Playgroud)
要扩展存档:
zcat compressFileName | tar xvf -
Run Code Online (Sandbox Code Playgroud)