[Shell]做一个自己的rm命令来替换系统自带的,以免误删除之后恢复不了

要实现的功能:

  1. 计划用mv来代替,把要删除的文件移到一个文件夹保管
  2. 如果想恢复文件的话,要能按照两种方式来查找:
    • 文件名
      • 这个可以根据find来找
    • 删除时间
      • 目前打算按照删除时间建文件夹来当每日删除文件回收站
  3. 接收一个参数(要删除文件的路径,可以用pwd实现)

OK!!开搞

 

  1. 接受参数 $1,拿到全路径 `PWD`/$1
  2. mv `pwd`/$1

 

 1 #!/bin/bash
 2 #拿到当前日期 如20130819
 3 declare today=`date +%Y%m%d`
 4 declare todaydir=/home/hhhyde/huishouzhan/$today
 5 #如果不存在今天的文件夹则新建一个
 6 if [ ! -d $todaydir ];then
 7     mkdir $todaydir
 8 fi
 9 #移进去
10 mv `pwd`/$1 $todaydir

 

 

 

 

目前的问题是:

  1. 由于当天删除的文件放在一个文件夹,有可能要删除文件名为144的文件时,今天的文件夹里面已经存在144了,这样就会覆盖掉
    • 想到的解决方法是存为144_1,通过循环if判断144_i来判断文件名是否存在来做
posted @ 2013-08-18 17:47  hhhyde  阅读(294)  评论(0编辑  收藏  举报