101个脚本之建立Linux回收站的脚本

简介
在Linux系统中,我们可以通过创建一个特殊的目录来模拟一个回收站,当用户删除文件时,这些文件实际上会被移动到这个回收站目录中,而不是被永久删除,这样,如果用户误删了某些文件,他们可以从回收站中恢复这些文件。
步骤
1. 创建回收站目录
我们需要创建一个用于存放回收站文件的目录,我们可以选择一个合适的位置,例如用户的主目录。
mkdir ~/.trash
2. 设置权限
为了确保只有当前用户可以访问和修改回收站中的文件,我们需要更改该目录的权限。
chmod 700 ~/.trash
3. 创建回收站函数

我们将创建一个名为trash的shell函数,它将接受一个文件名作为参数,并将其移动到回收站目录中。
function trash() {
if [ -z "$1" ]; then
echo "Usage: trash <file>"
return 1
fi
file="$1"
if [ -e "$file" ]; then
mv "$file" ~/.trash/
echo "Moved $file to trash."
else
echo "Error: $file does not exist."
fi
}
4. 将函数添加到PATH
为了使trash命令在任何位置都可以使用,我们需要将其添加到PATH中,编辑~/.bashrc或~/.bash_profile文件,添加以下行:
export PATH=$PATH:~/path/to/your/scripts/directory
然后运行以下命令使更改生效:
source ~/.bashrc
或者
source ~/.bash_profile
5. 测试回收站功能
您可以使用trash命令将文件移动到回收站。
trash test.txt
这将把test.txt文件移动到回收站目录中。

常见问题与解答
问题1:如何从回收站中恢复文件?
答:要从回收站中恢复文件,可以使用mv命令将文件移回其原始位置,要恢复名为test.txt的文件,可以执行以下命令:
mv ~/.trash/test.txt /path/to/original/location/
问题2:如何永久删除回收站中的文件?
答:要从回收站中永久删除文件,可以使用rm命令,要删除名为test.txt的文件,可以执行以下命令:
rm ~/.trash/test.txt
这将永久删除文件,无法恢复,在使用此命令之前,请确保您确实希望永久删除文件。