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

news2024/11/28 4:50:55

概述:

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Nginx】在线安装与离线安装

目录 1、下载nginx news 1.2、 安装包 2、 在线安装 第一步,安装pcre 第二步,安装openssl 、zlib 、 gcc 依赖 第三步,安装nginx 第四步,关闭防火墙,访问nginx ​编辑 3、 离线安装 第一步 安装pcre 第二步…

android 通过反射获取U盘路径地址

2015-01-20 21:37:05.420 26674-26674/ E/MainActivity: ---getUsbPath() length2 2015-01-20 21:37:05.420 26674-26674/E/MainActivity: ---getUsbPath()[/storage/emulated/0, /storage/D65A-07AE]

电脑提示“KBDRU1.DLL文件缺失”,导致游戏和软件无法启动运行,快速修复方法

看到很多小伙伴,在问电脑启动某些软件或游戏的时候,提示“KBDRU1.DLL文件缺失,软件无法启动,请尝试重新安装,解决问题”,不知道应该怎么办? 首先,我们要先了解“KBDRU1.DLL文件”是什…

激光焊接机:塑料产品制造中的革命性优势

随着科技的飞速发展,激光焊接机在塑料产品制造领域的应用越来越广泛。相较于传统的焊接技术,激光焊接机在塑料产品制造中展现出诸多优势,成为现代工业生产中不可或缺的一部分。 一、精确、高效的焊接性能 激光焊接机采用高能激光束作为焊接热…

【 RF 射频 电缆】 MIL-C-17F 标准 规格

第〇、?? RGXXXXX 第一、应用场景 标准号应用场景–(–)RG-8 RG-9 RG-11粗缆以太网–RG-58细缆以太网–RG-59 RG-75电视系统–RG-62ARCnet网络和IBM 3270网络–RG142电信设备之间的互连 航空电子机架 雷达 GPS 医疗–RG178通信…

基于深度学习的PCB板缺陷检测系统(含UI界面、yolov8、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8 yolov8主要包含以下几种创新:         1. 添加注意力机制(SE、CBAM等)         2. 修改可变形卷积(DySnake-主干c…

开发知识点-Weblogic

Weblogic 介绍CVE_2018_2628poc-yaml-weblogic-ssrfpoc-yaml-weblogic-cve-2017-10271poc-yaml-weblogic-cve-2019-2725poc-yaml-weblogic-cve-2019-2729-1poc-yaml-weblogic-cve-2019-2729-2poc-yaml-weblogic-cve-2020-14750poc-yaml-weblogic-local-cve-2022-21371-file-inc…

低压线性恒流驱动芯片的产品特性与应用领域

低压线性恒流驱动芯片是一种具有多种产品特性的电子器件。 首先,它具有广泛的输入电压范围,可以适用于5V至80V的输入电压,使得其在不同的电源环境下都能正常工作。 低压线性恒流驱动芯片的产品特性与应用领域 其次,该芯片的输出…

函数——系统函数(c++)

二维数组结束,就到函数了。函数,就相当于scratch中的自制积木,需要自己定义其作用,让代码更简洁、一目了然。但是,与scratch不同的是,c中,系统就给出了一些函数,如:sizoe…

内存管理的概念-第四十一天

目录 前言 内存空间的分配与回收 内存空间的扩展 地址转换 存储保护 上下限寄存器 重定位寄存器和界地址寄存器 本节思维导图 前言 操作系统作为系统资源的管理者,当然也需要对内存进行管理,要管理什么呢? 操作系统复杂内存空间的分…

【网络】网络层IP地址和IP数据报的格式

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

1-Linux-基础

文章目录 Linux基础知识操作系统基础知识Linux基础知识Linux系统的组成Linux系统图示Linux发行版 Linux基础命令Linux系统的目录结构目录结构对比:windows路径描述方式 Linux命令入门Linux命令通用格式入门命令示例:ls 目录切换【命令】路径:…

使用valgrind 分析缓存命中

使用valgrind 分析缓存命中 char transpose_submit_desc[] "Transpose submission"; void transpose_submit(int M, int N, int A[N][M], int B[M][N]) { int i,j,tmp;int bsize 8;unsigned long long addrA;unsigned long long addrB;unsigned long long setin…

什么是差值表达式

在Vue.js中,差值表达式是一种基本的数据绑定形式,用于将数据绑定到文档对象模型(DOM)上。差值表达式通常使用双大括号 {{ }} 来表示,这种语法非常直观。当Vue实例的数据发生变化时,差值表达式的内容也会相应…

HttpSession的使用

1 HttpSession 概述 在 Java Servlet API 中引入 session 机制来跟踪客户的状态。session 指的是在一段时间内,单个客户与 Web 服务器的一连串相关的交互过程。在一个 session 中,客户可能会多次请求访问同一个网页,也有可能请求访问各种不同…

how2heap-2.23-05-unsorted_bin_attack

先看看unsorted bin的入链和出链情况 #include <malloc.h>int main() {char* a malloc(0x88);malloc(0x8);char* b malloc(0x100);malloc(0x8);free(a);free(b);char* c malloc(0x88);char* d malloc(0x100);return 0; }分配chunk char* a malloc(0x88); malloc(0…

力扣刷题-二叉树-构建树

106.从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如&#xff0c;给出 中序遍历 inorder [9,3,15,20,7] 后序遍历 postorder [9,15,7,20,3] 返回如下的二叉树&#xff1a; 思路 参考&#xff1a;…

微信小程序开发系列-14模块的导入与导出

微信小程序开发系列目录 《微信小程序开发系列-01创建一个最小的小程序项目》 《微信小程序开发系列-02注册小程序》 《微信小程序开发系列-03全局配置中的“window”和“tabBar”》 《微信小程序开发系列-04获取用户图像和昵称》 《微信小程序开发系列-05登录小程序》 《…

CSS学习之路: 基础学习篇

css基础 一、css3 概述 1.1、什么是css Cascading style sheets 层叠样式表&#xff0c;级联样式表&#xff0c;简称样式表 1.2、css作用 对页面中html元素进行美化 1.3、HTML和css的关系 HTML&#xff1a;负责页面结构的搭建&#xff0c;负责数据的展示CSS&#xff1a;…

Python+PyCharm的安装配置及教程(实用)

python and PyCharm 安装教程可参考&#xff1a;https://blog.csdn.net/wangyuxiang946/article/details/130634049 Pyhon 下载地址&#xff1a;https://www.python.org/downloads/ PyCharm 下载地址&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindo…