TypechoJoeTheme

MetMan's Blog

网站页面

替代RM命令的防误删工具TRASH-D

MetMan博 主
2024-07-31
/
0 评论
/
88 阅读
/
463 个字
/
百度已收录
07/31
本文最后更新于 2024年07月31日,已超过 50天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

前言

最近好不容易写了几千行代码,突然担心起会不会发生源代码文件误删掉这件事来^-^

虽然使用了GIT进行管理,但没有上传到版本服务器,总感觉不保险,因此研究代替RM命令的工具,将文件“删除”放入到所谓的回收站,而不是彻底的删除,即使误删了也能轻松恢复。

在网上找到几款软件,发现trash-clitrash-d两款软件能够满足需求。但trash-cli对于HPC多分区存储环境不太友好,最终选择了trash-d这款工具。

安装

项目地址:https://github.com/rushsteve1/trash-d

官方在GITHUB中提供了rpm/deb等安装包。本人使用的机器平台是centos,没有管理员权限,只能安装在个人目录下,从rpm包中抽取可执行文件方式安装。

$ rpm2cpio trash-d-19-x86_64.rpm | cpio -idmv
$ mv usr trash-d 
$ vi ~/.bashrc 
export PATH=/path/to/trash-d/bin:$PATH
export MANPATH=/path/to/trash-d/share/man:$MANPATH
export TRASH_D_DIR=/path/to/Trash_dir   # 指定回收站目录
alias rm=trash  # 设置rm是trash别名
$ . ~/.bashrc

使用

查看MAN说明文档

$ man trash

由于使用alias别名设置,下面执行trash命令地方都可以替换为rm

  • 删除文件或目录

trash删除选项基本与rm相同。

$ trash file    # 删除文件
$ trash -r dir  # 删除目录及文件
$ trash -rf dir # -f不显示提示并忽略错误
  • 列出回收站删除的文件
$ trash --list

即使删除相同路径相同文件时,在回收站里名称会区分开来,比如删除两次test目录,第二次删除会添加一个后缀区别开来。

$ trash --list 
Name            Path                            Del. Date
test            /home/user/TMP/test          2024-Feb-02 08:04:15
smaple          /home/user/TMP/smaple        2024-Feb-02 08:12:30
test-4570       /home/user/TMP/test          2024-Feb-02 08:29:30
  • 删除回收站中文件
$ trash --delete file  
  • 从回收站中恢复文件
$ trash --restore file
  • 清空回收站
$ trash --empty 

指定回收站目录

  • TRASH_D_DIR

用于指定回收站目录的环境变量。

  • XDG_DATA_HOME

FreeDesktop说明中用于确定默认回收站目录的环境变量,不建议使用它,可能会影响其它软件的正常使用。

回收站目录设置优先级:$TRASH_D_DIR > $XDG_DATA_HOME/Trash > ~/.local/share/Trash

友情提醒:在真正使用之前,最好做个测试确认正常工作!!!
朗读
赞(0)
赞赏
感谢您的支持,我会继续努力哒!
版权属于:

MetMan's Blog

本文链接:

https://blog.metman.top/index.php/archives/123/(转载时请注明本文出处及文章链接)

评论 (0)

互动读者

标签云

最新回复

暂无回复

登录
X
用户名
密码