当前位置: 首页 > 知识库问答 >
问题:

如何在bash中将所有子目录中的所有文件gzip到一个压缩文件中

裴俊能
2023-03-14

可能重复:
gzip一组目录并创建tar压缩文件

这篇文章描述了如何在一个目录结构中分别gzip每个文件。然而,我需要做一些稍微不同的事情。我需要为某个目录下的所有文件生成一个大的gzip文件。我还需要能够为压缩文件(例如files.gz)指定输出文件名,并覆盖旧的压缩文件(如果已经存在)。

共有3个答案

容学林
2023-03-14

@amitchhajer的帖子适用于GNU tar。如果有人找到这篇文章并需要它在NONGNU系统上工作,他们可以这样做:

tar cvf - folderToCompress | gzip > compressFileName

要扩展存档,请执行以下操作:

zcat compressFileName | tar xvf -
笪健
2023-03-14

有很多递归命令行工作的压缩方法,了解最终受众是谁是件好事。

也就是说,如果它要发送给运行windows的人,那么zip可能是最好的:

zip -r file.zip folder_to_zip

unzip filenname.zip

对于其他linux用户或您自己来说,tar非常好

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

/主页/我的用户名

tar -xvzf passwd.tar.gz

这将创建/home/myusername/etc/passwd

不确定所有版本的tar是否都这样做:

 Removing leading `/' from member names
郑星雨
2023-03-14
tar -zcvf compressFileName.tar.gz folderToCompress

folderToCompress中的所有内容都将转到compressFileName

编辑:经过审查和评论,我意识到人们可能会混淆没有扩展名的压缩文件名。如果你愿意,你可以使用.tar.gz扩展名(如建议的)

 类似资料:
  • 问题内容: 我想在当前位置的子目录之间进行迭代,并分别gzip每个文件。为了在目录中压缩文件,我使用 但这仅适用于当前目录,而不适用于当前目录的子目录。如何重写以上语句,以便也将所有子目录中的文件压缩? 问题答案: 不需要循环或除和以外的任何东西: 这将查找当前目录中及其下所有名称不以扩展名结尾的常规文件(即,所有尚未压缩的文件)。它分别在每个文件上调用。 编辑的基础上,从评论: 花括号()替换为

  • 我是Bash新手,正在尝试压缩子文件夹,但它不起作用。 在命令之后 脚本: 我该怎么做?

  • 问题内容: 我有一个ZIP文件目录(在Windows计算机上创建)。我可以使用手动解压缩它们,但是如何通过外壳解压缩当前文件夹中的所有ZIP文件呢? 使用Ubuntu Linux服务器。 问题答案: 根据以下链接,这可以在bash中运行: 解压缩\ *。zip

  • 问题内容: 我想将tar及其目录中的所有.php和.html文件及其子目录。如果我用 它将所有文件焦油化,这是我不需要的。如果我用 它忽略子目录。如何递归使它成为tar但仅包含两种类型的文件? 问题答案:

  • 本文向大家介绍Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法,包括了Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python3程序设计有所帮助。

  • 有没有一种方法可以使用VS代码在一个目录中的所有文件中搜索文本?