rm
最大的问题就删除后就没方法用惯例办法复原文件,如果因为手抖、Shell脚本谬误误删文件,那肯定是很麻烦的事件。
trash-cli
用于挪动文件到回收站,同时会记录文件的原地址、删除日期和权限。trash-cli 和 KDE、GNOME、XFCE 的图形文件管理器应用同一个回收站,你能够在命令行或脚本运行 trash-cli。我的项目Github主页
装置和应用
其实官网的简体中文README曾经写得很好了README_zh-CN.rst
简而言之,首先是装置
如果是Debian家族的发行版,能够间接应用apt装置
<code class="sh">sudo apt install trash-cli
其次也能够用python pip 装置
<code class="sh">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的配置文件设置别名
<code class="sh"># ~/.zshrc alias rm="trash-put"
如果一些状况下在交互界面不想用trash-put
,能够用斜线勾销别名
<code class="sh">\rm 文件名