使用trash-cli避免误删文件--为rm增加回收站功能

问题



相信有不少同学和我一样,有因习惯了rm命令,好几次一不小心冲动就删除重要文件的惨痛经历。

像这种使用 rm 命令误删除文件的情况,我们会注意,但是我们不能保证百分百的不会
出现这种情况,毕竟事情总有偶然,那么对于这种情况我们是不是就束缚无策呢,不!我们有相应的解决办法,那就是使用 trash-cli。

修改rm命令使删除文件到回收站



目标:将删除成功的文件会放入系统回收站中,位置:~/.local/share/Trash/files

目标:将删除成功的文件会放入系统回收站中
位置:回收站的位置位于~/.local/share/Trash/files
之前旧版本的回收站也可能在~/.Trash

回收站命令行工具trash-cli


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

trash-cli是一个使用 Python 开发的软件包,包含trash-putrestore-trash、trash-listtrash-emptytrash-rm等命令,
我们可以通过这写命令,将文件移动到回收站,或者还原删除了的文件。
trash-put命令会把我们想要删除的文件移动到~/.local/share/Trash/files 中,
相关信息记录在~/.local/share/Trash/info中。

命令概览:

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

安装


直接使用包管理器安装



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

安装trash-cli工具,其实就是回收站的命令行模式:

sudo apt-get install trash-cli
  • 1
  • 1

如果是centos系统

sudo yum install -y trash-cli
  • 1
  • 1

用源码安装



如果包管理器安装失败,可以使用源码的安装trash-cli
我们可以在一下地址找到
trash-cli–https://github.com/andreafrancia/trash-cli

下载源码包



我们使用 git 克隆出来,

git clone git@github.com:andreafrancia/trash-cli.git
  • 1
  • 1

或者直接下载压缩包

tar xf trash-cli-master.tar.gz
  • 1
  • 1

编译


cd trash-cli-master
sudo python setup.py build
sudo python setup.py install
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

rm和trash



因为和 rm命令接口是兼容的,所以,可以使用 trash-put 代替 rm,
trash-cli 在删除文件时会记录文件的原始路径、删除时间和文件权限,并且兼容GNOME和 KDE的 trash实现。同时也实现了 FreeDesktop.org Trash Specification也支持除 home文件系统意外的其他文件系统和文件分区以及移动设备分区安装完毕之后我们可以通过一些配置,给trash命令添加别名”rm”,覆盖系统rm命令

如果只是想本用户使用,就修改~/.profile或者~/.bashrc
但是如果想要全局使用,就使用/etc/profile或者/etc/bashrc中

其实由于交互式shell和非交互式shell的一些区别,命令别名最好放在bashrc类文件中

在文件中加入

alias rm="trash"
  • 1
  • 1

或者

alias rm=”trush-put”
  • 1
  • 1

如果想要立即生效就source一下

一键删除回收站



其实为了安全的话,满可以在全局的profile或者bashrc中添加trash的,
我们的trash命令也是支持root的
由于Ubuntu默认没有root账户,但是可以sudo获取root权限,或者sudo su和sudo -sH切换为root

在Ubuntu中,root账户其实也是存在的,只需要使用sudo su此命令Ubuntu每次会为root生成一个动态密码我们只需要输入自己的密码,就可以切换为root,使用exit退出。

当然如果您觉得麻烦,也可以直接为Ubuntu添加root账户。

但是没有root账户,那么我们就无法通过root账户登陆图形界面,那么也就无法使用gui进入回收站删除文件,那么每次进入~/.local/share/Trash/files 就略显笨拙。
因此我们这时我们就需要一键删除回收站的命令

alias trash-rm="sudo rm -rf $HOME/.local/share/Trash/files/"
  • 1
  • 1

最后附上我的整个配置


#modify by gatieme at 2015-09-14 19:48 for the rm to move all files to Trash
alias rm="trash"
alias RM="trash"
alias trash-rm="/bin/rm -rf $HOME/.local/share/Trash/files/"
alias rm-trash="/bin/rm -rf $HOME/.local/share/Trash/files/"
alias rm-trash-root="/bin/rm -rf /root/.local/share/Trash/files/"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意
使用过程发现的一些问题

请不要使用trash删除回收站中的文件,你会发现一个奇特的现象,你删除了原文件,但是又多了一个后缀加上 _1 的新文件

如果您把alias放置在~/.bashrc中,你将无法使用sudo使用~/.bashrc的alias别名信息

如果您使用sudo trash删除的文件是放在自己的目录下的,而不是root下,但是回收站中文件的属用户和组用户都会变成root,您将只能使用root权限进行删除

转载:http://blog.csdn.net/gatieme/article/details/49101227

时间: 2024-09-16 01:46:17

使用trash-cli避免误删文件--为rm增加回收站功能的相关文章

linux下rm命令修改,增加回收站功能【笔记】

一个脚本,linux的用户根目录下.bashrc最后加入如下代码,可以修改rm命令,让人们rm时候不再会全部删除,而是会加入到回收站里,以下是根据别人的资料参考修改的,不是原创 加入后,需要source .bashrc   工作原理,重新定义rm,每次执行rm的话,会将文件mv到~/.trash目录下   操作方法,终端下执行: mcls----->清空.trash回收站中的文件 ur  恢复指定文件 cattrash  查看回收站的内容 mkdir -p ~/.trash alias rm=t

误删文件如何恢复

  误删文件是用户很容易犯的错误,在误将文件删除后,可以尝试使用以下几个方法尝试恢复. 1.查找回收站 在误删文件后,如果回收站没有清空,可以在回收站中,找到误删的文件,左键还原即可. 2.查找临时文件或备份文件 在软件运行的过程中,会留下一些临时文件,在误删文件后,可以到文件夹下,查找临时文件,打开最后保存的临时文件,可以降低丢失文件的损失. 3.利用工具软件恢复误删文件 文件在被误删除后,回收站也清空,这时可以利用一些工具软件进行数据恢复.但如果其他文件已经取代了删除文件,或者删除文件的空间

如何恢复Linux中的误删文件

 写在前面的话 在开始教程之前我有必要提醒大家,使用窗口管理器(GUI)删除文件和使用命令行工具(CLI)删除文件这两种方法之间是有区别的. 当我们使用窗口管理器来删除文件时,我们仅仅只是将文件从某个目录移动到了另一个目录中(回收站).在这种情况下,唯一得到更新的就是你文件系统索引节点(inode)的元数据信息,例如被删除文件的时间戳.文件所占存储区块和扩展属性等数据.你可以使用tune2fs(调整和查看ext2/ext3文件系统的文件系统参数)来查看文件系统的索引节点信息,在命令行工具中输入下

Linux安装回收站功能的trash-cli 可以防止误删文件

如何我们不小心在Linux系统中执行了以下命令, rm -rf / 如果我们误删了文件,如何恢复呢? 这个时候,我们今天的主角 trash-cli 就要出场了,他实现了类似windows中回收站的功能. trash-cli trash-cli的项目地址 trash-cli https://github.com/andreafrancia/trash-cli I. 安装 trash-cli的安装很简单 cd /tmphttps://github.com/andreafrancia/trash-cl

Linux中防止误删文件trash-cli插件安装使用

Trash-cli 提供一套命令行下的回收站工具.在 Gnome 环境下,这个命令行下的回收站和 Gnome 回收站是统一的,无论是在命令行下还是在图形环境下,删除的文件都会进入这个回收站. 玩过Linux的同学应该都知道这个要命的命令,此命令一出,系统几乎废了. rm -rf / 虽然一再强调rm的时候要注意,但是还是会有同学犯错误删文件,有什么办法能够减少此类事情的发生呢? 今天老高就要介绍此工具----- trash-cli.他实现了类似回收站的功能,以后删除的时候就有了后悔药. tras

Linux下利用Lsof恢复误删文件的方法

  原理:在Linux系统的/proc 分区下保存着进程的目录和名字,包含fd(文件描述符)和其下的子目录(进程打开文件的链接),那么如果删除了一个文件,还存在一个 inode的引用:/proc/进程号/fd/文件描述符.我们只要知道当前打开文件的进程pid和文件描述符fd就能利用lsof工具列出进程打开的文件. 一.将 ls 的手册过滤掉主要控制符后重定向到文件ls.txt 中,并用more查看,CTRL + Z 暂停查看操作 1: [root@localhost script]# man l

myeclipse中恢复误删文件和代码

myeclipse中恢复误删文件和代码 [ 恢复误删文件 ] 今天在写代码的时候,不小心把一个包给删除了,然后这个包下所有的文件都没了,相信很多人都有类似的经历, 幸好myeclipse给我们提供了一个很好用的功能: 选中项目 -> Restore from Local History.. -> 界面如下图 勾选要恢复的文件,点击Restore就可以了,就算你把myeclipse关闭了也没关系,非常的方便. [ 恢复误删代码 ] 对于误删的代码,如果没有关闭myeclipse,我们可以按ctr

百度卫士系统清理过程中,误删文件怎么办?

  在今天的百度卫士使用教程中,我们将来学习的与系统清理这一功能相关的问题与解答.比如说:系统清理过程中,误删文件怎么办?注册表清理之后发现系统异常,如何处理?等等问题.那么,对百度卫士系统清理这一功能感兴趣的网友就一起来看看今天的百度卫士使用教程吧! 百度卫士 问:什么是智能清理功能?如何开启? 智能清理功能会智能判断您的系统资源的使用状态,在空闲时帮您清理电脑垃圾,清理完成后会告诉您结果. 开启自动清理功能后,您的电脑不会再持续累积垃圾,时刻保持畅快运行. 智能清理功能的开启方法: 方法一,

易我数据恢复向导快速恢复误删文件

[软件介绍] <易我数据恢复向导>是首款国内自主研发的数据恢复软件,是一款功能强大并且性价比非常高的数据恢复软件.本软件在 WINDOWS操作系统下,提供FAT12/ FAT16/FAT32/VFAT/NTFS/NTFS5分区的数据恢复,支持IDE/ATA.SATA.SCSI.USB.IEEE1394种类的硬盘 或闪盘.软盘.数码相机.数码摄像机和USB种类的存储盘.本软件具有删除恢复.格式化恢复.高级恢复等非常强大的功能,可以针对不同情况的数据丢失来进 行数据恢复.本软件能非常有效的恢复被删