Linux/UNIX:如何清空目录
时间:2020-01-09 10:40:11 来源:igfitidea点击:
如何在Linux/Unix下清空目录(删除所有文件)而不删除目录本身?
您可以使用以下命令在类似Linux和Unix的系统中清空目录。
如何在Linux和Unix中清空目录
- rm命令删除一个或多个文件或目录。
- find命令查找并删除特定目录中的所有文件。
使用rm命令的Linux空目录
首先,考虑使用tree命令显示的以下目录结构
/tmp/ | |------foo/ |---file1 |---file2 |---file3
要删除/tmp/foo /目录中的所有文件(即空的/tmp/foo /目录),请执行:
$ cd /tmp/foo/ $ rm *
或者
$ rm /tmp/foo/*
使用Find命令删除所有文件
考虑以下目录结构:
/tmp/ | |------bar/ | |---file1.txt |---file2.txt | |---subdir1/ | |---file1.doc | |---file2.doc | |---subdir2/ |---image1.jpg |---image2.png
要删除/tmp/bar /目录中的所有文件(包括子目录中的所有文件,如/tmp/bar/dir1),请执行:
$ cd /tmp/bar/ $ find . -type f -delete
或者
$ find /tmp/bar/ -type f -delete
上面的find命令将从/tmp/bar /目录中删除所有文件。
它不会删除任何子目录。
要同时删除文件和目录,请尝试:
find /path/to/target/dir/ -delete
查找命令选项如下:
- ``-type f`:仅删除文件。
- ``-d型:仅删除文件夹。
- ``-delete`:从给定目录名称中删除所有文件。
如何在Linux中删除完整目录和所有文件
要删除包含其他文件或子目录的目录,请使用以下rm命令命令。
在示例中,我将使用rm -rf命令将空目录命名为docs,如下所示:
rm -rf /tmp/docs/*
获取详细的输出:
rm -rfv /tmp/docs/*
rm命令选项如下:
- -r:在Linux或类似Unix的系统上递归删除目录及其内容。
- -f:强制删除。换句话说,请忽略不存在的文件并删除找到的任何文件。
- -v:详细输出。例如,解释屏幕上正在执行的操作。