news 2026/8/29 6:39:48

给Linux服务器增加一个回收站

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
给Linux服务器增加一个回收站

Linux的实用技巧——服务器根目录所有权取消后修复、SSH的互信与安全配置、Java应用的在线诊断https://coffeemilk.blog.csdn.net/article/details/156359335

Linux服务器的后悔药实践操作https://coffeemilk.blog.csdn.net/article/details/156147184?spm=1001.2014.3001.5502

一、红帽系7及其以下版本安装回收站

1.0、Linux的回收站trash-cli简介

trash-cli是一个命令行回收站工具,并且符合 FreeDesktop.org 的垃圾trash规范。它能够存储每一个垃圾文件的名字、原始路径、删除日期和权限。

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

1.1、下载安装配置python3

#下载安装垃圾回收站【trash-cli】 #1-查看python版本(若不是Python3则需升级) python --version #2-安装python3版本所需的环境 yum groups mark install "Development Tools" yum groups mark convert "Development Tools" yum -y groupinstall "Development tools" yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel zlib1g-dev zlib* kernel-devel #3-下载python3的安装包进行安装 wget https://www.python.org/ftp/python/3.14.2/Python-3.14.2.tgz -c -P /data cd /data tar -zxvf Python-3.14.2.tgz cd Python-3.14.2/ #创建安装python3的安装目录,方便统一管理 mkdir -p /usr/local/python3 #预编译指定python3的安装路径,这样不但管理方便,且可以提高pythonpython10%-20%代码运行速度(若不指定的,则在安装过程中可能软件所需要的文件复制到其他不同目录,删除与复制python软件都不方便) ./configure --prefix=/usr/local/python3 --enable-optimizations #正式编译安装python(等待3分钟左右,若最后结尾没有报错信息则表示编译安装完成,否则需要根据报错信息解决,若需要重新编译则需要先清空原有编译内容【make clean】) make && make install #4-创建软链接(可以直接使用python3与pip3命令) ll /usr/local/python3/bin ln -s /usr/local/python3/bin/python3.14 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local//bin/pip3 #5-查看python3与pip3的版本型 python3 -V pip3 -V #6-配置python的环境 vi /etc/profile #【/etc/profile】文件末尾添加的Python环境内容如下 export PATH="$PATH:/usr/local/python3/bin" #7-让配置的python环境生效 source /etc/profile

注意:若在最后显示“make[1]: *** [Python/frozen_modules/abc.h] 段错误 (core dumped)
make[1]: 离开目录“/data/Python-3.14.2”
make: *** [profile-opt] 错误 2”错误
很可能是profile-opt优化构建目标、编译依赖缺失、内存不足或源码 / 编译器兼容问题。解决方法如下:

#解决“make: *** [profile-opt] 错误”方法 #1-清空预编译等配置,恢复源码包初始状态(删除 configure 生成的所有文件) make distclean #2-指定预编译的安装路径 ./configure --prefix=/usr/local/python3 #3-正式编译安装python(等待3分钟左右,若最后结尾没有报错信息则表示编译安装完成,否则需要根据报错信息解决) make && make install #4-创建软链接(可以直接使用python3与pip3命令) ll /usr/local/python3/bin ln -s /usr/local/python3/bin/python3.14 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local//bin/pip3 #5-查看python3与pip3的版本型 python3 -V pip3 -V #6-配置python的环境 vi /etc/profile #【/etc/profile】文件末尾添加的Python环境内容如下 export PATH="$PATH:/usr/local/python3/bin" #7-让配置的python环境生效 source /etc/profile

1.2、配置pip3的源

由于pip3默认的源是国外的,导致在国内下载就十分缓慢,因此我们需要针对pip的源做一个配置修改为国内的源(如:华为云pypi、阿里云pypi源)。

#永久配置pip安装源 #1-在当前用户目录下新建【.pip】文件夹 mkdir -p ~/.pip #2-进入当前用户的【.pip】文件夹新建文件【pip.conf】之后配置国内对应的pip镜像网站地址 vi ~/.pip/pip.conf #【~/.pip/pip.conf】文件的完整内容如下: [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com

#临时使用(终端一旦关闭就没有了) #1-临时使用阿里云的pip源 pip3 install numpy -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com #2-临时使用豆瓣的pip源 pip3 install numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

1.3、安装回收站

#安装回收站 pip3 install trash-cli

二、红帽系8及其以上版本在线安装回收站

#红帽系9及其以上版本在线安装回收站 #1-先安装epel源 yum install epel-release -y #2-在线安装回收站 yum install trash-cli -y

三、回收站tarsh-cli的用法与配置

3.1、配置用户删除文件时就使用回收站

#配置在指定用户下删除文件时使用回收站配置 #如:只给root用户配置删除文件时使用回收站(将【/root/.bashrc】文件中的【alias rm='rm -i'】修改为【alias rm='trash-put'】后保存退出) vi /root/.bashrc #让修改的配置生效 source /root/.bashrc
#配置全局用户都在删除文件时使用回收站(在【/etc/bashrc】文件末尾添加【alias rm='trash-put'】后保存退出) vi /etc/bashrc #让修改的配置生效 source /etc/bashrc

3.2、配置回收站的全局参数(可选)

trash-cli会按从高到低的优先级依次查找config.ini文件,找到第一个有效文件后即停止查找。环境变量指定路径 > 用户级默认路径(~/.config/trash-cli/config.ini) > 系统级默认路径(/etc/trash-cli/config.ini

#配置trash-cli回收站的配置 #1-配置trash-cli回收站的全局默认配置【最低优先级】 mkdir -p /etc/trash-cli vi /etc/trash-cli/config.ini #2-配置trash-cli回收站的用户级默认路径(最常用)【最高优先级】 mkdir -p ~/.config/trash-cli vi ~/.config/trash-cli/config.ini #【config.ini】文件内容 #设置垃圾文件存储的根目录(全局生效,所有用户的垃圾文件都会存放在此) XDG_DATA_HOME=/var/.mytrash #设置垃圾文件的保留时间(单位:天),超过该时间自动清理(默认无过期时间) TRASH_EXPIRE_DAYS=30 #是否开启删除确认提示(yes=开启,no=关闭,默认开启) TRASH_CONFIRMATION=no #是否显示删除文件的详细日志(yes=显示,no=隐藏,默认隐藏) TRASH_VERBOSE=yes #允许跨设备删除挂载设备上的文件 allow_cross_device = true #4-创建统一垃圾桶目录并配置权限 mkdir -p /var/.mytrash #通过用户组控制(更安全,适合指定用户组共享) #4.1-创建垃圾桶专用用户组 sudo groupadd trash-users #4.2-将需要使用垃圾桶的用户添加到该组(示例:添加 coffeemilk、testuser333,可批量添加) usermod -aG trash-users coffeemilk usermod -aG trash-users testuser333 #4.3-配置目录所属组为 trash-users,并赋予组读写执行权限 chown root:trash-users /var/.mytrash chmod 2775 /var/.mytrash #让修改的配置生效(或退出终端后重新进入) source /etc/profile

3.3、回收站trash-cli的命令与用法

回收站tarsh-cli的命令与用法
序号回收站tarsh-cli的命令说明
1

trash-put

(别名是:trash)

安全删除文件或目录到回收站,保留文件原属性(权限、修改时间等)(适用于替代rm命令,防止误删)。

注意:回收站的默认目录是【 ~/.local/share/Trash】

常用参数如下:

①【--trash-dir 路径】指定自定义回收站的路径(覆盖默认/环境变量配置)。

②【--force】强制删除指定文件或目录,无需手动确认。

③【--verbose】详细输出删除过程(显示原路径、目标回收站路径、文件大小等)

#使用示例 #1-删除文件(即:将文件放到回收站) trash-put test.txt trash test.txt #2-指定自定义回收站删除,并查看详细过程 trash-put --trash-dir /data/mytrash --verbose test1.txt #3-强制删除文件,且没有提示 trash-put --force test2.txt
2trash-list

列出回收站中所有被删除的文件

常用参数如下:

①【--trash-dir 路径】指定要查询的自定义回收站路径。

②【--verbose】详细输出删除过程(显示原路径、目标回收站路径、文件大小等)。

#使用示例 #1-基础查询(显示默认回收站的内容) trash-list #2-查询自定义回收站的所有文件 trash-list --trash-dir /data/mytrash #3-筛选查询 trash-list | grep "text"
3trash-restore

从回收站中恢复指定文件或目录

常用参数如下:

①【--trash-dir 路径】指定要恢复的自定义回收站路径。

#使用示例 #1-从默认回收站中恢复指定文件(默认进入交互式选择界面, #输入对应编号即可恢复,恢复后文件会回到原路径(若原路径不存在,会保留在回收站中并提示) #若要恢复多个内容(若恢复编号2到5的内容则输入【2-5】)) trash-restore #2-从自定义回收站中恢复指定文件(默认进入交互式选择界面, #输入对应编号即可恢复,恢复后文件会回到原路径(若原路径不存在,会保留在回收站中并提示)) #若要恢复多个内容(若恢复编号2到5的内容则输入【2-5】)) trash-restore --trash-dir /data/mytrash
4trash-rm

从回收站中永久删除指定文件

常用参数如下:

①【--trash-dir 路径】指定要永久的自定义回收站路径。

#使用示例 #1-永久删除默认回收站中的指定文件 trash-rm test.txt #2-永久删除默认回收站中的.txt结尾的文件 trash-rm *.txt #3-从自定义回收站中永久删除指定文件 trash-rm --trash-dir /data/mytrash test1.txt
5trash-empty

批量清空回收站中的所有或过期文件(可以指定天数来清除超过该天数的垃圾箱内容)

常用参数:

①【--trash-dir 路径】指定要清空的自定义回收站路径。

②【--days n天】仅清空 N 天前被删除的文件。

#使用示例 #1-清空默认回收站中的所有文件 trash-empty #2-仅清空7天前被删除的文件 trash-empty --days 7 #3-清空指定回收站,指定天前的文件 trash-empty --trash-dir /data/mytrash --days 7

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/19 17:47:59

【Web APIs】Element.classList 操作 DOM 元素 类名集合 ( 添加类名 - add 函数 | 移除类名 - remove 函数 | 切换类名 - toggle 函数 )

文章目录一、Element.classList 操作 DOM 元素 类名集合1、Element.classList 核心概念2、添加类名 - add 函数3、移除类名 - remove 函数4、切换类名 - toggle 函数5、判断类名是否存在 - contains 函数二、代码示例 - Element.classList 操作 DOM 元素 类名集合1、代码示例2、…

作者头像 李华
网站建设 2026/8/27 9:43:36

CUDA安装前必须知道的显卡驱动兼容性清单

CUDA安装前必须知道的显卡驱动兼容性清单 在搭建深度学习开发环境时,你是否曾遇到过这样的报错? CUDA error: no supported devices found The NVIDIA driver used by this device is not compatible with the current CUDA version.明明GPU就在那里&a…

作者头像 李华
网站建设 2026/8/19 17:42:45

工业以太网边缘设备中HAL_UART_RxCpltCallback集成指南

如何用HAL_UART_RxCpltCallback打造工业边缘设备的高效串口通信引擎?在工厂自动化现场,你是否遇到过这样的场景:PLC的数据还没收完,扫码枪又发来一串指令;Modbus报文刚解析一半,HMI界面却卡顿了&#xff1f…

作者头像 李华
网站建设 2026/8/24 10:12:06

CUDA安装后ldconfig未更新?手动添加库路径解决问题

CUDA安装后ldconfig未更新?手动添加库路径解决问题 在部署深度学习环境时,你是否遇到过这样的场景:明明已经安装了完整的CUDA Toolkit,NVIDIA驱动也正常工作,PyTorch或TensorFlow却始终无法启用GPU?运行 to…

作者头像 李华
网站建设 2026/8/19 17:00:42

Pyenv global设置默认Python版本影响Miniconda使用吗

Pyenv global设置默认Python版本影响Miniconda使用吗 在现代Python开发中,一个常见的困扰是:当我在系统中用 pyenv global 设定了默认的Python版本后,会不会“污染”或干扰我通过 Miniconda 创建的虚拟环境?特别是当我们使用像 Mi…

作者头像 李华
网站建设 2026/8/29 0:22:05

Linux crontab定时任务调用Miniconda环境执行PyTorch脚本

Linux crontab定时任务调用Miniconda环境执行PyTorch脚本 在AI工程实践中,一个常见的需求是让模型训练或推理脚本每天凌晨自动运行——比如推荐系统需要基于最新用户行为数据重新生成特征,或者监控系统要每小时对传感器数据做一次异常检测。理想情况下&a…

作者头像 李华