温馨提示×

linux recycle如何排查错误

小樊
42
2026-09-29 18:35:59
栏目: 智能运维

在 Linux 下,“recycle” 通常指**回收站(Trash)**相关功能或程序(如桌面环境的回收站、脚本里的 recycle 机制、或者某些软件自带的 recycle 逻辑)。不同场景下排查错误的方法不一样,下面按常见情况给你一个系统的排查思路。


一、确认你说的 “recycle” 是什么

先明确是哪一种:

  1. 桌面环境回收站(GNOME/KDE/XFCE)
  2. 命令行 recycle 工具(如 trash-cli)
  3. 自写脚本/程序里的 recycle 逻辑
  4. 某个软件(如 Samba、Nextcloud)的回收功能

二、桌面环境回收站问题排查

1. 回收站目录位置

  • 本地用户:~/.local/share/Trash
    • files/:删除的文件
    • info/:删除信息
  • 外接设备:/media/xxx/.Trash-1000

2. 常见错误 & 排查

✅ 文件删了但看不到

ls -la ~/.local/share/Trash
  • 权限问题
  • 磁盘满
  • 文件系统不支持(如 FAT)

✅ 无法删除/恢复

df -h

检查磁盘是否满

✅ 权限错误

chown -R $USER:$USER ~/.local/share/Trash
chmod -R 700 ~/.local/share/Trash

三、trash-cli 报错排查(常见)

1. 安装

pip install trash-cli

2. 常见错误

❌ trash: command not found

which trash

❌ 权限不足

trash-put file
sudo trash-put file  # 不推荐混用

❌ 不在支持的挂载点

trash-list

查看是否跨文件系统


四、自写 recycle 脚本排查

1. 加日志

set -x
exec >> /var/log/recycle.log 2>&1

2. 检查返回值

mv "$file" "$trash_dir"
if [ $? -ne 0 ]; then
  echo "move failed: $file"
fi

3. 常见问题

  • 目标目录不存在
  • 磁盘满
  • 文件名冲突
  • 跨文件系统 mv 失败(用 cp + rm)

五、系统/服务级 recycle(如 Samba)

Samba 回收站

配置文件:

[share]
path = /data
recycle:repository = .recycle
recycle:keeptree = yes
recycle:versions = yes

排查:

testparm
ls -la /data/.recycle

六、通用排查命令(强烈推荐)

journalctl -xe
dmesg | tail
strace -f your_recycle_command

七、你可以补充的信息(方便精准定位)

如果你愿意,可以告诉我:

  1. 用的是哪个系统(Ubuntu / CentOS / Arch?)
  2. 是命令行还是图形界面
  3. 具体报错信息(截图或文字)
  4. 是系统自带还是自己写的 recycle

我可以直接帮你定位到具体原因。

0 踩