简单的回答是:Linux 的默认回收站机制(通过桌面环境如 GNOME/KDE 提供)不支持直接在 bash 原生命令中调用,但可以通过第三方工具或脚本来在 bash 中实现类似“回收站”的功能。
下面分几种情况详细解释:
在标准的 Linux 命令行(bash)中,删除文件的命令是 rm。
rm 命令是直接删除:文件会被永久删除,不经过任何回收站。restore 命令:如果不小心删了,恢复起来非常麻烦(通常需要专业的数据恢复工具)。所以,如果你在 bash 里直接输入 rm file.txt,这个文件不会进入回收站,而是直接消失了。
虽然 bash 默认不支持,但如果你在 Linux 桌面环境(如 Ubuntu 的 GNOME)中,使用鼠标右键删除文件,文件会进入回收站。 这些文件通常存储在:
~/.local/share/Trash/.Trash-1000 文件夹中。但是,你不能在 bash 里直接运行一个简单的命令(比如 trash-list 或 restore)来查看或恢复这些文件,除非你安装了专门的工具。
为了在 bash 中实现类似 Windows 回收站的功能,你需要安装第三方工具。最常用的是 trash-cli。
trash-cli在你的 bash 终端中运行以下命令(根据你的发行版选择):
sudo apt install trash-cli
sudo dnf install trash-cli
# 或者旧版本用 yum
sudo yum install trash-cli
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
rm 起别名(Alias)为了防止手误误删文件,很多 Linux 老手会修改 .bashrc 文件,让 rm 命令自动变成移动到回收站。
你可以编辑 ~/.bashrc 文件,添加这一行:
alias rm='trash'
然后运行 source ~/.bashrc 使其生效。
注意:这样做虽然安全,但在执行真正需要永久删除的命令(如 rm -rf)时可能会失效或不按预期工作,请谨慎使用。
rm 是永久删除。trash-cli 工具包,它提供了 trash 命令,完美支持在 bash 中管理回收站。