Linux 的 rm 命令

rm (remove) 是 Linux 系统中用于删除文件和目录的基本命令之一。它是 Unix/Linux 系统管理员和用户日常操作中最常用的命令之一。

基本语法

rm [选项] 文件名/目录名

常用选项

  1. -i (交互模式)

    • 在删除每个文件前提示用户确认
    • 示例:rm -i file.txt 会询问"remove file.txt?"
  2. -f (强制删除)

    • 忽略不存在的文件和参数,不显示警告信息
    • 示例:rm -f *.log 强制删除所有.log文件
  3. -r 或 -R (递归删除)

  4. -v (详细模式)

    • 显示删除过程的详细信息
    • 示例:rm -v old_file.txt 会显示"removed 'old_file.txt'"
  5. -- (选项结束符)

    • 表示选项结束,后面跟着的是文件名
    • 示例:rm -- -filename 删除以"-"开头的文件

重要注意事项

  1. 删除不可恢复:Linux 中的 rm 命令删除的文件通常无法恢复,不像 Windows 会先放入回收站

  2. 危险操作:

    • rm -rf / 或 rm -rf * 可能造成灾难性后果
    • 在脚本中使用 rm 时要特别小心
  3. 替代方案:

    • 考虑使用 trash-cli 等工具将文件移至"回收站"
    • 对于重要文件,可以先使用 mv 命令移动到临时目录
  4. 权限要求:

    • 需要具有对目标文件/目录的写权限
    • 删除目录需要对该目录的父目录有写权限

实用示例

  1. 删除单个文件:

    bash 复制代码
    rm document.pdf
  2. 删除多个文件:

    bash 复制代码
    rm file1.txt file2.txt file3.txt
  3. 使用通配符删除:

    bash 复制代码
    rm *.tmp
  4. 交互式删除目录:

    bash 复制代码
    rm -ri my_folder/
  5. 强制删除所有匹配文件:

    bash 复制代码
    rm -f backup_*.tar.gz

高级技巧

  1. 删除前备份:

    bash 复制代码
    cp -a directory_to_delete/ backup/ && rm -r directory_to_delete/
  2. 查找并删除:

    bash 复制代码
    find . -name "*.log" -exec rm {} \;
  3. 安全删除(覆盖文件内容后删除):

    bash 复制代码
    shred -u sensitive_file.txt

请谨慎使用 rm 命令,特别是在使用 root 权限时,错误的删除操作可能导致系统损坏或数据永久丢失。

相关推荐
千舟软件30 分钟前
报修系统对接企业微信和钉钉的3种方式_千舟报修云
服务器·钉钉·企业微信
Decay__1 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Decay__10 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
java_logo12 小时前
Docker 部署 Dify:轻松搭建 LLM 应用开发平台
运维·docker·容器
方便面不加香菜13 小时前
Docker Container -- 综合实战案例详解
运维·docker·容器
LongRunning14 小时前
【Linux】RK3568-OpenCV+YOLO(八)
linux·opencv·yolo
海洋之恒14 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·自动化·github
迪康coolmu15 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
xiaoye-duck16 小时前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
民乐团扒谱机17 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法