Linux下是不存在回收站的概念,如果文件被误删了就后悔不及了。通过alias命令将rm映射为mv建立一个虚拟回收站
先建立一个回收站文件夹
代码语言:javascript复制# mkdir ~/.Trash
建立脚本
代码语言:javascript复制# vim /usr/bin/rmtomv
写入以下内容
代码语言:javascript复制#!/bin/sh
if [ $# -eq 0 ]; then
echo "usage: rmtomv <files...>" >&2
exit 2;
fi
for file in "$@"; do
destfile="`basename "$file"`"
suffix='';
i=0;
# 如果文件已经存在则加上后缀
while [ -e "$HOME/.Trash/${destfile}${suffix}" ]; do
suffix=" - copy $i";
i=`expr $i 1`
done
# 如果下执行命令完不显示信息去掉-v参数
mv -vi "$file" "$HOME/.Trash/${destfile}${suffix}"
done
最后写入alias
代码语言:javascript复制# vim ~/.bash_aliases 或者 ~/.bashrc里添加一行
alias rm='rmtomv'
测试
代码语言:javascript复制# touch a
# rm a
最终将会在~/.Trash/目录下看到被删除的文件