回收站脚本trash.sh

#!/bin/bash  
  
# 设置回收站目录和日志文件  
TRASH_DIR="$HOME/.trash"  
LOG_FILE="$HOME/.trash_log"  
  
# 检查回收站目录是否存在,不存在则创建  
if [ ! -d "$TRASH_DIR" ]; then  
  mkdir -p "$TRASH_DIR"  
fi  
  
# 移动文件或目录到回收站,并记录日志  
for item in "$@"; do  
  if [ -e "$item" ]; then  
    # 获取文件或目录的基本名称和路径  
    base=$(basename "$item")  
    dir=$(dirname "$item")  
      
    # 构建在回收站中的新路径  
    timestamp=$(date +%Y%m%d%H%M%S)  
    dest="$TRASH_DIR/${timestamp}_${base}"  
      
    # 记录日志:原始路径 -> 新路径  
    echo "$item -> $dest" >> "$LOG_FILE"  
      
    # 移动文件或目录到回收站  
    if [ -d "$item" ]; then  
      mv "$item" "$dest"  
    else  
      cp "$item" "$dest" && rm "$item"  
    fi  
      
    echo "Moved $item to $dest"  
  else  
    echo "Error: $item does not exist"  
  fi  
done

在这个脚本中LOG_FILE变量来指定日志文件的路径。在每次移动或复制文件到回收站时,都会将原始路径和新路径记录到日志文件中。这样,在需要恢复文件时,就可以查阅$HOME/.trash_log来找到文件的原始位置。

  • 17
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值