天天看点

Linux rm命令

Linux中rm命令是删除文件和目录的。在使用-r参数时,一定要注意,因为该目录和文件都会被删除。

1.命令格式:

rm [选项] 文件…

2.命令功能:

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

3.命令参数:

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

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

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

    -v, --verbose        详细显示进行的步骤

           --help        显示此帮助信息并退出

           --version     输出版本信息并退出

删除目录:rm -rf /PATH/TO/DIR

危险操作:rm -rf /*(6和7有提示,5没有)

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录:(模拟回收站),下面第4个例子,也是一种模拟回收站的方法。

命令示例:

1.-i参数,删除前询问

<code>[root@www ~]</code><code># cd /tmp</code>

<code>[root@www tmp]</code><code># rm -i bashrc</code>

<code>rm</code><code>: remove regular </code><code>file</code> <code>`bashrc'? y      加入-i参数,删除时就会主动询问,避免删错文件</code>

<code>[root@www tmp]</code><code># rm -i bashrc*            使用通配符,将tmp下以bashrc开头的文件全部删除</code>

<code>rm</code><code>: remove regular </code><code>file</code> <code>`bashrc_hlink'? y</code>

<code>rm</code><code>: remove symbolic link `bashrc_slink'? y</code>

<code>rm</code><code>: remove regular </code><code>file</code> <code>`bashrc_slink_1'? y</code>

<code>rm</code><code>: remove symbolic link `bashrc_slink_2'? y</code>

2.-r参数,递归删除目录

<code>[root@www tmp]</code><code># rmdir /tmp/etc</code>

<code>rmdir</code><code>: failed to remove `</code><code>/tmp/etc</code><code>': Directory not empty      不能删除,因为目录不为空</code>

<code>[root@www tmp]</code><code># rm -r /tmp/etc</code>

<code>rm</code><code>: descend into directory `</code><code>/tmp/etc</code><code>'? ^C                    按y确认,按ctrl+c退出</code>

因为身份是 root ,默认已经加入了 -i 的选项,所以你要一直按 y 才会删除!

如果不想要继续按 y ,可以按下『 [ctrl]-c 』来结束 rm 的工作。

这是一种保护的动作,如果确定要删除掉此目录而不要询问,可以这样做:

<code>[root@www tmp]</code><code># /rm -r /tmp/etc</code>

在命令前加上反斜线,可以忽略掉 alias 的指定选项

3.-f参数,强制删除,系统不提示

<code>[root@www tmp]</code><code># rm -f test.log</code>

4. 自定义回收站功能

<code>[root@www tmp]</code><code># myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D &amp;&amp; echo "moved to $D ok"; }</code>

<code>[root@www tmp]</code><code># alias rm='myrm'</code>

<code>[root@www tmp]</code><code># touch 1.log 2.log 3.log</code>

<code>[root@www tmp]</code><code># ll</code>

<code>total 0</code>

<code>-rw-r--r-- 1 root root 0 Apr  7 14:19 1.log</code>

<code>-rw-r--r-- 1 root root 0 Apr  7 14:19 2.log</code>

<code>-rw-r--r-- 1 root root 0 Apr  7 14:19 3.log</code>

<code>[root@www tmp]</code><code># rm [123].log</code>

<code>moved to </code><code>/tmp/20160407142017</code> <code>ok</code>

<code>[root@www tmp]</code><code># ls /tmp/20160407142017/</code>

<code>1.log  2.log  3.log</code>

<code>[root@www tmp]</code><code>#</code>

5. 删除以-开头的文件

<code>[root@www tmp]</code><code># touch ./-bbb-</code>

<code>[root@www tmp]</code><code># ls -l</code>

<code>-rw-r--r-- 1 root root 0 Apr  7 14:26 -bbb-</code>

<code>[root@www tmp]</code><code># rm -bbb-</code>

<code>mv</code><code>: invalid option -- </code><code>'-'</code>

<code>Try `</code><code>mv</code> <code>--help' </code><code>for</code> <code>more</code> <code>information.</code>

<code>[root@www tmp]</code><code># rm ./-bbb-</code>

<code>moved to </code><code>/tmp/20160407142651</code> <code>ok</code>

参考:

<a href="http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html" target="_blank">http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html</a>

      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1761293,如需转载请自行联系原作者

继续阅读