温馨提示×

Linux下如何找回回收站文件

小樊
45
2025-10-23 17:32:37
栏目: 智能运维

Linux下找回回收站文件的常用方法

1. 通过图形界面恢复(适用于带桌面环境的发行版)

大多数Linux桌面环境(如GNOME、KDE、XFCE)自带文件管理器(如Nautilus、Dolphin、Thunar),内置回收站功能。操作步骤如下:

  • 点击桌面回收站图标(通常位于任务栏或应用菜单),打开回收站窗口。
  • 在回收站中找到需要恢复的文件或文件夹,右键点击,选择**“恢复”**(或“还原”)选项。
  • 文件将自动恢复至其原始删除位置(如用户主目录、文档文件夹等)。

2. 使用trash-cli命令行工具(推荐)

trash-cli是基于FreeDesktop标准的命令行回收站工具,支持回收站的增删查操作,适合习惯命令行的用户。

  • 安装trash-cli
    根据发行版选择对应命令:
    • Debian/Ubuntu:sudo apt-get install trash-cli
    • CentOS/RHEL:sudo yum install trash-cli
    • Fedora:sudo dnf install trash-cli
    • Arch Linux:sudo pacman -S trash-cli
  • 常用命令
    • 查看回收站内容trash-list(显示文件名、删除时间及原始路径);
    • 恢复单个文件trash-restore(执行后会列出回收站文件及索引,输入对应数字即可恢复;若需恢复所有文件,添加-r参数);
    • 恢复指定文件trash-restore <文件名>(直接指定文件名恢复,如trash-restore example.txt);
    • 清空回收站trash-empty(谨慎使用,会永久删除回收站内所有文件)。

3. 手动操作回收站目录(底层文件路径)

Linux回收站的文件实际存储在用户主目录的.local/share/Trash/目录下,包含两个子目录:

  • files/:存放被删除的文件(原始名称保留);
  • info/:存放文件元数据(如原始路径、删除时间)。
  • 恢复步骤
    1. 打开终端,进入files/目录:cd ~/.local/share/Trash/files
    2. 使用ls命令查看回收站文件,找到需要恢复的文件;
    3. 使用mv命令将文件移动至目标位置(如恢复example.txt至当前目录):mv example.txt ~~代表用户主目录)。

4. 使用第三方工具extundelete(针对未清空磁盘的情况)

若回收站已被清空或文件未进入回收站(如直接使用rm命令删除),可尝试使用extundelete工具恢复。

  • 注意事项
    • 恢复前停止向目标分区写入数据(如卸载分区或关闭系统),避免数据被覆盖;
    • 仅支持ext3/ext4文件系统。
  • 安装与使用
    • 安装:Debian/Ubuntu用sudo apt-get install extundelete,CentOS/RHEL用sudo yum install extundelete
    • 恢复单个文件:sudo extundelete /dev/sdXY --restore-file path/to/deleted_file/dev/sdXY是文件所在分区,如/dev/sda1path/to/deleted_file是文件原始路径,如/home/user/example.txt);
    • 恢复整个分区:sudo extundelete /dev/sdXY --restore-all(恢复分区下所有可恢复文件)。

恢复注意事项

  • 及时操作:文件删除后尽快恢复,减少新数据覆盖的风险;
  • 路径检查:恢复时确认目标路径是否存在同名文件,避免覆盖重要数据;
  • 备份习惯:定期备份重要文件(如使用rsync、Timeshift),降低数据丢失风险。

0