天天看點

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,如需轉載請自行聯系原作者

繼續閱讀