每天一个Linux命令(05)--rm命令

时间:2024-01-04 16:28:44

  自从学会了用mkdir创建目录之后,整个系统里就只能看到一堆空目录了,囧~

  那么今天我们来学一下如何清理这些空目录吧--rm命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

  rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时要保持头脑的绝对清醒。  --扯个题外话,我第一次接触Linux时,就是看一个妹子在那忙活的满头大汗,只见屏幕上代码翻飞,命令闪的飞快,瞬间就把我惊艳了。虽然后来我才知道她是因为 rm  误删了一个重要文件,正忙着看能不能找回来呢。所有说,如果当初不是她,不是rm,就没有今天的我啦。

   1.命令格式:

    rm [选项]  文件···

   2.命令功能:

    删除一个目录中的一个或多个文件和目录,如果没有使用 -r 选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

   3.命令参数:

      -f,   --force  忽略不存在的文件,从不给出提示。

      -i,  --interactive  进行交互式删除

      -r,  -R,  --recursive  指示rm将参数中列出的全部目录和子目录均递归地删除。(通用参数,recursive,递归)

      -v,  --verbose    详细显示进行的步骤  (通用参数,基本都是这个verbose)

         --help    显示次帮助信息并退出  (通用参数)

          --version  输出版本信息并推出  (每次的输出结构都一样,巴拉巴拉,下次不写它了)

  4.命令实例:

  实例一:删除文件file,系统会先询问是否删除

  命令:

  rm  filename 

  rm:是否删除  一般文件“filename”?   N/Y,这个是一个交互,可以反悔

  实例二:强行删除file,系统不再提示。

  命令:

  rm -f log.log  然后呢?然后就没有了。

  实例三:删除任何.log文件;删除前逐一询问确认

  命令:

  rm -i *.log

  实例四:将 test目录及目录中所有文档全部删除

  命令:

  rm -r test  会提示确认

  实例五:rm -rf test1命令会将test1 目录及目录中所有文档删除,并且不会提示你确认

  命令:

  rm -rf test1

  实例六:删除以  -f  开头的文件

  命令:

  rm -- -f

  实例七:自定义回收站功能

  命令:

  myrm(){ D=/tmp/$(date + %Y$m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }

  这个是一个模拟回收站的过程,个人觉得挺好的,双保险,而且,除了能找回不小心删除的,没准还能找到别人不想给你看的~~嘿嘿

  参考资料:

  http://codingstandards.iteye.com/blog/983531