首页主机资讯Ubuntu如何设置回收站大小限制

Ubuntu如何设置回收站大小限制

时间2025-11-10 19:42:05发布访客分类主机资讯浏览1382
导读:Ubuntu设置回收站大小限制的常用方法 方法一:使用trash-cli工具(推荐,简单易用) trash-cli是一个命令行工具,可模拟Windows回收站功能,并通过脚本实现容量限制。 安装trash-cli 打开终端,运行以下命令安...

Ubuntu设置回收站大小限制的常用方法

方法一:使用trash-cli工具(推荐,简单易用)

trash-cli是一个命令行工具,可模拟Windows回收站功能,并通过脚本实现容量限制。

  1. 安装trash-cli
    打开终端,运行以下命令安装:
    sudo apt-get install trash-cli
    
  2. 创建回收站清理脚本
    新建一个脚本文件(如~/cleanup_trash.sh),内容如下(设置最大容量为100MB,可根据需求调整):
    #!/bin/bash
    TRASH_DIR="$HOME/.local/share/Trash/files"  # 回收站文件目录
    MAX_SIZE=$((100*1024*1024))                # 最大容量(100MB,单位:字节)
    
    # 获取当前回收站大小
    CURRENT_SIZE=$(du -sb "$TRASH_DIR" | awk '{
    print $1}
        ')
    
    # 若超过限制,删除最旧的文件
    if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ];
     then
        echo "回收站大小超过限制(${
    MAX_SIZE/1024/1024}
        MB),开始清理..."
        find "$TRASH_DIR" -type f -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- | head -n 10 | xargs rm -f  # 删除最旧的10个文件(可根据需求调整数量)
    fi
    
  3. 赋予脚本执行权限
    chmod +x ~/cleanup_trash.sh
    
  4. 设置定时任务(自动清理)
    运行crontab -e,添加以下行(每小时检查一次):
    0 * * * * ~/cleanup_trash.sh >
        >
         ~/trash_cleanup.log 2>
        &
        1
    
    此脚本会每小时检查回收站大小,若超过100MB则删除最旧的10个文件,避免回收站无限增长。

方法二:使用quota工具(系统级配额限制)

quota可限制用户对回收站所在分区的磁盘使用量,间接控制回收站容量(适用于需要严格限制的场景)。

  1. 安装quota工具
    sudo apt-get install quota
    
  2. 修改/etc/fstab文件
    编辑/etc/fstab(需root权限),在回收站所在分区的挂载选项中添加usrquota(用户配额)和grpquota(组配额):
    sudo nano /etc/fstab
    
    找到类似/dev/sda1 /home ext4 defaults 0 2的行,修改为:
    /dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2
    
  3. 重新挂载分区
    sudo mount -o remount /home
    
  4. 初始化配额数据库
    sudo quotacheck -cum /home
    
  5. 启动quota服务
    sudo quotaon -vug /home
    
  6. 设置用户配额
    运行edquota命令为用户设置软限制(超过会警告)和硬限制(超过无法继续写入):
    sudo edquota -u your_username  # 替换为你的用户名
    
    在编辑器中修改以下参数(单位:KB,示例设置为1GB软限制、1.2GB硬限制):
    Disk quotas for user your_username (uid 1000):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sda1                     102400    1048576    1258291        100      200      300
    
    保存退出后,配额生效。

方法三:手动管理(无需安装工具)

若不想使用额外工具,可通过cron定期清理回收站。

  1. 创建清理脚本
    新建~/cleanup_trash.sh,内容如下(每天清理超过7天的文件):
    #!/bin/bash
    TRASH_DIR="$HOME/.local/share/Trash/files"
    find "$TRASH_DIR" -type f -mtime +7 -delete  # 删除7天前的文件
    find "$TRASH_DIR" -type f -mtime +7 -delete  # 同时删除对应的info文件(可选)
    
  2. 赋予执行权限
    chmod +x ~/cleanup_trash.sh
    
  3. 设置定时任务
    运行crontab -e,添加以下行(每天凌晨2点执行):
    0 2 * * * ~/cleanup_trash.sh
    
    此方法可定期清空回收站,避免其占用过多空间,但无动态容量限制。

注意事项

  • 回收站路径:Ubuntu默认回收站路径为~/.local/share/Trash/files(隐藏文件夹),清理脚本需指向此目录。
  • 测试脚本:运行脚本前,建议先手动执行(如~/cleanup_trash.sh),确认不会误删文件。
  • 权限问题:若回收站目录属于root(如系统级回收站),需用sudo运行脚本。

以上方法可根据需求选择,trash-cli+定时任务适合个人用户,quota适合需要严格限制的场景,手动管理适合简单需求。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu如何设置回收站大小限制
本文地址: https://pptw.com/jishu/746565.html
Ubuntu怎样设置回收站自动清空 Debian Nginx如何实现安全防护

游客 回复需填写必要信息