给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

bash 复制代码
#下载安装垃圾回收站【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 优化构建目标、编译依赖缺失、内存不足或源码 / 编译器兼容问题。解决方法如下:

bash 复制代码
#解决"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源)。

bash 复制代码
#永久配置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
bash 复制代码
#临时使用(终端一旦关闭就没有了)
#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、安装回收站

bash 复制代码
#安装回收站
pip3 install trash-cli

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

bash 复制代码
#红帽系9及其以上版本在线安装回收站
#1-先安装epel源
yum install epel-release -y

#2-在线安装回收站
yum install trash-cli -y

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

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

bash 复制代码
#配置在指定用户下删除文件时使用回收站配置
#如:只给root用户配置删除文件时使用回收站(将【/root/.bashrc】文件中的【alias rm='rm -i'】修改为【alias rm='trash-put'】后保存退出)
vi /root/.bashrc

#让修改的配置生效
source /root/.bashrc
bash 复制代码
#配置全局用户都在删除文件时使用回收站(在【/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

bash 复制代码
#配置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的命令 | 说明 |
| 1 | trash-put (别名是:trash) | 安全删除文件或目录到回收站,保留文件原属性(权限、修改时间等)(适用于替代rm命令,防止误删)。 注意:回收站的默认目录是【 ~/.local/share/Trash】 常用参数如下: ①【--trash-dir 路径】指定自定义回收站的路径(覆盖默认/环境变量配置)。 ②【--force】强制删除指定文件或目录,无需手动确认。 ③【--verbose】详细输出删除过程(显示原路径、目标回收站路径、文件大小等) bash #使用示例 #1-删除文件(即:将文件放到回收站) trash-put test.txt trash test.txt #2-指定自定义回收站删除,并查看详细过程 trash-put --trash-dir /data/mytrash --verbose test1.txt #3-强制删除文件,且没有提示 trash-put --force test2.txt |
| 2 | trash-list | 列出回收站中所有被删除的文件 常用参数如下: ①【--trash-dir 路径】指定要查询的自定义回收站路径。 ②【--verbose】详细输出删除过程(显示原路径、目标回收站路径、文件大小等)。 bash #使用示例 #1-基础查询(显示默认回收站的内容) trash-list #2-查询自定义回收站的所有文件 trash-list --trash-dir /data/mytrash #3-筛选查询 trash-list | grep "text" |
| 3 | trash-restore | 从回收站中恢复指定文件或目录 常用参数如下: ①【--trash-dir 路径】指定要恢复的自定义回收站路径。 bash #使用示例 #1-从默认回收站中恢复指定文件(默认进入交互式选择界面, #输入对应编号即可恢复,恢复后文件会回到原路径(若原路径不存在,会保留在回收站中并提示) #若要恢复多个内容(若恢复编号2到5的内容则输入【2-5】)) trash-restore #2-从自定义回收站中恢复指定文件(默认进入交互式选择界面, #输入对应编号即可恢复,恢复后文件会回到原路径(若原路径不存在,会保留在回收站中并提示)) #若要恢复多个内容(若恢复编号2到5的内容则输入【2-5】)) trash-restore --trash-dir /data/mytrash |
| 4 | trash-rm | 从回收站中永久删除指定文件 常用参数如下: ①【--trash-dir 路径】指定要永久的自定义回收站路径。 bash #使用示例 #1-永久删除默认回收站中的指定文件 trash-rm test.txt #2-永久删除默认回收站中的.txt结尾的文件 trash-rm *.txt #3-从自定义回收站中永久删除指定文件 trash-rm --trash-dir /data/mytrash test1.txt |
| 5 | trash-empty | 批量清空回收站中的所有或过期文件(可以指定天数来清除超过该天数的垃圾箱内容) 常用参数: ①【--trash-dir 路径】指定要清空的自定义回收站路径。 ②【--days n天】仅清空 N 天前被删除的文件。 bash #使用示例 #1-清空默认回收站中的所有文件 trash-empty #2-仅清空7天前被删除的文件 trash-empty --days 7 #3-清空指定回收站,指定天前的文件 trash-empty --trash-dir /data/mytrash --days 7 |
[回收站tarsh-cli的命令与用法]

相关推荐
x-cmd2 年前
x-cmd pkg | trash-cli - 类 Unix 系统的命令行垃圾桶
linux·windows·python·unix·remove·trash-cli