Python trash-cli模块实现Linux服务器回收站

概述:

trash-cli是一个用于管理类 Unix 系统垃圾箱的命令行工具。它提供了一个安全的替代方案来代替传统的 `rm` 命令,后者会永久删除文件和目录。使用 trash-cli,文件和目录被移动到垃圾箱中,这样就可以在意外删除的情况下恢复它们。

以下是 trash-cli 的一些关键方面:
功能trash-cli 允许您从命令行执行各种与垃圾箱相关的操作,如将文件或目录移到垃圾箱、列出垃圾箱中的项目、从垃圾箱中恢复项目以及清空垃圾箱。

命令

  • trash-put:将文件或目录移动到垃圾箱。
  • trash-list:列出垃圾箱中的项目。
  • trash-restore:从垃圾箱中恢复项目。
  • trash-empty:清空垃圾箱。可以指定天数来清除超过该天数的垃圾箱内容。
  • trash-rm: 删除回收站文件

安装trash-cli
1、在线安装,可以通过包管理器安装。

(base) [root@bogon ~]# pip install trash-cli

在这里插入图片描述

2、离线源码安装

(base) [root@bogon trash-cli]# git clone https://github.com/andreafrancia/trash-cli.git
(base) [root@bogon trash-cli]# cd trash-cli
(base) [root@bogon trash-cli]# pip install .
(base) [root@bogon trash-cli]# export PATH=~/.local/bin:"$PATH"

使用场景:这个工具特别适合那些想要避免意外永久删除文件的用户,尤其是在使用命令行操作时。通过将文件移到垃圾箱,用户可以有机会在最终决定删除之前复查文件。
建议把rm命令设置下别名

(base) [root@bogon trash-cli]# alias rm='echo "The alias has been set in the rm command. Use the trash-cli command line tool"; false'

定时清空回收站
可以利用crontab来实现下面命令每天0点清空回收站3天前的内容

0 0 * * * trash-empty 3

总之,trash-cli 是一个非常有用的工具,为命令行环境中的文件删除操作提供了一个安全层。

可能出现的问题
CentOS7 安装时出现了一个错误

Processing /root/trash-cli
Collecting psutil (from trash-cli==0.21.7.24)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e1/b0/7276de53321c12981717490516b7e612364f2cb372ee8901bd4a66a000d7/psutil-5.8.0.tar.gz
    Complete output from command python setup.py egg_info:
    /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
      warnings.warn(msg)
    /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'long_description_content_type'
      warnings.warn(msg)
    error in psutil setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-n6gexX/psutil/
You are using pip version 8.1.2, however version 21.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

psutil 版本的问题,执行安装旧版本

pip install psutil==5.7.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/292115.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

stm32学习总结:5、Proteus8+STM32CubeMX+MDK仿真串口并使用串口打印日志(注意重定向printf到串口打印的问题)

stm32学习总结:5、Proteus8STM32CubeMXMDK仿真串口并使用串口打印日志(注意重定向printf到串口打印的问题) 文章目录 stm32学习总结:5、Proteus8STM32CubeMXMDK仿真串口并使用串口打印日志(注意重定向printf到串口打印…

网络路由跟踪工具

随着企业网络需求的增长,组织发现监控和管理其网络基础设施变得越来越困难。网络管理员正在转向其他工具和资源,这些工具和资源可以使他们的工作更轻松一些,尤其是在故障排除方面。 目前,网络管理员主要使用简单、免费提供的实用…

Consule安装与SpringBoot集成

Consule Consul 是由 HashiCorp 开发的一款软件工具,提供了一组功能,用于服务发现、配置管理和网络基础设施自动化。它旨在帮助组织管理现代分布式和微服务架构系统的复杂性。以下是Consul的一些关键方面和功能: 服务发现:Consul…

Spring AOP的环境搭建、切入点表达式、通知注解

Spring AOP的实现 Spring AOP环境搭建AOP坐标依赖引入添加xml配置实现三层架构 定义切入点Pointcut("匹配规则")切入点表达式1. 执行所有的公共方法2.执行任意的set方法3.设置指定包下的任意类的任意方法 (指定包: com.svt.service)4.设置指定包及于包下的任意类的任…

Apache Commons BCEL与Java字节码操作

第1章:Apache Commons BCEL简介 大家好,我是小黑,咱们今天来聊聊Apache Commons BCEL(Byte Code Engineering Library)。你可能会问,BCEL是什么鬼?别急,小黑这就给你娓娓道来。BCEL…

力扣刷题-二叉树-二叉搜索树中的搜索

700 二叉搜索树中的搜索 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 在上述示例中,如果要找的值是 5&#x…

npm安装sharp出现的问题(安装失败的问题及解决)

npm安装sharp库出现的问题及解决 npm安装sharp出现的问题及解决: Buffer的使用以及对图片的操作(通过sharp库对图片进行操作) npm安装sharp出现的问题及解决: 在使用npm安装sharp一直安装不成功。后面发现安装sharp需要依赖libvip…

Spring常用注解及模拟用户登录流程示例

注解 Resource注解实现自动注入 (反射)代码块xml配置文件 Autowired注解实现自动化注入代码块xml配置文件 扫描器-四个注解Dao层-RepositoryService层-ServiceController层-Controller测试任意类-Component 常用注解示例-模拟用户登录配置自动扫描的xml文件实体类Userdao层消息…

【机器学习基础】DBSCAN

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!相对完整的机器学习基础教学! ⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战…

知识图谱企业图谱怎么做

随着人工智能技术的不断发展,知识图谱技术逐渐在各行各业得到了广泛应用,为各行业企业提供了强有力的数据分析手段。尤其是在金融、医疗、电商等领域,企业知识图谱技术可以帮助企业解决数据孤岛、信息孤岛等问题,实现数据整合与共…

腾讯云企业用户优惠活动整理汇总

腾讯云一直致力于为广大企业用户提供高品质、高性价比的云计算产品和服务。为了帮助企业用户更好地了解腾讯云的优惠活动,本文将对腾讯云企业用户的优惠活动进行整理汇总。 一、新客专享福利 腾讯云为新用户提供了一系列的优惠活动,除了可以领取专属代金…

[Mac软件]Boxy SVG 4.20.0 矢量图形编辑器

Boxy SVG 是一款入门级矢量图形编辑器,具有全套基本功能、易于学习的选项卡式界面和可自定义的键盘快捷键。有了它,您可以轻松创建横幅、图标、按钮、图形、界面草图,甚至有趣的表情包。 编辑器支持使用多种工具创建和编辑矢量对象&#xff…

【普中开发板】基于51单片机的篮球计分器液晶LCD1602显示( proteus仿真+程序+设计报告+讲解视频)

基于普中开发板51单片机的篮球计分器液晶LCD1602显示 1.主要功能:讲解视频:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单&&下载链接资料下载链接(可点击): 基于51单片机的篮球计分器液晶LCD1602显示 ( pr…

【LLM】大型语言模型综述论文

今天我将与大家分享一篇精彩的论文。这项调查提供了LLM文献的最新综述,这对研究人员和工程师来说都是一个有用的资源。 为什么选择LLM? 当参数尺度超过一定水平时,这些扩展的语言模型不仅实现了显著的性能改进,而且还表现出一些…

1*2*3+3*4*5+...+99*100*101python,1加到100的程序算法python

大家好,本文将围绕python中123一直加到100程序怎么写展开说明,计算123456...100的值python是一个很多人都想弄明白的事情,想搞清楚计算1-23-45 … -100的值python需要先了解以下几个事情。 今天下午上python课的时候,老师留了一个…

Nginx 的SSL证书配置

目录 1.申请域名,证书下载 2.准备站点源代码 3.修改nginx 对应网站的配置文件 4.修改 host 文件 http协议访问的网站默认会显示不安全,因为数据默认是明文传输的 https是httpssl,ssl是加密协议,通过证书来进行加密的&#xff…

【Leetcode】2487. 从链表中移除节点

文章目录 题目思路代码 题目 2487. 从链表中移除节点 思路 1、递归移除节点: 如果头节点为空,直接返回空。递归调用函数处理下一个节点 head->next。在递归返回后,判断当前节点的值是否小于之前记录的最大值 maxVal。如果小于 maxVal…

全国计算机等级考试| 二级Python | 真题及解析(7)

一、选择题 1.python中,表达式5%2 = ( )。 A.2.5 B.2 C.1 D.0 2.已知字符串a="python",则a[ 1 : 3 ]的值为( ) A."pyth" B."pyt" C."py" D…

2023年工作初体验

23年终于正式入职,参与了正式上线的电商平台、crm平台等项目的研发,公司规模较小,气氛融洽,没有任何勾心斗角、末位淘汰,几乎没什么压力。虽然是我的第一家公司,但实际是个适合养老的公司(笑 总…

郑州大学算法设计与分析实验2

判断题 1 #include<bits/stdc.h> using namespace std;const int N 50; int f[N], n;int main() { // freopen("1.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n;f[1] 1; f[2] 1;for(int i 3; i &l…