可能重复:gzipping一组目录并创建tar压缩文件
This post描述了如何在目录结构中单独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 系统上工作,他们可以这样做:
GNU
tar cvf - folderToCompress | gzip > compressFileName
要扩展存档:
zcat compressFileName | tar xvf -
3 回答
folderToCompress中的所有内容都将转到compressFileName
编辑:经过审核和评论后,我意识到人们可能会在没有扩展名的情况下与compressFileName混淆 . 如果需要,可以使用.tar.gz扩展名(如建议的那样)和compressFileName
有许多压缩方法可以递归地运行命令行,并且知道最终用户是谁 .
即如果它被发送给运行Windows的人,那么zip可能是最好的:
对于其他Linux用户或你的自我焦油是伟大的
人们必须小心使用焦油以及如何涂抹/提取物品,例如,如果我跑步
/家/名为myUsername
这将创建/ home / myusername / etc / passwd
不确定所有版本的tar是否都这样做:
@amitchhajer的帖子适用于GNU tar . 如果有人发现此帖并需要它在NON
GNU
系统上工作,他们可以这样做:要扩展存档: