码迷,mamicode.com
首页 > 系统相关 > 详细

禁用rm命令,使用mv命令给linux建立回收站

时间:2018-03-27 21:56:23      阅读:672      评论:0      收藏:0      [点我收藏+]

标签:linux回收站   脚本   source   

把rm命令转换成mv命令,不能使用-r 参数,会报出一个错误,因为mv命令没有-r参数,下面是方法:

  • 在用户主目录下创建一个隐藏文件夹~/.trash作为垃圾回收站
    [root@akuilinux01 shellXT]# mkdir -p ~/.trash
  • 写一个脚本
    
    [root@akuilinux01 tmp]# vim ~/.bashrc 

#设置别名,rm是删除文件,rl是查看回收站,ur是恢复文件
alias rm=‘trash‘
alias rl=‘trashlist‘
alias ur=‘undelfile‘
#替换rm指令移动文件到~/.trash/中
trash()
{
mv $@ ~/.trash/
}
#显示回收站中垃圾清单
trashlist()
{
echo -e "33[32m==== Garbage Lists in ~/.trash/ ====33[0m"
echo -e "\a33[33m----Usage------33[0m"
echo -e "\a33[33m-1- Use ‘cleartrash‘ to clear all garbages in ~/.trash!!!33[0m"
echo -e "\a33[33m-2- Use ‘ur‘ to mv the file in garbages to current dir!!!33[0m"
ls -al ~/.trash
}
#找回回收站相应文件
undelfile()
{
mv -i ~/.trash/$@ ./
}
#清空回收站
cleartrash()
{
echo -ne "\a33[33m!!!Clear all garbages in ~/.trash, Sure?[y/n]33[0m"
read confirm
if [ $confirm == ‘y‘ -o $confirm == ‘Y‘ ] ;then
/bin/rm -rf ~/.trash/
/bin/rm -rf ~/.trash/.
2>/dev/null
fi
}

- 在命令行下面刷新一下环境配置,即可生效:

[root@akuilinux01 ~]# source ~/.bashrc


- source命令的作用就是用来执行一个脚本,那么:
source a.sh 同直接执行 ./a.sh 有什么不同呢,比如你在一个脚本里export $KKK=111 ,如果你用./a.sh执行该脚本,执行完毕后,你运行 echo $KKK ,发现没有值,如果你用source来执行 ,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同它就是在本shell中执行的,所以可以看到结果

禁用rm命令,使用mv命令给linux建立回收站

标签:linux回收站   脚本   source   

原文地址:http://blog.51cto.com/akui2521/2091803

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!