Linux rm命令介绍
rm命令是Linux系统中用来删除文件或目录的命令,它的全称是remove。rm命令可以删除一个或多个文件或目录,也可以使用通配符来删除符合条件的文件或目录。rm命令删除的文件或目录默认不会放入回收站,而是直接从磁盘上删除,所以使用rm命令时要谨慎,避免误删重要的数据。
适用的Linux版本
rm命令是Linux系统中的基本命令,几乎所有的Linux发行版都支持rm命令。如果某些Linux版本没有安装rm命令,可以使用以下命令来安装:
# Debian/Ubuntu
sudo apt install coreutils
# CentOS/RedHat
sudo yum install coreutils
# Fedora
sudo dnf install coreutils
Linux rm命令的基本用法
rm命令的语法格式如下:
rm [选项] 文件或目录...
其中,[选项]是可选的,用来指定删除的方式或条件;文件或目录是要删除的对象,可以是一个或多个,也可以使用通配符。
Linux rm命令的常用选项说明
rm命令有很多选项,以下是一些常用的选项:
-f, --force:强制删除,忽略不存在的文件或目录,不提示确认。
-i, --interactive:交互式删除,在每次删除前提示确认。
-r, -R, --recursive:递归删除,删除指定的目录及其所有子目录和文件。
-v, --verbose:显示详细的删除信息。
–help:显示帮助信息。
–version:显示版本信息。
Linux rm命令的实例
以下是一些使用rm命令的实例:
删除一个文件:
# 删除文件file.txt
[root@localhost opt]# rm file.txt
rm: 是否删除 一般文件 "file.txt"? y
删除多个文件:
# 删除文件file1.txt和file2.txt
[root@localhost opt]# rm file1.txt file2.txt
rm: 是否删除 一般文件 "file1.txt"? y
rm: 是否删除 一般文件 "file2.txt"? y
# 删除以.txt为后缀的所有文件
[root@localhost opt]# rm *.txt
rm: 是否删除 一般文件 "file1.txt"? y
rm: 是否删除 一般文件 "file2.txt"? y
...
删除一个目录:
# 删除目录dir1
[root@localhost opt]# rm dir1
rm: 无法删除目录"dir1": 是一个目录
# 删除目录则必须配合选项"-r"
[root@localhost opt]# rm -r dir1
rm: 是否删除 目录 "dir1"? y
# 使用-rf选项强制删除非空目录dir2及其所有内容,不提示确认
[root@localhost opt]# rm -rf dir2
删除一个非空目录及其所有内容:
# 使用-r选项删除非空目录dir2及其所有内容
[root@localhost opt]# rm -r dir2
删除dir3目录下的所有文件及目录(带*号的要慎用)
[root@localhost opt]# rm -r dir3/*
显示详细的删除信息:
# 使用-v选项显示详细的删除信息
[root@localhost opt]# rm -iv file5.txt dir4
# 输出如下:
removed 'file5.txt'
removed 'dir4/file6.txt'
removed directory 'dir4'
Linux rm命令的注意事项
rm命令是一个危险的命令,一旦执行就无法恢复,所以在使用rm命令时要非常小心,尽量避免使用-f选项,以免误删重要的文件或目录。
rm命令只能删除普通文件或目录,不能删除设备文件、符号链接、管道等特殊文件,如果要删除这些文件,可以使用unlink命令。
rm命令不能删除正在使用的文件或目录,如果要删除这些文件或目录,可以先关闭相关的进程或服务,然后再执行rm命令。
Linux rm命令的高级技巧
如果要删除一个文件或目录,但是不想输入完整的路径或名称,可以使用Tab键进行自动补全,例如:
# 输入rm /t后按Tab键,会自动补全为rm /tmp/
[root@localhost opt]# rm /t<Tab>
rm /tmp/
如果要删除一个文件或目录,但是不确定它是否存在,可以使用&&运算符来判断,例如:
# 如果文件file7.txt存在,则删除它,否则不执行任何操作
[root@localhost opt]# [ -f file7.txt ] && rm file7.txt
如果要删除一个文件或目录,但是想保留一个备份,可以使用cp命令先复制一份到另一个位置,然后再执行rm命令,例如:
# 先将文件file8.txt复制到/tmp目录下,然后再删除它
[root@localhost opt]# cp file8.txt /tmp && rm file8.txt
评论区