通过自定义rm命令别名,将文件移动到用户主目录下的.trash隐藏目录,模拟回收站功能。
.trash文件夹,用于存储被“删除”的文件。mkdir ~/.trash
rm命令:编辑~/.bashrc(Bash)或~/.zshrc(Zsh)文件,添加别名,使rm命令将文件移动到.trash而非直接删除。alias rm='mv -t ~/.trash "$@"'
保存后执行source ~/.bashrc(或source ~/.zshrc)使别名生效。ls ~/.trashmv ~/.trash/文件名 ~/目标路径/(如mv ~/.trash/test.txt ~/")rm -rf ~/.trash/*.trash中超过30天的文件(如clean_trash.sh),并通过crontab -e添加每日执行任务(0 0 * * * /bin/clean_trash.sh)。trash-cli工具(推荐,符合规范)trash-cli是符合FreeDesktop.org标准的命令行回收站工具,支持文件信息记录(如原始路径、删除时间)、恢复和定时清理。
sudo apt install trash-cli
trash-put 文件名(如trash-put test.txt)trash-list(显示文件名、删除时间及原始路径)trash-restore(交互式选择要恢复的文件)trash-empty(删除所有文件);trash-empty 10(删除超过10天的文件)trash-rm 文件名(如trash-rm old_file.txt)gvfs-trash工具(GNOME桌面集成)gvfs-trash是GNOME桌面环境的组件,依赖GVFS(虚拟文件系统),适用于支持GVFS的文件系统。
gvfs-bin(以Debian/Ubuntu为例):sudo apt install gvfs-bin
gvfs-trash 文件名(如gvfs-trash document.pdf)gvfs-trash --emptygio trash 文件名(gio是GVFS的命令行工具)替代。GNOME、KDE等桌面环境的回收站文件默认存储在~/.local/share/Trash目录下,包含两个子目录:
files/:存储被删除的实际文件;info/:存储文件元数据(如原始路径、删除时间)。ls ~/.local/share/Trash/files/mv ~/.local/share/Trash/files/文件名 ~/目标路径/rm -rf ~/.local/share/Trash/files/* 和 rm -rf ~/.local/share/Trash/info/*crontab添加每日清空任务(如0 1 * * * rm -rf ~/.local/share/Trash/files/*)。以上方法覆盖了从基础到高级的Linux命令行回收站管理需求,可根据使用习惯选择合适的方式。其中,trash-cli因功能全面、符合标准,是大多数用户的推荐选择。