温馨提示×

CentOS回收站如何自定义大小

小樊
49
2025-10-02 22:45:13
栏目: 智能运维

CentOS回收站自定义大小的方法

CentOS系统默认未内置图形化回收站功能,但可通过命令行工具(如trash-cli)自定义脚本实现回收站的容量限制。以下是具体操作步骤:

1. 使用trash-cli工具(推荐)

trash-cli是命令行回收站管理工具,支持通过配置文件限制回收站大小。

  • 安装trash-cli
    运行以下命令安装:
    sudo yum install trash-cli 
  • 配置回收站大小
    编辑全局配置文件/etc/trash.conf(影响所有用户)或用户级配置文件~/.trashrc(仅影响当前用户),添加/修改以下参数:
    [Trash] trash_files_directory = ~/.local/share/Trash/files # 回收站文件存储路径(默认值) trash_max_size = 10G # 设置回收站最大容量(如10GB,支持K/M/G单位) trash_keep_days = 7 # 可选:设置文件保留天数(超过则自动删除) 
    保存文件后,trash-cli会自动应用配置,后续使用trash命令删除的文件会受此限制。
  • 使用trash-cli命令
    • 删除文件至回收站:trash /path/to/file
    • 查看回收站内容:trash-list
    • 清空回收站:trash-empty(或trash-empty 3删除3天前的文件)。

2. 使用lsof+truncate手动管理(无工具依赖)

若不想安装额外工具,可通过truncate命令限制回收站目录大小,并通过脚本定期清理。

  • 创建回收站目录
    mkdir -p ~/.local/share/Trash/files 
  • 设置目录大小上限
    运行以下命令将回收站目录大小限制为10GB(10G可替换为所需容量):
    truncate -s 10G ~/.local/share/Trash/files 
  • 编写清理脚本
    创建cleanup_trash.sh文件,内容如下:
    #!/bin/bash TRASH_DIR="$HOME/.local/share/Trash/files" MAX_SIZE=10G # 与truncate设置的大小一致 # 获取当前回收站大小(单位:KB) CURRENT_SIZE=$(du -sk "$TRASH_DIR" | awk '{print $1}') MAX_SIZE_KB=$(numfmt --from=iec "$MAX_SIZE") # 将G转换为KB # 若超过限制,删除最旧文件 if [ "$CURRENT_SIZE" -gt "$MAX_SIZE_KB" ]; then OLDEST_FILES=$(ls -t "$TRASH_DIR" | tail -n +$(($CURRENT_SIZE / $(numfmt --from=iec "$MAX_SIZE") + 1))) for FILE in $OLDEST_FILES; do rm -rf "$TRASH_DIR/$FILE" done fi 
    赋予脚本执行权限:chmod +x cleanup_trash.sh,并通过cron定期运行(如每天凌晨0点):
    crontab -e 
    添加以下行:
    0 0 * * * /path/to/cleanup_trash.sh ```。 

3. 图形界面用户(GNOME):使用gvfs-trash

若使用GNOME桌面环境,可通过gvfs-trash命令管理回收站,但需修改配置文件调整大小。

  • 安装gvfs-trash
    sudo yum install gvfs-trash 
  • 配置回收站大小
    编辑/etc/gvfs/gvfs.conf文件,添加以下参数(需根据实际需求调整):
    [trash] max-size=10G # 设置回收站最大容量 
    重启桌面环境(如GNOME)以使更改生效:
    systemctl restart gdm 
    使用gvfs-trash命令删除文件:gvfs-trash /path/to/file,查看回收站内容:gvfs-trash-list

注意事项

  • 优先推荐trash-cli:功能完善,支持命令行操作,适合服务器或无图形界面的环境。
  • 配置文件路径:用户级配置(~/.trashrc~/.config/trash/config)仅影响当前用户,全局配置(/etc/trash.conf)影响所有用户。
  • 权限问题:修改系统级配置文件(如/etc/trash.conf)需root权限,用户级配置需用户自身权限。

通过以上方法,可灵活控制CentOS系统中回收站的存储容量,避免因回收站过大占用过多磁盘空间。

0