共计 1028 个字符,预计需要花费 3 分钟才能阅读完成。
rm
最大的问题就删除后就没方法用惯例办法复原文件,如果因为手抖、Shell 脚本谬误误删文件,那肯定是很麻烦的事件。
trash-cli
用于挪动文件到回收站,同时会记录文件的原地址、删除日期和权限。trash-cli 和 KDE、GNOME、XFCE 的图形文件管理器应用同一个回收站,你能够在命令行或脚本运行 trash-cli。我的项目 Github 主页
装置和应用
其实官网的简体中文 README 曾经写得很好了 README_zh-CN.rst
简而言之,首先是装置
如果是 Debian 家族的发行版,能够间接应用 apt 装置
sudo apt install trash-cli
其次也能够用 python pip 装置
pip install trash-cli
应用办法
trash-put 把文件或目录挪动到回收站
trash-empty 清空回收站
trash-list 列出回收站文件
trash-restore 复原回收站文件
trash-rm 删除回收站文件
trash-put
其实和 rm
命令操作很类似,然而又有不同,rm
删除目录时要加上 -r
参数,但 trash-put
不须要。然而尽管如此,trash-put
反对输出 -r
和其余参数,但仅仅是为了兼容 rm
。
运行 trash-put -h
给出的解释是这样的
选项:
--version 显示程序版本并退出
-h, --help 显示这个帮忙信息
-d, --directory 疏忽 (为了和 GUN rm 兼容)
-f, --force 疏忽 (为了和 GUN rm 兼容)
-i, --interactive 疏忽 (为了和 GUN rm 兼容)
-r, -R, --recursive 疏忽 (为了和 GUN rm 兼容)
-v, --verbose 显示这个程序具体做了什么
我应该给 trash-put
设置别名(alias),用来代替 rm
吗?我在写这篇分享文章时,的确是这样做的。然而官网其实并不倡议这样。
一个起因是,trash-put
和 rm
语法并不完全相同,可能存在不兼容的中央。另一个是,shell 的 alias
只在交互界面无效,应用脚本运行时有效。如果遗记这点可能造成麻烦。还有就是对于应用多种 shell 的用户,比方我,平时应用 zsh,然而一些状况下会用回 bash,如果不同时在 bash 和 zsh 设置别名,可能会出差错。
如果真的要用 trash-put
代替rm
,能够在你的 shell 的配置文件设置别名
# ~/.zshrc
alias rm="trash-put"
如果一些状况下在交互界面不想用trash-put
,能够用斜线勾销别名
\rm 文件名