在 bash 中删除和重新创建文件夹

max*_*ax_ 3 terminal bash

每次下载文件时,我都会使用程序榛子来整理我的下载文件夹。我现在告诉它每周运行一个 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;
Run Code Online (Sandbox Code Playgroud)

小智 9

如果要在保持完整文件夹结构不变的情况下删除文件,请使用

find . -type f -print -exec rm '{}' ';'
Run Code Online (Sandbox Code Playgroud)

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

  • Find 还包括仅删除符合特定条件的文件的功能,因此它比 rm 更灵活。 (2认同)

qbe*_*220 6

怎么样:

cd ~/Downloads && rm -rf */*
Run Code Online (Sandbox Code Playgroud)

或者我错过了什么?

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

  • 以上不会删除文件夹 - 它会删除文件夹的内容。 (3认同)