您的位置:首页 > 运维架构 > Linux

Linux命令(11):rm

2016-09-08 19:58 447 查看
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]$ ls
f1.txt~  f2.txt
[mt555@localhost Desktop]$ rm f2.txt
rm:是否删除 一般文件"f2.txt"? y
[mt555@localhost Desktop]$ ls
f1.txt~
[mt555@localhost Desktop]$


例2.强行删除file,系统不再提示。

命令:rm -f mt.txt

[mt555@localhost Desktop]$ ls
f1.txt~  mt.txt
[mt555@localhost Desktop]$ rm -f mt.txt
[mt555@localhost Desktop]$ ls
f1.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 *.txt
rm:是否删除普通空文件 "mt1.txt"?y
rm:是否删除普通空文件 "mt2.txt"?y
rm:是否删除普通空文件 "mt.txt"?y
[mt555@localhost Desktop]$ ls # 全部删除了
mt2.py
[mt555@localhost Desktop]$


例4.将 m1子目录及子目录中所有档案删除

命令:rm -r test1

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


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

命令:rm -rf m2

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


例6.删除以 -m 开头的文件

命令:rm – -m

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


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

[mt555@localhost Desktop]$ touch ./-m
[mt555@localhost Desktop]$ ls ./-m
./m
[mt555@localhost Desktop]$ rm ./-m
rm:是否删除 一般空文件 "./-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"; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: