删除文件和目录 ======= 前面小节介绍了如何使用 `touch` 和 `mkdir` 创建文件和目录,本小节介绍如何删除文件和目录。 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` 删除文件或者目录时,一旦删除几乎不可能恢复,需要谨慎,避免造成不必要的损失。