在linux系统中,删除所有文件的常用命令是rm,通过搭配不同的参数可以实现不同场景下的文件删除需求,操作前需要明确目标目录,避免误删系统重要文件。

基础删除所有文件的命令
如果要删除当前目录下的所有文件(不包含子目录),可以直接使用以下命令:
# 删除当前目录下所有非隐藏文件,会逐个询问是否删除 rm * # 强制删除当前目录下所有非隐藏文件,不需要确认 rm -f *
如果还需要删除当前目录下的所有隐藏文件(以.开头的文件),可以使用如下命令:
# 强制删除当前目录下所有文件,包含隐藏文件 rm -f * .*
删除目录及所有子文件的命令
如果需要删除某个目录下的所有文件以及子目录,需要搭配-r参数,该参数表示递归删除:
# 递归删除test目录下的所有文件和子目录,会逐个询问 rm -r test/ # 强制递归删除test目录下的所有内容,不需要确认 rm -rf test/
注意rm -rf是非常危险的命令,如果操作路径错误,比如写成rm -rf /,会直接删除系统根目录下的所有内容,导致系统崩溃,执行前一定要反复确认路径是否正确。
删除指定类型所有文件的命令
如果只需要删除某类后缀的所有文件,可以结合通配符实现:
# 删除当前目录下所有.txt后缀的文件 rm -f *.txt # 删除test目录下所有.log后缀的文件 rm -f test/*.log
排除特定文件删除所有文件的命令
如果需要删除目录下所有文件,但保留某几个指定文件,可以使用extglob扩展通配符:
# 先开启extglob扩展 shopt -s extglob # 删除当前目录下所有文件,排除file1.txt和file2.jpg rm -f !(file1.txt|file2.jpg)
操作注意事项
- 执行删除命令前,建议先用
ls命令查看目标目录下的文件,确认没有重要文件再执行删除操作。 - 不要随意在root权限下执行
rm -rf命令,尤其是路径包含根目录或者系统目录时。 - 如果误删了文件,普通rm命令删除的文件很难恢复,重要数据建议提前做好备份。
重要提醒:linux的rm命令删除文件后不会进入回收站,而是直接从文件系统中移除,操作前务必确认目标内容。