• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

使用trash-cli给Linux服务器加一个回收站的功能

一些实操 eryajf 3个月前 (10-30) 58296℃ 已收录 0个评论
本文预计阅读时间 9 分钟

有些让人痛心的经历,会让你成长,我相信,所有开始使用这个工具,以及开始愿意去部署这个工具的人,应该都是有遭受过误删除所带给自己的那种恐慌以及无奈。

我也一样,所以,我打算了解一下回收站的事儿,就走进了开源工具trash-cli。地址如下:

trash-cli

1,安装。

1,安装方法一。

安装非常简单,使用两条命令搞定。

yum install -y python-setuptools.noarch
easy_install trash-cli

一般情况下,没啥问题就安装成功了。

2,安装方法二。

如果主机内核还是2.6的CentOS6,那么可以通过如下方式安装,这种安装方式,适用于`CentOS6`以及`CentOS7`:

wget https://github.com/andreafrancia/trash-cli/archive/master.zip

unzip master.zip

cd trash-cli-master

python setup.py install

如果最后一步安装不报错,那就成功了。

有时候这种方式安装完成之后,可能无法在系统层面适用对应的命令,可以加入如下一条命令:

ln -s /usr/local/python/bin* /usr/bin/

即可正常使用!

2,了解功能。

安装之后,系统会新增几个工具:

[root@docker ~]$ls /usr/bin/ |grep trash
trash
trash-empty
trash-list
trash-put
trash-restore
trash-rm

说明:

trash-put          将文件或目录移入回收站
trash-empty        清空回收站
trash-list         列出回收站中的文件
trash-restore      还原回收站中的文件
trash-rm           删除回收站中的单个文件

3,添加rm别名。

直接在系统当中添加如下命令:

[root@docker ~]$echo "alias rm='trash-put'" >> /etc/bashrc

[root@docker ~]$source /etc/bashrc

虽然在Github中作者并不建议这么做,而是建议当使用rm的时候输出一段提示,作者原话说:

Can I alias rm to trash-put?
You can but you shouldn't. In the early days I thought it was good idea do that but now I changed my mind.
The interface of trash-put seems to be compatible with rm it has a different semantic that will cause you problems. For example, while rm requires -R for deleting directories trash-put does not.
But sometimes I forgot to use trash-put, really can't I?
You may alias rm to something that will remind you to not use it:
alias rm='echo "This is not the command you are looking for."; false'
If you really want use rm simply prepend a slash:
\rm file-without-hope
Note that Bash aliases are used only in interactive shells, so using this alias should not interfere with scripts that expects to use rm.

但是我觉得这样也是可以的,配置方便,已用。

4,使用示例。

配置完成之后,我们可以正常的使用rm命令。

1,创建示例文件。

[root@docker opt]$touch a b c
[root@docker opt]$mkdir 1 2 3
[root@docker opt]$ls
1  2  3  a  b  c

2,将其一并删除。

[root@docker opt]$rm -rf ./*
[root@docker opt]$ls

3,使用命令查看。

[root@docker opt]$trash-list
2018-10-30 16:21:00 /opt/1
2018-10-30 16:21:00 /opt/2
2018-10-30 16:21:00 /opt/3
2018-10-30 16:21:00 /opt/a
2018-10-30 16:21:00 /opt/b
2018-10-30 16:21:00 /opt/c

这个时候,文件其实保存在$USER/.local/share/Trash/files下,可以用命令查看一下。

[root@docker opt]$ls /$USER/.local/share/Trash/files
1  2  3  a  b  c

4,恢复文件。

[root@docker opt]$trash-restore
   0 2018-10-30 16:21:00 /opt/1
   1 2018-10-30 16:21:00 /opt/2
   2 2018-10-30 16:21:00 /opt/3
   3 2018-10-30 16:21:00 /opt/a
   4 2018-10-30 16:21:00 /opt/b
   5 2018-10-30 16:21:00 /opt/c
What file to restore [0..5]: 0
[root@docker opt]$ls
1

通过每个文件前边的数字选择,从而判断恢复哪个文件,目前貌似没发现批量恢复的办法,当然你可以直接去目录下进行恢复。

5,删除回收站的单个文件。

[root@docker opt]$trash-rm 2
[root@docker opt]$trash-list
2018-10-30 16:21:00 /opt/3
2018-10-30 16:21:00 /opt/a
2018-10-30 16:21:00 /opt/b
2018-10-30 16:21:00 /opt/c

6,清空回收站。

[root@docker opt]$trash-empty
[root@docker opt]$trash-list
[root@docker opt]$

基本上用法就是这些用法,如果是普通用户,那么道理是一样的,这里的道理一样指的是普通用户使用此命令之后,也会在其家目录下生成一个回收站。

通常在配置了回收站机制之后,都要顺手将自动清空回收站的机制加上的,不然会导致一些文件没被及时清除,从而让系统磁盘压力过大。配置自动清空的文档,请点击下边连接跳转:


weinxin
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明使用trash-cli给Linux服务器加一个回收站的功能
喜欢 (1)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!

您必须 登录 才能发表评论!