Hello! 欢迎来到小浪云!


Linux回收站如何自定义


Linux回收站如何自定义

Linux操作系统中,回收站并非默认包含的功能,不过可以通过特定手段来模拟这一效果。以下是几种常用的方式用来设置Linux的回收站功能:

利用 .trash 文件夹

  • 在每个用户的主目录里建立一个名为 .trash 的隐藏文件夹,这个文件夹用于存储被临时移除的文件。
  • 更改用户的 .bashrc 文件,重新定义 rm 命令,使得每次执行删除操作时,文件会被转移到 .trash 文件夹中。
  • 示例代码如下:
#!/bin/bash TRASH_DIR="$HOME/.trash" <p>if [ ! -d "$TRASH_DIR" ]; then mkdir -p "$TRASH_DIR" fi</p><p>if [ "$#" -eq 0 ]; then echo "Usage: rm file1 [file2 file3...]" exit 1 fi</p><p>for file in "$@"; do if [ -e "$file" ]; then TIMESTAMP=$(date +%Y%m%d%H%M%S) BASENAME=$(basename "$file") NEW<em>NAME="${BASENAME}</em>${TIMESTAMP}" mv "$file" "$TRASH_DIR/$NEW_NAME" echo "$file is deleted!" else echo "'$file' does not exist!" fi done
  • 把这段代码保存成 /bin/trash.sh 文件,并给予它可执行权限:chmod +x /bin/trash.sh。
  • 编辑 ~/.bashrc 文件,加入以下内容:
alias rm='/bin/trash.sh'
  • 更新终端配置之后,用户就可以像平常一样使用 rm 命令来“删除”文件了。

使用 trash-cli 工具

  • trash-cli 是一种命令行工具,能够提供更为先进的回收站管理功能。
  • 安装 trash-cli:
sudo apt-get install trash-cli  # Debian/Ubuntu sudo yum install trash-cli      # centos/RHEL
  • 使用 trash-cli 来管理回收站:

    • 查看回收站内的内容:trash list
    • 恢复文件:trash restore file_name
    • 清空回收站:trash empty

编写脚本

  • 可以设计一个脚本来监视删除行为,并将被删除的文件转移至指定的目录。
  • 示例脚本:
#!/bin/bash TRASH_DIR="/.local/share/Trash/files" INFO_DIR="/.local/share/Trash/info"</p><p>if [ "$#" -eq 0 ]; then echo "Usage: trash file1 [file2 ...]" exit 1 fi</p><p>for file in "$@"; do if [ -e "$file" ]; then mv "$file" "$TRASH_DIR" echo "[$(date +%Y-%m-%d-%H:%M:%S)] $file" > "$INFO_DIR/${file#<em>.}" echo "Path: $file" >> "$INFO_DIR/${file#</em>.}" echo "DeletionDate: $(date +%Y-%m-%d-%H:%M:%S)" >> "$INFO_DIR/${file#<em>.}" echo "Deleted" >> "$INFO_DIR/${file#</em>.}" else echo "File not found: $file" fi done
  • 给予脚本执行权限:chmod +x trash。
  • 使用 trash 命令来删除文件,这样文件就会被移动到回收站目录。

应用图形界面工具

  • 对于Linux桌面用户而言,还可以下载额外的工具或插件以实现图形界面下的回收站管理。这些工具一般集成在系统的右键菜单中,提供了更加直观便捷的操作体验。

借助以上方法,用户可以在Linux系统内构建一个简易而实用的回收站功能,并设置自动清理过期文件的机制。这种方式不但增强了误删文件的恢复可能性,还有效管理了磁盘空间。

相关阅读