rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的1条命令,特别是rm
-rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单 #rm -rf ./*这没甚么,但是,但是如果不谨慎打成这样#rm
-rf /* 请节哀吧!~~ rm删除文件同时删除inode信息,这使得使用rm删除的文件10分难恢复。总之rm太危险了,特别是带有-rf参数时1定要慎之又慎,但老虎也有打盹的时候啊,所以为何不给rm1剂后悔药呢!
mkdir -p ~/.trash #创建1个目录作为回收站,这里使用的是用户家目录下的.trash目录alias rm=trash #命令别名 rm改变成trash,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站alias rl='ls ~/.trash' # rl 命令显示回收站中的文件alias ur=`undelfile` # ur命令找回回收站中的文件undelfile() #这个函数的作用是找回回收站下的文件 { mv -i ~/.trash/$@ ./ } trash() #这个函数是将指定的文件移动到指定的目录下,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站 { mv $@ ~/.trash/ } cleartrash() #这个函数的作用是清空回收站目录下的所有文件 { read -p “clear sure?[n]” confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* }
这段代码定义了3个函数trash、undelfile和cleartrash。trash的作用是移动文件到指定的回收站目录;undelfile的作用是找回回收站目录中的指定文件;cleartrash的作用是清空回收站目录。经rm命令别名为trash来实现rm命令的改造!
下面是直接在用户家目录下创建。trash目录作为回收站,将其它代码加入用户家目录下的.bashrc文件下,这样用户每次登录这段代码就会自动生效!登录后在bash下履行1遍下面的命令就能够把rm命令改造成删除文件到回收站了!
mkdir -p ~/.trashcat >> .bashrc <<EOFalias rm=trashalias r=trashalias rl='ls ~/.trash'alias ur=undelfile undelfile(){ mv -i ~/.trash/$@ ./}trash(){ mv $@ ~/.trash/}cleartrash() { read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* }EOF