admin管理员组

文章数量:1588392

方法一:脚本创造新命令trash

rm 命令是一个用于删除文件和文件夹的 Linux 命令。要改造这个命令,让它在删除文件和文件夹之前,将它们移动到一个"回收站"文件夹,我们可以创建一个 Bash 脚本来实现这个功能。下面是一个示例脚本,你可以将其保存为 trash.sh

#!/bin/bash

# 创建回收站目录
TRASH_DIR="${HOME}/.trash"
if [ ! -d "${TRASH_DIR}" ]; then
    mkdir -p "${TRASH_DIR}"
fi

# 判断参数是否为空
if [ -z "$1" ]; then
    echo "Usage: trash.sh [file or directory]"
    exit 1
fi

# 移动文件/目录到回收站
timestamp=$(date +%Y%m%d-%H%M%S)
filename=$(basename -- "$1")
trash_file="${TRASH_DIR}/${filename}-${timestamp}"
mv "$1" "${trash_file}"
echo "Moved $1 to ${trash_file}"

将脚本保存后,赋予它可执行权限:

chmod +x trash.sh

然后,你可以通过以下命令将文件或目录移动到回收站:

./trash.sh [file or directory]

如果你想使用 trash 命令代替 ./trash.sh,可以将脚本移动到 /usr/local/bin/ 目录下,并重命名为 trash

sudo mv trash.sh /usr/local/bin/trash

现在,你可以通过 trash [file or directory] 命令将文件或目录移动到回收站。这将不再永久删除文件或目录,而是将它们移到用户主目录下的 .trash 文件夹中。

方法二:改造rm命令位mv

mkdir -p ~/.Trash
vim /etc/profile
#或者
vim ~/.bashrc
alias rm=trash
alias rl='ls ~/.Trash'
alias ur=undelfile

undelfile()
{
mv -i ~/.Trash/$@ ./
}

trash()
{
mv $@ ~/.Trash/
}

cleartrash()
{
read -p "Clear trash?[n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.Trash/*
}

添加完毕后保存,执行source命令生效

source ~/.bashrc
#或者
source /etc/profile

本文标签: 回收站文件