rm [OPTION]... [FILE]...
!subtitle:功能
删除文件或目录。
!subtitle:类型
可执行文件(/usr/bin/rm),属于 coreutils。
!subtitle:参数
OPTION 选项:
-f, --force - 强制删除,不询问,忽略不存在的文件
-i - 删除每个文件前进行询问;同 --interactive=always
-I - 删除三个以上文件或递归删除前进行询问;同 --interactive=once
--interactive[=WHEN] - 何时进行询问;有效值:never, once, always
--one-file-system - 递归删除时跳过不同文件系统的目录
--no-preserve-root - 不保护 / 目录
--preserve-root[=all] - 保护 / 目录,并拒绝删除与其父目录不在同一设备的文件
-r, -R, --recursive - 递归删除目录
-d, --dir - 删除空目录
-v, --verbose - 打印详细信息
--help - 显示帮助
--version - 显示版本
- - 在所有选项之后,同 -i 选项
NAME=VALUE - 要设置的环境变量
COMMAND - 要执行的命令,如果为空则打印所有环境变量
ARG - 命令 COMMAND 的参数,在 shebang 行中需要使用 -S 选项
!subtitle:删除文件
$ rm file.txt # 删除单个文件
$ rm file1.txt file2.log file3.tmp # 删除多个文件
$ rm *.tmp # 使用通配符
!subtitle:删除目录
$ rm -d dir1 # 删除空目录
$ rm -r dir2 # 递归删除目录
$ rm -rf dir3 # 强制递归删除目录
!subtitle4:删除根目录(危险!)
$ rm -rf --no-preserve-root / # 危险!千万不要执行此命令!
RM(1) User Commands RM(1)
NAME
rm - remove files or directories
SYNOPSIS
rm [OPTION]... [FILE]...
DESCRIPTION
This manual page documents the GNU version of rm. rm removes each
specified file. By default, it does not remove directories.
If the -I or --interactive=once option is given, and there are more
than three files or the -r, -R, or --recursive are given, then rm
prompts the user for whether to proceed with the entire operation. If
the response is not affirmative, the entire command is aborted.
Otherwise, if a file is unwritable, standard input is a terminal, and
the -f or --force option is not given, or the -i or --interactive=al‐
ways option is given, rm prompts the user for whether to remove the
file. If the response is not affirmative, the file is skipped.
OPTIONS
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files and arguments, never prompt
-i prompt before every removal
-I prompt once before removing more than three files, or when re‐
moving recursively; less intrusive than -i, while still giving
protection against most mistakes
--interactive[=WHEN]
prompt according to WHEN: never, once (-I), or always (-i);
without WHEN, prompt always
--one-file-system
when removing a hierarchy recursively, skip any directory that
is on a file system different from that of the corresponding
command line argument
--no-preserve-root
do not treat '/' specially
--preserve-root[=all]
do not remove '/' (default); with 'all', reject any command line
argument on a separate device from its parent
-r, -R, --recursive
remove directories and their contents recursively
-d, --dir
remove empty directories
-v, --verbose
explain what is being done
--help display this help and exit
--version
output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it might be possible to re‐
cover some of its contents, given sufficient expertise and/or time.
For greater assurance that the contents are truly unrecoverable, con‐
sider using shred(1).
AUTHOR
Written by Paul Rubin, David MacKenzie, Richard M. Stallman, and Jim
Meyering.
REPORTING BUGS
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
COPYRIGHT
Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
unlink(1), unlink(2), chattr(1), shred(1)
Full documentation <https://www.gnu.org/software/coreutils/rm>
or available locally via: info '(coreutils) rm invocation'
GNU coreutils 9.4 April 2024 RM(1)