如何从命令行删除多个目录中的多个文件夹

如何从命令行删除多个目录中的多个文件夹

我想为我的 Ubuntu 用户编写一个脚本,以便一次性从不同目录中删除多个文件。我想在 cron 作业上运行它,以便它自动执行。例如。(我想删除桌面、下载、文档等目录下的文件)。我不想删除隐藏文件。我只想从几个目录中删除。

任何帮助都将不胜感激

答案1

我会findbash括号扩展如下:

find /home/{user1,user2}/{Desktop,Downloads,Documents}/ -mindepth 1 ! -name ".*"

! -name ".*"这将查找指定目录 ( ) 下的每个非隐藏 ( ) 文件和目录-mindepth 1。如果要删除匹配的文件,只需将该-delete选项添加到命令行末尾即可。

如果需要使用不带括号扩展功能的 shell,只需列出要清空的目录:

find /home/user1/Desktop/ /home/user1/Downloads/ /home/user2/Desktop/ /home/user2/Documents/ -mindepth 1 ! -name ".*"

相关内容