rm 是 Linux 系统中用于删除文件和目录的命令。它功能强大,但也非常危险,因为它没有回收站的概念,一旦删除就无法轻易恢复。

1、命令简介

rm:删除文件或目录。

2、命令语法

rm [OPTION]... FILE...

3、命令描述

rm 命令会删除每个指定的文件。默认情况下,它不会删除目录。

如果使用了 -I --interactive=once 选项,并且有超过三个文件或者使用了 -r-R--recursive 选项,那么 rm 会提示用户是否继续执行整个操作。如果用户的回答是否定的,则整个命令会被中止。

否则,如果一个文件不可写入、标准输入是终端且没有使用 -f--force 选项,或者使用了 -i 或 --interactive=always 选项,rm 会提示用户是否删除该文件。如果用户的回答是否定的,该文件将被跳过。

4、命令选项

选项

描述

-f, --force

忽略不存在的文件,从不提示。

-i

在每次删除前提示确认。

-I

在删除超过三个文件或递归删除时只提示一次。

比 -i 更少干扰,但仍然提供对大多数错误的保护。

--interactive[=WHEN]

根据 WHEN 提示:

从不提示、提示一次(-I),或总是提示(-i)。

如果不指定 WHEN,则总是提示。

--one-file-system

递归删除层次结构时,

跳过与相应命令行参数所在文件系统

不同的任何目录。

--no-preserve-root

不要特别对待根目录/

--preserve-root

不删除根目录 /(默认)。

-r, -R, --recursive

递归删除目录及其内容。

-v, --verbose

解释正在执行的操作。

--help

显示此帮助信息并退出。

--version

输出版本信息并退出。

5、使用示例

1)删除单个文件

如果文件是写保护的,系统会提示你确认是否真的要删除它

rm myfile.txt

2)强制删除文件

即使文件是写保护的,也不会提示你确认;如果 rm 能删除文件,它将直接删除

rm -f myfile.txt

3)删除工作目录中的所有文件

如果文件是写保护的,rm 在删除它之前会提示你确认

rm *

4)删除工作目录中的所有文件

rm 在删除它们之前不会出于任何原因提示你确认

rm -f *

5)尝试删除工作目录中的每个文件

在删除每个文件之前都会提示你确认

rm -i *

6)删除工作目录中的每个文件

如果删除的文件超过三个,会提示确认

rm -I *

7)删除目录 mydirectory 及其包含的任何文件和目录

如果 rm 尝试删除的文件或目录是写保护的,系统会提示你确认是否真的要删除它:

rm -r mydirectory

与上述命令相同,但不会提示确认;如果 rm 能删除文件,它将直接删除:

rm -rf mydirectory

推荐文档