侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux下rm命令用法详解:如何安全高效地删除文件和目录?

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

0

评论区