📅  最后修改于: 2023-12-03 15:36:57.181000             🧑  作者: Mango
当我们需要在linux系统上删除除一个特定文件夹外的所有其他文件夹时,可以使用Shell命令来实现。下面是一个Shell脚本,它可以实现这个需求。
#!/bin/bash
#定义要保留的目录名称
KEEP_DIR="/path/to/keep/directory"
#获取当前目录
CURRENT_DIR="$(pwd)"
#增加对KEEP_DIR目录的保护
if [ "$CURRENT_DIR" == "$KEEP_DIR" ]; then
echo "当前目录为保留目录,不删除任何文件夹"
exit 1
fi
#删除当前目录下除了要保留的目录以外的其他所有目录
ls -d */ | grep -v "$KEEP_DIR" | xargs rm -rf
echo "所有目录删除成功!"
这个脚本首先定义了要保留的目录的名称,然后获取当前目录名称并对要保留的目录进行了保护。接下来,通过ls
命令列出所有目录并使用grep
命令来过滤要保留的目录,并使用xargs
和rm
命令来删除除保留目录以外的其他所有目录。最后输出删除成功的提示信息。
这个脚本可以通过bash
命令来执行,也可以将其添加到crontab
等定时任务中。
以上就是一个简单的Shell脚本来删除除一个特定文件夹外的所有其他文件夹的方法。