关于linux:trashcliLinux-的命令行回收站

1次阅读

共计 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-putrm 语法并不完全相同,可能存在不兼容的中央。另一个是,shell 的 alias 只在交互界面无效,应用脚本运行时有效。如果遗记这点可能造成麻烦。还有就是对于应用多种 shell 的用户,比方我,平时应用 zsh,然而一些状况下会用回 bash,如果不同时在 bash 和 zsh 设置别名,可能会出差错。

如果真的要用 trash-put 代替rm,能够在你的 shell 的配置文件设置别名

# ~/.zshrc
alias rm="trash-put"

如果一些状况下在交互界面不想用trash-put,能够用斜线勾销别名

\rm 文件名
正文完
 0