Linux 【07-rm命令超详细教程】

Linux rm 命令 超详细教程

rm(remove)用于删除文件/目录 ,是 Linux 高频命令,删除后默认无法恢复,务必谨慎使用。

一、基本语法

bash 复制代码
rm [选项] 文件名/目录名

二、常用参数(核心)

参数 作用
-f 强制删除,不提示、忽略不存在文件
-i 删除前交互式询问(默认部分系统自带)
-I 批量删除多个文件时,仅询问一次(比 -i 简洁)
-r / -R 递归删除目录+目录内所有文件/子目录(删文件夹必备)
-v 可视化,显示删除过程

补充:-r-R 大部分场景等效;-R 会保留符号链接属性,日常用 -r 即可。


三、基础用法(文件删除)

1. 删除单个文件

bash 复制代码
rm test.txt

部分系统会提示 rm: 是否删除普通文件 'test.txt'?,输入 y 确认、n 取消。

2. 强制删除文件(不弹窗)

最常用组合:rm -f

bash 复制代码
rm -f test.txt
  • 即使文件不存在,也不会报错
  • 脚本/批量操作首选

3. 批量删除多个文件

bash 复制代码
# 逐个指定文件
rm -f 1.txt 2.log 3.jpg

# 通配符 * 匹配(删除所有 .txt 文件)
rm -f *.txt

# 删除当前目录所有文件(慎用)
rm -f *

4. 带过程提示删除

bash 复制代码
rm -fv *.log

四、目录删除(重点:必须加 -r

普通 rm 无法直接删空/非空目录,必须搭配 -r

1. 删除空目录

bash 复制代码
rm -r 文件夹名

2. 强制删除非空目录(最常用)

生产/日常首选:rm -rf

bash 复制代码
rm -rf mydir
  • 递归删除目录内所有文件、子目录
  • 全程无任何询问,速度快

3. 批量删除多个目录

bash 复制代码
rm -rf dir1 dir2 dir3

4. 交互式删除目录(防止误删)

bash 复制代码
rm -ri mydir

进入目录内部时,逐个文件询问是否删除。


五、高危操作 & 避坑(必看)

1. 绝对禁止:rm -rf /

bash 复制代码
# 毁灭性命令,**绝对不要执行**
rm -rf /

会递归删除系统根目录所有数据,系统直接崩溃、数据全部丢失。

2. 慎用:rm -rf /*

删除当前根目录下所有内容,同样高危。

3. 带空格/特殊字符的文件删除

文件名含空格、-# 等,常规命令会报错:

bash 复制代码
# 文件名:my file.txt(含空格)
rm -f "my file.txt"

# 文件名以 - 开头(如 -test.txt)
rm -f -- -test.txt

4. 误删恢复说明

  • Linux 默认无回收站rm 删除后常规手段无法恢复

  • 重要文件建议先 mv 移动到临时目录(模拟回收站),而非直接 rm

    bash 复制代码
    # 替代删除:移动到临时文件夹
    mv test.txt /tmp/recycle/

六、实用场景示例

  1. 清理日志(删除当前目录所有 .log)
bash 复制代码
rm -rf *.log
  1. 删除指定目录及内部所有内容
bash 复制代码
rm -rf /home/user/temp
  1. 删除隐藏文件(以 . 开头)
bash 复制代码
rm -rf .hidden_file
# 删除当前目录所有隐藏文件(谨慎)
rm -rf .*
  1. 脚本中静默清理(无输出、无报错)
bash 复制代码
rm -rf /opt/app/logs/*

七、安全小技巧(防止手滑误删)

  1. 临时开启询问

    rm 起别名,每次删除都询问:

    bash 复制代码
    alias rm='rm -i'

    写入 ~/.bashrc 永久生效。

  2. 大目录先预览再删除

    先查看目录内容,确认无误再删:

    bash 复制代码
    ls 目标目录
    rm -rf 目标目录
  3. 重要数据先备份,再删除

相关推荐
HLC++2 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室3 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy6 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕7 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫8 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生8 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.119 小时前
linux基础IO
linux·运维·服务器
BelongPanda11 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯11 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983412 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器