rm
是Linux
下文件删除的命令,它是Linux
下非常强大却又非常危险的一条命令,特别是rm
有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单
-rf#rm -rf ./*
这没什么,但是,但是如果不小心打成这样#rm
请节哀吧!
-rf /*~~ rm
删除文件同时删除inode
信息,这使得使用rm
删除的文件十分难恢复。总之rm
太危险了,特别是带有-rf
参数时一定要慎之又慎,但老虎也有打盹的时候啊,所以为什么不给rm
一剂后悔药呢!
mkdir -p ~/.trash #创建一个目录作为回收站,这里使用的是用户家目录下的.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 [email protected] ~/.trash/
}
cleartrash() #这个函数的作用是清空回收站目录下的所有文件
{
read -p “clear sure?[n]” confirm
[ $confirm == ‘y‘ ] || [ $confirm == ‘Y‘ ] && /bin/rm -rf ~/.trash/*
}
这段代码定义了三个函数trash
、undelfile
和cleartrash
。trash
的作用是移动文件到指定的回收站目录;undelfile
的作用是找回回收站目录中的指定文件;cleartrash
的作用是清空回收站目录。经rm
命令别名为trash
来实现rm
命令的改造!
下面是直接在用户家目录下创建。trash
目录作为回收站,将其它代码加入用户家目录下的.bashrc
文件下,这样用户每次登录这段代码就会自动生效!登录后在bash
下执行一遍下面的命令就可以把rm
命令改造成删除文件到回收站了!
mkdir -p ~/.trash
cat >> .bashrc <<EOF
alias rm=trash
alias r=trash
alias 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
时间: 2024-10-20 21:35:43