插件窝 干货文章 Linux回收站文件在哪

Linux回收站文件在哪

回收站 Trash 文件 删除 704    来源:    2025-05-06

在Linux系统中,默认情况下没有像Windows那样的统一回收站,但不同桌面环境(如GNOME、KDE等)会提供自己的回收站功能,而命令行删除的文件通常需要依赖工具或手动配置才能恢复。以下是不同场景下的回收站位置和恢复方法:


1. 桌面环境的回收站位置

  • GNOME/KDE/XFCE等桌面环境

    • 回收站实际是一个隐藏文件夹,路径为:
      bash ~/.local/share/Trash/
    • 内部结构: bash ~/.local/share/Trash/ ├── files/ # 被删除的文件实际存储在这里 ├── info/ # 记录文件的原始路径和删除时间(.trashinfo文件) └── expunged/ # (某些系统可能不存在)
  • 通过图形界面
    直接点击桌面环境的“回收站”图标即可查看/恢复文件。


2. 命令行删除的文件

  • 默认情况下,使用 rm 命令删除的文件不会进入回收站,而是直接永久删除。
  • 替代方案:用以下工具替代 rm
    • trash-cli(推荐): bash sudo apt install trash-cli # Debian/Ubuntu sudo yum install trash-cli # CentOS/RHEL
      • 使用命令:
        bash trash-put file.txt # 删除到回收站 trash-list # 查看回收站文件 trash-restore # 交互式恢复文件 trash-empty # 清空回收站
    • gvfs-trash(部分系统内置): bash gvfs-trash file.txt # 删除到回收站

3. 手动配置回收站(无桌面环境时)

如果你希望命令行删除的文件也进入回收站,可以创建自定义别名: bash echo 'alias rm="trash-put"' >> ~/.bashrc # 用trash-cli替代rm source ~/.bashrc 或者直接绑定到 ~/.local/share/Trash/files/bash alias rm='mv -t ~/.local/share/Trash/files/'


4. 恢复已删除的文件(无回收站时)

  • 如果文件被 rm 直接删除且未备份,可尝试用工具恢复:
    • extundelete(ext文件系统): bash sudo extundelete /dev/sdX --restore-file /path/to/file
    • testdisk(通用工具): bash sudo testdisk # 按向导操作
  • 注意:恢复成功率取决于磁盘是否被覆盖。

总结建议

  • 桌面用户:直接使用图形界面回收站(~/.local/share/Trash/)。
  • 命令行用户:安装 trash-cli 替代 rm
  • 重要数据:定期备份,避免依赖回收站。

如有其他使用场景,可以进一步补充说明!