如何使用7z归档目录中的所有文件和目录(包括隐藏的文件和目录)?

伊万

由于我的存档需求的具体情况,我对tar.gz可靠的存档不满意,而改用7z。

我使用以下命令执行此操作:

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/*

创建所有内容的档案~/my/folder/作为~/my/folder.7z文件。

但是~/my/folder/.hiddenFolder那时候就不进入存档了。如何解决这个问题?*应该返回所有文件和文件夹吗?

吉勒斯“别再邪恶了”

如果要单个目录的内容,一个简单的方法是先将其更改为:

cd ~/my/folder
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z .

您所看到的是,该操作*扩展到不以开头的文件的名称列表.这是记录在案的行为,这是为什么名称以a开头的文件.被认为是隐藏的(主要原因ls默认情况下不显示它们)。

没有一种真正方便的便携式方法来列出目录中的所有文件。您可以使用

~/my/folder/..?* ~/my/folder/.[!.]* ~/my/folder/*

但是如果没有文件与其中一种模式匹配,则该模式将保持未扩展状态。在bash中,您可以设置dotglob选项以避免.特别处理前导.并且..仍然被排除在比赛之外):

shopt -s dotglob
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/*

在ksh或bash中,如果您设置了extglob选项(或在zsh中,如果您设置了ksh_glob选项),则可以编写一个与所有文件匹配的模式,除了...

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/@(..?*|.[!.]*|*)

在zsh中,有一种更简单的说法,即.不能在模式中对其进行特殊处理:

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/*(D)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

设置 cron 作业以使用 tar 归档目录及其所有子目录,包括隐藏文件

如何重命名(取消隐藏)目录中的所有文件和子目录?

如何使用vim打开当前目录和所有子目录中的所有文件?

如何建立目录中所有文件的索引,包括子目录和ZIP文件的内容?

如何递归列出所有隐藏的文件和目录?

为当前目录中的每个目录创建单独的7z归档文件,并通过GNU Parallel进行并行化

如何删除Bash中的所有文件和子目录(包括边缘情况)

如何通过*将所有文件(包括隐藏文件)移动到父目录中

如何使用cp复制以包括隐藏文件和隐藏目录及其内容?

如何使用#ifdef和#endif注释掉目录和子目录中所有文件中的垂直线?

交互式查找和替换所有文件,包括使用 Vim 的子目录中的文件

查找仅包含隐藏文件和/或隐藏目录的所有目录

如何在Windows中的目录和子目录中查找所有头文件

通过首先归档目录中的所有单个文件来创建目录的归档 (Python)

遍历linux / android中目录中的所有文件(包括以'。'开头的文件-隐藏文件)

如何在Julia的目录中列出所有文件和目录?

如何在php中列出目录,子目录和所有文件

如何使用Shell脚本备份目录和文件,包括所有子目录和文件?

使用rsync排除所有隐藏的文件和目录以及其他文件

使用bash terminal命令打开目录和子目录中的所有文件?

如何仅查找和复制主目录下的前100个.jpg文件,包括其中的所有子目录?

如何使用通过FTP的骆驼路由将所有文件从目录(包括子目录)移动到特定目录,而目标中没有子目录?

使用Dropbox Python API将目录上载到包括所有文件和子目录的Dropbox时出错

如何在不删除bash目录的情况下删除目录中的所有文件和子目录?

隐藏的文件和目录警告

如何使用 Python 复制和重命名目录中的所有文件?

如何下载包含在线文件/文件夹列表中的所有文件和子目录的HTTP目录?

如何触摸目录中的所有内容,包括隐藏目录(如目录上的..)?

搜索和重命名和MV所有目录和子目录中的文件