一个rm命令使用不当,可能所有文件全部丢失,所以准备让系统禁用rm -rf这种毁灭性命令。
由于简装系统,没有回收站机制,所以手动创建一个,方法也很简单,执行一个脚本即可。
脚本文件:
vim trash.sh #/bin/bash mv ~/.bashrc ~/.bashrc.bak cat>~/.bashrc<<'EOF' # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi #/bin/bash mkdir -p /app/.trash #从这里是需要添加的内容 alias rm=trash alias r=trash alias lt='ls /app/.trash/' alias uf=undelfile alias qingkong=cleartrash undelfile() { mv -i /app/.trash/$@ ./ } trash() { del_date=`date +%Y%m%d%H%M%S` # 循环是因为可能rm多个文件 for arg in "$@" do # 这里将删除时间加入到文件名后是因为mv命令不能覆盖非空目录以及不能使用文件覆盖文件夹 # 加上时间就不会有同名的文件了 mv $arg /app/.trash/$arg-${del_date} done } cleartrash() { read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf /app/.trash/* } EOF #立即生效 source ~/.bashrc #使用说明 #查看回收站:lt #还原文件:uf + 文件名 (只能还原到当前位置) #清空回收站:qingkong
View Code
把附件下载后上传到服务器,运行
sh trash.sh
#使用说明
查看回收站:lt
还原文件:uf + 文件名 (只能还原到当前位置)
清空回收站:qingkong (永久删除,相当于rm -rf)