龙空技术网

用SHELL写一个Linux回收站服务

博哥爱运维 408

前言:

眼前各位老铁们对“linux 回收站在哪”可能比较关心,各位老铁们都需要剖析一些“linux 回收站在哪”的相关知识。那么小编在网上汇集了一些对于“linux 回收站在哪””的相关内容,希望姐妹们能喜欢,朋友们一起来学习一下吧!

大家好,我是博哥爱运维。

最近几天,看到网上某某新闻又说谁谁不小心删除了一些重要文件,咱也不知道真假,但对于Linux发行版系统而言,如果操作不熟练、不严谨,是很容易造成误删除的情况出现的,那么这个情况下,如果我们能实现像Windowns系统下回收站的功能,那不是就减少出现误删除的情况了么。好了,话不多说,我们直接来看源码,同时大家可以关注博哥同名的视频教程,对着教程来理解下面有脚本源码:

#!/bin/bashif [[ $# -eq 0 ]];then  echo "Usage: bash $0 files or dirs"  exit 1fifunction Help(){  echo "Do you want to continue, input enter to next."  read -p "" aaaaaaaaaaa}main(){  mytemp=$1  D=/temp/$(date +%Y%m%d%H%M%S_hsz)  [ ! -d $D ] && mkdir -p $D  if echo $1|grep ,  &>/dev/null;then    mytemp="`echo $mytemp|tr ',' '\n'`"  fi  for i in $mytemp  do    if ! ls -l $i &>/dev/null;then      continue    fi    if ls -l $i|grep -Ew 'etc|usr|bin' &>/dev/null;then      echo "you do not delete [ $i ]"      continue    fi    echo "now you want to delete >>> $i <<<" && ls -l $i    Help    /bin/mv "$i" $D    echo "`date +%F-%T` --- "$i" Moved to $D" >> /root/mv_data.log  done    if [[ `ls -1 $D|wc -l` -eq 0 ]];then    rm -r $D  fi}main $1

最后,对于新手朋友一时半会理解不了脚本源码内容没关系,多看看视频,依葫芦画瓢,多抄几遍代码,慢慢地去理解就好了,博哥当年也是这么一步步走过来的,相信你们也能学会。

标签: #linux 回收站在哪