Linux 终端命令 rm 删除的文件进入回收站实现方法

今天看看ubuntu的回收站的路径忽然产生了兴趣。
平常rm 删东西删多了,有时想找回来只能干瞪眼了^_^, 今天找了一些资料想解决这个小毛病。
废话莫说,操作如下,以下命令大多限制于ubuntu,大虾们可以按自己系统特色相应更改:

第一步

新建个脚本内容如下:

#!/bin/sh
# script to send removed files to trash directory
mv $@ ~/.local/share/Trash/files          #有$1~$9个数量, $@代表all

保存文件命为totrash
假设保存路径为/bin 修改属性: chmod +x /bin/totrash

第二步

修改rm 命令句柄,重命名rm 命令:
#vim ~/cshrc(bashrc) #修改.cshrc(bashrc)文件的内容:
添加如下代码到其中:

alias rm=“/bin/totrash”

执行命令更新.cshrc(bashrc)文件的内容: source ~/cshrc(bashrc)
OK,你已经成功设置好了。

测试

终端任意删除一个文件如: rm /root/test_venus
OK, 到垃圾回收站看看。test_venus已经在其中,从此可以免去rm rm rm 的后顾之忧

小结

其实以上方法不过是个替换方法而已,无论谁都可以轻松实现,期待交流!

《Linux 终端命令 rm 删除的文件进入回收站实现方法》上有11条评论

  1. 你把rm作为totrash的别名,那你如何删除回收站文件夹呢?
    建议直接在新建一个命令/usr/bin/trash
    用法:trash filename
    rm仍然保持他的用法,平时多用trash命令就行了

      1. 你好!楼主!按你的操作出现了个问题:
        [root@liye ~]# source .cshrc
        alias rm=’rm -i’
        bash: alias: rm -i: not found
        alias cp=’cp -i’
        bash: alias: cp -i: not found
        alias mv=’mv -i’
        bash: alias: mv -i: not found
        bash: alias: rm=“/bin/totrash”: not found能帮我看看吗?谢谢

        1. 在/bin目录新建文件totrash
          编辑文件添加
          #!/bin/sh
          # script to send removed files to trash directory
          mv $@ ~/.local/share/Trash/files

          修改属性chmod +x /bin/totrash
          #vim ~/.bashrc
          添加
          alias rm="/bin/totrash"
          #source ~/.bashrc

          1. 首先得感谢楼主的耐心回答哈!
            .cshrc和.bashrc这两个文件都有,我是在.bashrc中添加的!
            现在按你说的也操作了,不过还是没实现!
            1.问题是用roo执行rm会出现:
            mv: 无法将“文件”移动到”/root/.local/share/Trash/files‘’:没有那个文件或目录
            2.如果以普通用户名执行rm:
            他会提示:是否删除有写保护的文件。刚我执行删除之后,桌面的回收站里没有我rm的文件
            不晓得是不是linux版本的不同!
            让楼主费心了

            1. mkdir /root/.local/share/Trash/files
              或者更改mv $@ 你桌面回收站的路径…
              其实这个删除到回收站是重定义rm的功能为移动文件到指定目录
              应该没有版本的区别
              如果新建/root/.local/share/Trash/files此目录,你删除的文件应该也在这里

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code