如何实现linux系统的回收站功能,对rm权限做限制,避免误删造成不可逆问题。

这就要靠环境变量去实现,首先需要了解环境变量的作用。

/etc/profile,/etc/bashrc 是系统全局环境变量设定
~/.profile,~/.bashrc用户家目录下的私有环境变量设定
当登入系统时候获得一个shell进程时,其读取环境设定档有三步
1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如
/etc/profile.d和/etc/inputrc
2然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取
~/.profile,这三个文档设定基本上是一样的,读取有优先关系
3然后在根据用户帐号读取~/.bashrc
至于~/.profile与~/.bashrc的不区别
都具有个性化定制功能
~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

以下是具体操作步骤:

初始化linux系统时,执行以下操作:

  1. 修改系统环境变量,在bashrc文件地步添加以下内容

vi /etc/bashrc

HISTFILESIZE=5000               #设置历史文件大小
HISTSIZE=5000                   #设置历史文件保存条数
HISTTIMEFORMAT="%Y%m%d %T "     #设置历史文件格式(以时间命名)
#回收站定义部分
alias rm=trash                  #将rm取别名trash
alias lr='ls /home/huishouzhan' #定义lr别名查看/home/huishouzhan文件夹
alias ur=undelfile              #定义还原别名
undelfile()                     #定义还原函数
{mv -i /home/huishouzhan/$@ ./    #将回收站内容以致当前目录,用于还原,-i不询问yes no
}
trash()                         #定义删除函数
{mv $@  /home/huishouzhan/     #将rm的文件mv至回收站  $?表示该文件
}
cleartrash()                    #清除回收站内容函数
{read -p "clear sure?[n]" confirm                        #做判断,是就清空回收站。[   == 'y' ] || [   == 'Y' ]  && /bin/rm -rf /home/huishouzhan/* && echo "clear ok!"
}

最后执行source /etc/profile,刷新系统环境变量,或退出终端重新登录。

最后效果如下

至此,一个linux简单回收站搭建完成。

转载于:https://blog.51cto.com/tfbaby/1557032

linux系统回收站功能的实现相关推荐

  1. Linux 系统ble功能开发

    标准的linux系统一般都不带ble的应用功能,需要客户自己自定义开发,不过一般可以采用开源的bluez架构,目前最新的已经到5.5版本了,我用的5.4版本. 里面包含了bt的各种应用场景,可以作为b ...

  2. hp 笔记本 linux 系统 bios 功能不能用,Ubuntu 17.10 Respin ISO发布下载,解决某些笔记本电脑BIOS问题...

    正如上周承诺的那样,Canonical今天发布了Ubuntu 17.10(Artful Aardvark)操作系统的新ISO映像,包括所有官方版本,以解决某些笔记本电脑的BIOS问题. 上个月,一些用 ...

  3. linux系统路由功能记录

    在某些特殊应用里,可能会用到路由的功能,一台设备通过另外一台联网的设备进行联网.这里主要记录一些必要得命令. 正常来说就是下面几条命令: A设备 iproute add default via 192 ...

  4. linux系统下回收站,Linux如何开启回收站功能

    Linux系统有回收站吗?答案是否定的,Linux系统并没有Windows中的回收站,但是Linux可以实现回收站的功能,具体要如何实现呢?下面小编就给大家介绍下Linux开启回收站功能的方法,一起来 ...

  5. 25.Linux系统中解决空间被占满问题——deleted,inode号

    1.Linux中如何解决文件已删除但空间不释放的案例(lsof): 现象:运维的监控系统发来通知,报告一台服务器空间满了,登录服务器查看,根分区确实没有空间了:        df -h 解决思路:第 ...

  6. linux磁盘分配方案,安装Linux系统磁盘分配方案.doc

    安装Linux系统磁盘分配方案.doc 安装 Linux系统磁盘分配方案 2009-03-13 0825 Linux系统分区功能简介 / 根目录 /bin 存放必要的命令 /boot 存放内核以及启动 ...

  7. 红旗linux系统服务器,红旗linux11系统

    红旗Linux11系统是款超级强大的高端服务器操作系统,该系统融合进了所有Linux系统的功能,大家就可以获得一个安全.稳定.快速.高效的Linux系统,内置了各种各样强大并且免费的插件,通过这些插件 ...

  8. Clonezilla再生龙备份与还原linux系统

    文章目录 Clonezilla再生龙备份与还原linux系统 简介 功能与要求 一.制作再生龙启动盘 1.下载镜像 2.制作启动盘 二.系统分区 三.备份系统 四.还原系统 注意事项 Clonezil ...

  9. 初版ps3安装linux,索尼取消PS3安装Linux系统 向全美旧版玩家巨额赔款

    索尼取消PS3安装Linux系统 向全美旧版玩家巨额赔款 2016-06-23 17:15 来源:cnBeta 游戏观察6月23日消息,在E3游戏展上十分低调的索尼着手旗下PS NEO在年底的发布,但 ...

最新文章

  1. iphone降级_iOS 14升级体验与问题总结,附降级教程
  2. 如何让所请读取的数据自动产生编号.
  3. 我的第一个windows应用程序
  4. Deep Compression阅读理解及Caffe源码修改
  5. 出现23.97帧率的原因
  6. Android公共jar,使用JitPack管理Android项目中公共模块库
  7. 0.IT-解决方案-0-VOIP
  8. linux图片处理工具GraphicsMagick安装使用
  9. js 取得input绑定的datalist中的值_原生JS写一个ToDo Demo
  10. -xdebug java8_多种高级debug方法,帮你更快定位问题
  11. 梦幻群侠传5帮派修炼_梦幻群侠传5唯美版
  12. Windows10下VB6.0开发——常用数值处理函数工具
  13. 科学计算机算ph,科学计算器TechCalc v4.8.0特别高级会员版
  14. 简单的转盘抽奖html,一个很简单的H5的转盘抽奖的(主要用的是css3的属性)
  15. 苹果手机绕过密码和指纹自动支付,细思极恐!
  16. 微分方程(人口预测与传染病模型)
  17. MySQL Kill出现Killed死锁处理
  18. Linux系统操作MySql常用命令
  19. VS Code保存后自动格式化Vue代码---Vetur
  20. 关于旋转中心的计算以及运用

热门文章

  1. numpy-自定义ufunc函数和广播
  2. C# DataGrid 控件在winform里显示行号
  3. 血泪总结!5000字产品需求写作方法论
  4. 365天里有300天都想辞职,换个公司,你的2019会更好吗?
  5. 2015年度最全微课堂笔记精华包
  6. 如何避免开发一款失败的产品?
  7. Windows Mobile中实现统计图形的绘制(C#版,柱状图)
  8. 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据
  9. 数据库多表连接查询详解
  10. 密码学研究-密钥长度限制