给你的Linux添加回收站功能

简介

系统管理员经常会用到rm -rf 来删除一些服务器上的文件,对于职场老油条还行,但是对于新手来说这个命令就有点骇人了, 不小心删除了,找都找不回来(比较难),那有没有跟windows一样的回收站功能呢?有!

trash-cli 用于移动文件到回收站,同时会记录文件的原地址、删除日期和权限。

trash-cli

安装


# 命令行安装
pip install trash-cli

# 源码安装

# 为所有用户安装:
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
sudo pip install .

# 为当前用户安装:
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
pip install .

# 为当前用户安装后你可能需要把以下代码添加到 .bashrc:
export PATH=~/.local/bin:"$PATH"

# 卸载命令
pip uninstall trash-cli

# Debian/Ubuntu (apt):
sudo apt install trash-cli

用法

trash-put           #把文件或目录移动到回收站
trash-empty         #清空回收站
trash-list          #列出回收站文件
trash-restore      # 恢复回收站文件
trash-rm            #删除回收站文件

示例


[root@ewain-tencent:/data/devops]# ll
总用量 4
-rw-r--r-- 1 root root 0 9月  21 10:31 1
-rw-r--r-- 1 root root 0 9月  21 10:31 2
-rw-r--r-- 1 root root 0 9月  21 10:31 3
-rw-r--r-- 1 root root 0 9月  21 10:31 4
-rw-r--r-- 1 root root 8 5月   9 10:27 README.md

[root@ewain-tencent:/data/devops]# trash-put ./*        # 删除所有文件
[root@ewain-tencent:/data/devops]# ll
总用量 0

[root@ewain-tencent:/data/devops]# trash-list        # 查看被删除的文件
2022-09-21 10:31:43 /data/devops/1
2022-09-21 10:31:43 /data/devops/4
2022-09-21 10:31:43 /data/devops/README.md
2022-09-21 10:31:43 /data/devops/2
2022-09-21 10:31:43 /data/devops/3

[root@ewain-tencent:/data/devops]# trash-restore        # 恢复文件
   0 2022-09-21 10:42:07 /data/devops/1
   1 2022-09-21 10:42:07 /data/devops/4
   2 2022-09-21 10:42:07 /data/devops/README.md
   3 2022-09-21 10:42:07 /data/devops/2
   4 2022-09-21 10:42:07 /data/devops/3
What file to restore [0..4]: 1        # 按序号来恢复,也可恢复文件夹。

[root@ewain-tencent:/data/devops]# trash-rm 2        # 回收站删除单个文件,不可恢复
[root@ewain-tencent:/data/devops]# trash-list
2022-09-21 10:42:07 /data/devops/1
2022-09-21 10:42:07 /data/devops/README.md
2022-09-21 10:42:07 /data/devops/3

[root@ewain-tencent:/data/devops]# trash-empty        # 清空回收站
Would empty the following trash directories:
    - /root/.local/share/Trash
Proceed? (y/n) y

删除的文件其实是在$USER/.local/share/Trash/files

给系统的rm命令别名


[root@ewain-tencent:/data/devops]# echo "alias rm='trash-put'" >> /etc/bashrc        # 不太建议,Bash别名仅在交互式shell中使用,因此使用此别名不应干扰预期使用rm的脚本。脚本删除的文件不回去回收站。
[root@ewain-tencent:/data/devops]# source /etc/bashrc

[root@ewain-tencent:/data/devops]# rm 4
[root@ewain-tencent:/data/devops]# trash-list
2022-09-21 11:13:19 /data/devops/4

[root@ewain-tencent:/data/devops]# rm test_file        # 删除文件夹也不需要加r
[root@ewain-tencent:/data/devops]# trash-list
2022-09-21 11:13:19 /data/devops/4
2022-09-21 11:15:43 /data/devops/test_file

自动清理工具

Autotrash 是一个用于自动删除的小型 Python 脚本 (永久删除)垃圾文件。

autotrash

  • 安装

$ wget https://github.com/bneijt/autotrash/archive/v0.2.1.zip
$ unzip v0.2.1.zip
$ cd autotrash-0.2.1
$ python setup.py install

$ whereis autotrash
autotrash: /usr/bin/autotrash

  • 用法

$ autotrash -d 30   #删除回收站中超过 30 天的文件
$ autotrash -td 30  #删除所有用户的回收站文件,上边的命令只删除当前用户对应的回收站文件
$ autotrash --max-free 1024 -d 30  #如果回收站的剩余的空间少于 1GB,那么 autotrash 将从回收站中清除超过 30 天的已删除文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值