Linux如何安全有效地删除目录文件(linux删除目录文件)
Linux中的rmdir和rm命令分别用于删除空目录和非空目录文件。基本格式为:
rmdir:rmdir [选项] 目录
rm:rm [选项] 文件
例如:
删除工作目录下所有空子目录,可以使用如下命令:
[[email protected] work]# rmdir -p `ls | grep “\$”`
此命令将删除名称结尾带有空字符(“$”)的子目录。
如果要删除某个目录包含的文件,则需要先显式列出文件列表,然后再使用rm 命令,如:
rm -i 工作目录下的文件名
要注意的是,使用rm -i,在每个要删除的文件前,都会提示确认。
此外,想要完全删除目录及其所有内容,可以使用rm -ir 命令,如:
rm -ir 工作目录
此命令不仅会删除工作目录中的所有文件,还会把目录本身也删除掉。
如果删除的是大文件,可以使用rm -rf命令,它会启动特殊的快速删除模式,比 -ir更加有效率。
另外,使用 rm -f命令时需小心,因为它会把指定的文件/目录强制删除。它不会判断文件是否存在,也不会进行任何提示确认。
因此,安全有效的删除目录文件,最好采用如下一段代码:
# rm -ir 工作目录,先把目录和目录中的内容删除,再把目录自身删除
for filename in `ls 工作目录`
do
if [ -f “$filename” ]
then
rm -i $filename
elif [ -d “$filename” ]
then
rm -ir $filename
fi
done
rmdir 工作目录
运行此代码时,会先把列出的目录和目录中的文件/子目录逐个删除,最后再把工作目录自身删除。这样做可以安全有效,且不会弄乱目录结构。