linux trash命令,Linux/Ubuntu: 使用 trash-cli 防止 rm 命令误删除重要文件

曾几何时,一条 rm -rf /useless /* 命令干掉了我们需要的文件,也干掉的整个系统,

这是是不是与哭无泪啊。

像这种使用 rm 命令误删除文件的情况,我们会注意,但是我们不能保证百分百的不会

出现这种情况,毕竟事情总有偶然,那么对于这种情况我们是不是就束缚无策呢,不!我们有相应

的解决办法,那就是使用 trash-cli。trash-cli是一个使用 python 开发的软件包,包含 trash-put、

restore-trash、trash-list、trash-empty、trash-rm等命令,我们可以通过这写命令,将文件移动到回收站,或者还原

删除了的文件。

trash-put命令会把我们想要删除的文件移动到 ~/.local/share/Trash/files 中,相关信息记录在

~/.local/share/Trash/info 中。

现在我们来安装 trash-cli

加入我们使用 CentOS,Fedora,Ubuntu等主流操作系统,我们可以直接使用软件包管理命令安装如

sudo yum install -y trash-cli

sudo apt-get install -y trash-cli

对于其他系统,或者是我们想亲自动手安装最新的 trash-cli我们可以通过一下步骤安装:

我们可以在一下地址找到 trash-cli

https://github.com/andreafrancia/trash-cli

我们使用 git 克隆出来,或者直接下载压缩包,我们这里直接下载,文件存为 trash-cli-master.tar.gz

tar xf trash-cli-master.tar.gz

cd trash-cli-master

sudo python setup.py install

因为和 rm命令接口是兼容的,所以,可以使用 trash-put 代替 rm,

trash-cli 在删除文件时会记录文件的原始路径、删除时间和文件权限,并且兼容

GNOME和 KDE的 trash实现。同时也实现了 FreeDesktop.org Trash Specification

也支持除 home文件系统意外的其他文件系统和文件分区以及移动设备分区

安装完毕之后我们可以通过一些配置,用它替代 rm命令

我们在 ~/.bashrc 文件中间加入

alias rm=”trush-put”

命令概览:

trash-put //将文件或目录移入回收站

trash-empty //清空回收站

trash-list // 列出回收站中的文件

restore-trash //还原回收站中的文件

trash-rm // 删除回首站中的单个文件

Usage

Trash a file:

$ trash-put foo

List trashed files:

$ trash-list

2008-06-01 10:30:48 /home/andrea/bar

2008-06-02 21:50:41 /home/andrea/bar

2008-06-23 21:50:49 /home/andrea/foo

Search for a file in the trashcan:

$ trash-list | grep foo

2007-08-30 12:36:00 /home/andrea/foo

2007-08-30 12:39:41 /home/andrea/foo

Restore a trashed file:

$ trash-restore

0 2007-08-30 12:36:00 /home/andrea/foo

1 2007-08-30 12:39:41 /home/andrea/bar

2 2007-08-30 12:39:41 /home/andrea/bar2

3 2007-08-30 12:39:41 /home/andrea/foo2

4 2007-08-30 12:39:41 /home/andrea/foo

What file to restore [0..4]: 4

$ ls foo

foo

Remove all files from the trashcan:

$ trash-empty

Remove only the files that have been deleted before ago:

$ trash-empty

Example:

$ date

Tue Feb 19 20:26:52 CET 2008

$ trash-list

2008-02-19 20:11:34 /home/einar/today

2008-02-18 20:11:34 /home/einar/yesterday

2008-02-10 20:11:34 /home/einar/last_week

$ trash-empty 7

$ trash-list

2008-02-19 20:11:34 /home/einar/today

2008-02-18 20:11:34 /home/einar/yesterday

$ trash-empty 1

$ trash-list

2008-02-19 20:11:34 /home/einar/today

To remove only files matching a pattern:

$ trash-rm \*.o

Note: you need to use quotes in order to protect pattern from shell expansion.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值