1、创建回收站
cd ~ && mkdir .trash
2、重写rm命令
vim ~/.bashrc
cp /etc/bashrc /etc/bashrc.bak
vim /etc/bashrc
3、重写rm完整脚本
function rm() {
if [ ! -d ~/.trash ]; then
mkdir -p ~/.trash
fi
now=$(date +%s)
for s in ~/.trash/*; do
dir_name=$(basename "$s")
dir_time=$(date +%s -d "${dir_name//_/-}")
if [[ "$dir_time" != "0" && $((now - dir_time)) -gt 604800 ]]; then
echo "Trash $dir_name has been cleaned."
/bin/rm "$s" -rf
fi
done
prefix=$(date +%Y_%m_%d)
hour=$(date +%H)
mkdir -p ~/.trash/"$prefix"/"$hour"
if [[ -z $1 ]]; then
echo 'Missing Args'
return
fi
echo "${!#} 已被移到回收站"
mv -b "${!#}" ~/.trash/"$prefix"/"$hour"
}
4、生效配置
source ~/.bashrc
source /etc/bashrc
5、测试
cd /
mkdir test
rm -rf test/
test/ 已被移到回收站
cd /root/.trash/2022_07_05/15
[root@aly 15]
/root/.trash/2022_07_05/15
[root@aly 15]
test test.sh
6、真实删除命令
可以使用真正的 rm 命令:/bin/rm -rf ~/.trash/*