少于 1 分钟阅读 次阅读

概要:rm 命令会永久删除文件,无法恢复,稍有不慎可能导致严重数据丢失。本文介绍了 trash-cli 作为 rm 的安全替代方案,提供安装和使用指南,并探讨如何避免误删文件的方法。

1. 为什么要慎用 rm

rm(Remove)是 Linux 和 macOS 终端中用于删除文件和目录的命令。但它的删除是不可逆的,一旦执行 rm 删除文件,这些文件不会进入系统的回收站,而是直接从磁盘上被移除,几乎无法找回。

1.1 常见误操作

许多 Linux 用户都有误用 rm 删除重要文件的经历,以下是一些常见的误操作:

  • 误删单个文件
    rm important.txt  # 误删重要文件
    
  • 误删整个根文件系统
    rm -rf / home/user/documents  # /后面多打了个空格,导致递归删除根目录下的所有内容
    

这些误操作可能会导致数据丢失,甚至影响系统的正常运行。因此,我们应该慎用 rm,并考虑更安全的替代方案,比如 trash-cli


2. 使用 trash-cli 代替 rm

trash-cli 是一个命令行工具,它不会直接删除文件,而是将文件移动到回收站,这样你可以随时恢复被删除的文件。

2.1 安装 trash-cli

Debian/Ubuntu

sudo apt install trash-cli

2.2 基本用法

  • 删除文件(不会永久删除,而是移动到回收站)
    trash file.txt
    
  • 删除目录
    trash my_folder
    
  • 查看回收站内容
    trash-list
    
  • 恢复文件
    trash-restore
    

    运行后,它会列出回收站中的文件,并让你选择要恢复的文件。

  • 清空回收站
    trash-empty
    

3. 如何彻底避免误删?

你可以rm 替换为 trash,这样即使你习惯性地输入 rm,也不会误删重要文件。

3.1 设置 rm 别名

~/.bashrc~/.zshrc 文件中添加:

alias rm='trash'

然后运行:

source ~/.bashrc  # 或 source ~/.zshrc

这样,执行 rm file.txt 实际上会运行 trash file.txt,文件仍然可以恢复。


4. 特殊情况下仍然使用 rm

有时候,你可能确实需要永久删除文件,此时可以:

  1. 使用 \rm(忽略 alias)
    \rm file.txt
    
  2. 使用 rm 的完整路径
    /bin/rm file.txt
    
  3. 定义 rm! 命令(专门用于真正的 rm
    alias rm!='\rm -i'
    

    这样,使用 rm! file.txt 时,它会提醒你确认删除。

留下评论