在 Bash 中删除并重新创建文件夹

在 Bash 中删除并重新创建文件夹

每次下载文件时,我都会使用 hazel 程序来整理我的下载文件夹。我现在让它每周运行一个 shell 脚本,删除我的下载文件夹中的每个文件夹,然后重新创建它。

有没有更简单的方法来做到这一点(删除文件夹/重新创建文件夹),通过重新遍历我的下载文件夹中的每个文件夹并删除其内容?

cd ~/Downloads;
rm -rf Archives;
rm -rf DMGs;
rm -rf Documents;
rm -rf Fonts;
rm -rf Mail\ Attachments;
rm -rf Mobile\ Provisioning;
rm -rf Music;
rm -rf Photoshop;
rm -rf Pictures;
rm -rf Videos;

mkdir Archives;
mkdir DMGs;
mkdir Documents;
mkdir Archives;
mkdir Fonts;
mkdir Mobile\ Provisioning;
mkdir Mail\ Attachments;
mkdir Music;
mkdir Photoshop;
mkdir Pictures;
mkdir Videos;

答案1

怎么样:

cd ~/Downloads && rm -rf */*

或者我遗漏了什么?

注意:这不会删除顶层之下的隐藏文件/目录。

答案2

如果要删除文件但保留完整的文件夹结构,请使用

find . -type f -print -exec rm '{}' ';'

如果你只需要完整的顶层文件夹结构,rm -rf */*那么正如其他人所建议的那样

答案3

其实很简单,这样做就可以了:rm -rf */*

答案4

你也可以运行:

find ~/Downloads -type f -exec rm {} \;

这将删除该目录中的所有文件。

在实际运行之前替换rm {} \;ls -l {} \;,以在删除文件之前检查一切是否正常。

相关内容