如何在Linux创建垃圾回收机制

在Linux服务器上,默认情况下是没有回收站的。与Windows系统不同,Linux的rm命令执行删除操作时,不会将文件移动到回收站,而是直接从文件系统中删除。这意味着一旦使用rm命令删除文件,文件将无法通过简单的方法恢复。

如何查看和恢复删除的文件
尽管Linux没有默认的回收站功能,但可以通过一些方法来查看和恢复删除的文件:
1.手动创建回收站功能
2.使用trash-cli工具: 安装trash-cli工具,可以使用类似回收站的功能。安装命令如下: sudo apt-get install trash-cli 然后将rm命令替换为trash-put: alias rm='trash-put'
3.使用文件恢复工具: 如果文件已经被删除,可以尝试使用文件恢复工具如testdisk或extundelete来恢复文件。例如,使用extundelete恢复文件: sudo extundelete /dev/sdX --restore-file/path/to/ deleted/file

今天来分享第一种方法

1.首先第一步:创建一个文件夹充当回收站

mkdir -p ~/.trash

2.使用vim编辑器定义一个回收站脚本

vim ~/.bashrc_trash

alias del=trash

#命令别名 调用del相当于调用trash函数,该函数用于将文件移动到回收站文件夹中

# 将指定的文件移动到trash(回收站)目录下

# 将指定的文件移动到trash(回收站)目录下
trash() {
  mkdir -p ~/.trash  # 确保回收站目录存在
  mv "$@" ~/.trash/
}

# 查看回收站中的文件
alias lr='ls ~/.trash'

# 找回回收站中的文件
undelfile() {
  mkdir -p ~/.trash  # 确保回收站目录存在
  for file in "$@"; do
    if [ -e ~/.trash/"$file" ]; then
      mv -i ~/.trash/"$file" ./
    else
      echo "文件 ~/.trash/$file 不存在,无法恢复。"
    fi
  done
}

# 清空回收站目录下的所有文件
cls() {
  read -p "确定要清空回收站吗?[y/n] " confirm
  if [ "$confirm" == 'y' ] || [ "$confirm" == 'Y' ]; then
    rm -rf ~/.trash/*
    echo "回收站已清空。"
  else
    echo "操作已取消。"
  fi
}

3.第三步配置环境变量

vim ~/.bashrc

#文件末尾添加以下代码
if [ ! -f "~/.bashrc_trash" ]; then
      . ~/.bashrc_trash
fi

4.最后加载环境变量使脚本生效

source ~/.bashrc

说明(对脚本配置的一个使用说明):

1.删除命令 del + 要删除的文件名

2.查看回收站命令 lr

3.将回收站中的文件找回到当前文件夹 ur + 需要找回的文件名

4.清空回收站 cls

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值