温馨提示×

Linux回收站支持bash吗

小樊
41
2026-08-29 03:51:24
栏目: 智能运维

简单的回答是:Linux 的默认回收站机制(通过桌面环境如 GNOME/KDE 提供)不支持直接在 bash 原生命令中调用,但可以通过第三方工具或脚本来在 bash 中实现类似“回收站”的功能。

下面分几种情况详细解释:

1. 默认情况:Linux 没有原生的“回收站”命令

在标准的 Linux 命令行(bash)中,删除文件的命令是 rm

  • rm 命令是直接删除:文件会被永久删除,不经过任何回收站。
  • 没有内置的 restore 命令:如果不小心删了,恢复起来非常麻烦(通常需要专业的数据恢复工具)。

所以,如果你在 bash 里直接输入 rm file.txt,这个文件不会进入回收站,而是直接消失了。

2. 桌面环境的回收站(GUI)

虽然 bash 默认不支持,但如果你在 Linux 桌面环境(如 Ubuntu 的 GNOME)中,使用鼠标右键删除文件,文件会进入回收站。 这些文件通常存储在:

  • 本地文件~/.local/share/Trash/
  • 外接硬盘:在磁盘根目录下的 .Trash-1000 文件夹中。

但是,你不能在 bash 里直接运行一个简单的命令(比如 trash-listrestore)来查看或恢复这些文件,除非你安装了专门的工具。

3. 如何在 bash 中使用“回收站”功能?

为了在 bash 中实现类似 Windows 回收站的功能,你需要安装第三方工具。最常用的是 trash-cli

安装 trash-cli

在你的 bash 终端中运行以下命令(根据你的发行版选择):

  • Ubuntu / Debian:
    sudo apt install trash-cli
    
  • CentOS / Fedora / RHEL:
    sudo dnf install trash-cli
    # 或者旧版本用 yum
    sudo yum install trash-cli
    
  • Arch Linux:
    sudo pacman -S trash-cli
    

使用方法

安装后,你就可以在 bash 中使用以下命令了:

命令 作用 对应 Windows 行为
trash <文件名> 将文件移入回收站 删除文件到回收站
trash-list 列出回收站里的文件 打开回收站查看
restore-trash 恢复文件(交互式) 还原文件
trash-empty 清空回收站 清空回收站

示例:

# 1. 删除文件(实际上是放入回收站)
trash my_file.txt

# 2. 查看回收站里有什么
trash-list

# 3. 恢复文件(运行后会让你选择要恢复哪个编号的文件)
restore-trash

4. 进阶技巧:给 rm 起别名(Alias)

为了防止手误误删文件,很多 Linux 老手会修改 .bashrc 文件,让 rm 命令自动变成移动到回收站。

你可以编辑 ~/.bashrc 文件,添加这一行:

alias rm='trash'

然后运行 source ~/.bashrc 使其生效。 注意:这样做虽然安全,但在执行真正需要永久删除的命令(如 rm -rf)时可能会失效或不按预期工作,请谨慎使用。

总结

  • 原生 Bash不支持回收站,rm 是永久删除。
  • 解决方案:安装 trash-cli 工具包,它提供了 trash 命令,完美支持在 bash 中管理回收站。

0