删除文件和目录

前面小节介绍了如何使用 touchmkdir 创建文件和目录,本小节介绍如何删除文件和目录。

1. 删除文件

使用 rm 文件名 命令可以删除文件,以删除普通文件为例:

ls -l  # 列出当前目录下的所有文件
 
rm test.c  # 使用 rm 命令删除 test.c 文件

ls -l # 再次查看当前目录下的所有文件

执行结果如下图:

图片描述

可以看到 test.c 文件已经被删除了。

2. 强制删除文件

直接使用 rm 命令删除文件的话会提示你一次是否确定删除文件。使用 rm -f 可以不需要提示强制删除文件,以删除普通文件为例:

ls -l # 列出当前目录下的所有文件

rm -f a.out # 加上 -f 参数强制删除 a.out 文件

ls

执行结果如下图:

图片描述

Tips:实际业务中尽量不要使用 -f 删除文件,使用这种方式删除几乎不能恢复,所以删除文件时需要谨慎。

3. 递归删除目录和子目录下所有文件

有时候需要删除多层目录以及目录下的文件,可以使用 rm -r 递归删除,以删除 /home/data 目录为例:

ls -l # 列出当前目录下的所有文件

cd /home/data # 进入 /home/data 目录

ls -l  # 列出当前目录下的所有文件

cd .. # 返回上一级目录

rm -rf data/ # 递归删除 data/ 目录下所有文件

ls

执行结果如下:

图片描述

4. rm 删除命令参数介绍

可以使用 rm --help 命令来查看 rm 相关的参数介绍:

rm --help

执行结果如下图:

图片描述

下面列举出 rm 常见的参数和描述,仅供参考:

rm 命令参数名称 功能与作用描述
-f 表示 --force,忽略不存在的文件和参数,不提示任何信息,强制删除。
-i 进行任何删除操作前必须先确认。
-r/-R 表示 --recursive,递归删除该目录下的所有目录层。
-d 表示 --dir,删除可能包含有数据的目录。

5. 小结

本小节介绍了如何使用 rm 删除文件,介绍了如何使用 -f 参数强制删除文件,使用 -rf 递归强制删除目录和目录下所有目录层,需要注意的是在使用 rm -f 删除文件或者目录时,一旦删除几乎不可能恢复,需要谨慎,避免造成不必要的损失。