Linux命令(11):rm

来源:互联网 发布:java工程师是青春饭吗 编辑:程序博客网 时间:2024/05/16 06:57

linux中,rm命令是用来删除一个目录中的一个或多个文件或目录;
它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
命令格式:

rm [选项] 文件

命令功能:

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

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

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

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

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

  • –help 显示此帮助信息并退出

  • –version 输出版本信息并退出

    例1.删除文件file,系统会先询问是否删除。
    命令:rm 文件名

[mt555@localhost Desktop]$ lsf1.txt~  f2.txt[mt555@localhost Desktop]$ rm f2.txtrm:是否删除 一般文件"f2.txt"? y[mt555@localhost Desktop]$ lsf1.txt~[mt555@localhost Desktop]$ 

例2.强行删除file,系统不再提示。
命令:rm -f mt.txt

[mt555@localhost Desktop]$ lsf1.txt~  mt.txt[mt555@localhost Desktop]$ rm -f mt.txt [mt555@localhost Desktop]$ lsf1.txt~[mt555@localhost Desktop]$ 

例3.删除任何.txt文件;删除前逐一询问确认
命令:rm -i *.txt

[mt555@localhost Desktop]$ ls  # 有三个.txt格式的文件mt1.txt  mt2.py  mt2.txt  mt.txt[mt555@localhost Desktop]$ rm -i *.txtrm:是否删除普通空文件 "mt1.txt"?yrm:是否删除普通空文件 "mt2.txt"?yrm:是否删除普通空文件 "mt.txt"?y[mt555@localhost Desktop]$ ls # 全部删除了mt2.py[mt555@localhost Desktop]$ 

例4.将 m1子目录及子目录中所有档案删除
命令:rm -r test1

[mt555@localhost Desktop]$ lsm1  mt2.py[mt555@localhost Desktop]$ rm -r m1rm:是否进入目录 "m1"? yrm:是否删除 一般文件 "m1/a.txt"? yrm:是否删除 一般文件 "m1/b.txt"? yrm:是否删除 目录 "m1"? y[mt555@localhost Desktop]$ lsmt2.py[mt555@localhost Desktop]$ 

例5.rm -rf m2命令强行删除目录dir下的所有文件、子目录下的所有文件和目录、删除m2本身,并且不用一一确认
命令:rm -rf m2

[mt555@localhost Desktop]$ lsm2  mt2.py[mt555@localhost Desktop]$ rm -rf m2[mt555@localhost Desktop]$ lsmt2.py[mt555@localhost Desktop]$ 

例6.删除以 -m 开头的文件
命令:rm – -m

[mt555@localhost Desktop]$ touch -- -m[mt555@localhost Desktop]$ ls -- -m-m[mt555@localhost Desktop]$ rm -- -mrm:是否删除 一般空文件 "-m"? y[mt555@localhost Desktop]$ ls -- -mls: 无法访问-m: 没有那个文件或目录[mt555@localhost Desktop]$ 

也可以使用下面的操作步骤:

[mt555@localhost Desktop]$ touch ./-m[mt555@localhost Desktop]$ ls ./-m./m[mt555@localhost Desktop]$ rm ./-mrm:是否删除 一般空文件 "./-m"? y[root@localhost test]#

例7.自定义回收站功能
下面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。

命令:

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