在CentOS系統中,自定義回收站策略可以通過修改文件系統的掛載選項來實現。以下是一些常見的方法:
xattr
和trash-cli
安裝trash-cli
:
sudo yum install trash-cli
配置trash-cli
:
trash-cli
默認會將文件移動到用戶的~/.local/share/Trash/files
目錄下。你可以通過修改~/.local/share/Trash/info/default/ignore
文件來自定義忽略的文件類型。
echo "*.tmp" >> ~/.local/share/Trash/info/default/ignore
設置回收站大小限制:
trash-cli
本身沒有直接設置回收站大小限制的功能,但你可以通過監控和手動清理來實現。
編輯/etc/fstab
:
打開/etc/fstab
文件,找到你要修改的文件系統條目,添加或修改user_xattr
和acl
選項。
sudo vi /etc/fstab
例如,如果你要修改/dev/sda1
分區:
UUID=your-uuid / ext4 defaults,user_xattr,acl 1 1
重新掛載文件系統: 修改完成后,重新掛載文件系統以應用更改。
sudo mount -o remount /
使用setfattr
和getfattr
管理擴展屬性:
你可以使用setfattr
和getfattr
命令來管理文件的擴展屬性,從而實現更細粒度的控制。
# 設置文件的擴展屬性
setfattr -n user.trash /path/to/file
# 獲取文件的擴展屬性
getfattr -n user.trash /path/to/file
inotify
監控文件刪除操作安裝inotify-tools
:
sudo yum install inotify-tools
編寫腳本監控文件刪除操作:
創建一個腳本文件,例如monitor_trash.sh
,內容如下:
#!/bin/bash
MONITOR_DIR="/path/to/monitor"
TRASH_DIR="$HOME/.local/share/Trash/files"
inotifywait -m -r -e delete --format '%w%f' "$MONITOR_DIR" | while read FILE
do
mv "$FILE" "$TRASH_DIR"
done
運行腳本: 賦予腳本執行權限并運行:
chmod +x monitor_trash.sh
./monitor_trash.sh
inotify
監控文件刪除操作時,確保腳本在后臺持續運行。通過以上方法,你可以在CentOS系統中自定義回收站策略,以滿足不同的需求。