压缩目录中所有文件夹的命令是什么

压缩目录中所有文件夹的命令是什么

我的目录中有几个文件夹,我想单独压缩它们。

Root
    -folder1
    -folder2

进入:

Root
    -folder1.zip
    -folder2.zip
    -folder1
    -folder2

实现这一目标的命令是什么?

答案1

dir_name=$(find /root/* -maxdepth 0 -type d)
for i in $dir_name; do zip -r $i $i; done

答案2

你使用 bash 来做到这一点吗?如果你这样做了,你可以使用 : zip -r /root/folder1.zip /root/folder1/; zip -r /root/folder2.zip /root/folder2/

答案3

从准确找到所有文件夹的命令开始。修改 with 语句以过滤掉不需要的目录(例如__pycache__


ROOT_DIR="./Root"
(olddir=$PWD; cd "$ROOT_DIR"; for foldername in $(ls -1); do [ -d "$foldername" ] && echo "$foldername"; done; cd $olddir)

然后用您最喜欢的归档命令(zip、tar 等)替换“echo”语句。记住用双引号变量来支持目录名称中的空格。

上述的优点是您可以获得带./前缀的“干净”文件夹名称,因此您可以将它们用作存档名称。

相关内容