是否以递归方式压缩某些目录,而不使用单个命令压缩其他目录?

是否以递归方式压缩某些目录,而不使用单个命令压缩其他目录?

我想用一条命令备份我的 OSX 计算机上的多个文件夹和文件。问题在于根目录。

基本上,我想压缩 - 我主目录根目录中的所有文件(〜)但是不是递归-递归获取 ~/Documents、~/Music、~/Pictures 的内容

基本上:我如何告诉 zip 对某些目录使用 -r 而不对其他目录使用 -r,或者还有其他方法吗?我不想使用 tar(我想要一个加密的存档),并且不想安装其他工具,例如 7zip。

答案1

-@告诉 zip 从 stdin 读取要存档的文件列表。您可以使用该find命令列出所需的文件并将它们通过管道传输到 zip。

例如,在你的主目录中执行:

( find . -type f -maxdepth 1 ; find Documents ) | zip backup.zip -@

第一个 find 列出当前目录中的顶级文件,第二个 find 列出文件递归地。

相关内容