linux的rm是个可怕的指令,无数人因误操作把重要文件彻底删除。作为程序员,所有linux机器上都应该增加回收站机制。
1、ubuntu
ubuntu系统有回收站,但在命令行使用rm删除时并不会进入回收站而是彻底删除。可以通过以下alias为rm命令增加回收站机制:
vi ~/.bashrc
# 参数说明:
# -t参数表示target-directory,指定到了unbutu系统默认回收站目录~/.local/share/Trash/file
# --backup=t表示使用后缀数字的方式区分rm同名文件的版本
alias rm='mv -t ~/.local/share/Trash/files --backup=t'
source ~/.bashrc
2、centos
centos系统默认没有回收站,可以通过以下alias为rm命令增加回收站机制:
# 1.将rm修改为mv到回收站(centos里--backup=t参数未生效,所以自动生成一个目录来避免同名覆盖问题)
vim ~/.bash_profile
alias rm='trash_path=~/.trash/`date +%Y%m%d%H%M%S`/ && mkdir -p $trash_path && mv -t $trash_path --backup=t'
# 2.定时清理回收站里超过7天的文件
crontab -e
#clear trash
1 0 * * * find ~/.trash -mtime +7 -name "*" -exec /bin/rm -rf {} \;
yan 17.7.3
参考: