rm命令:
该命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
例如:
[root@centos7-02 data]# ls
1.txt 2 test1.txt test2.txt test3.txt
[root@centos7-02 data]# which rm
alias rm='rm -i'
/usr/bin/rm
[root@centos7-02 data]# rm 1.txt
rm:是否删除普通空文件 "1.txt"?y
[root@centos7-02 data]# ls
2 test1.txt test2.txt test3.txt
[root@centos7-02 data]#
这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
rm -f [文件]、/bin/rm [文件]、\rm [文件] ----> 不会提示
例如:
[root@centos7-02 data]# ls
2 test1.txt test2.txt test3.txt
[root@centos7-02 data]# rm -f test1.txt
[root@centos7-02 data]# ls
2 test2.txt test3.txt
[root@centos7-02 data]# /bin/rm
rm rmail rmail.postfix rmdir
[root@centos7-02 data]# /bin/rm test2.txt
[root@centos7-02 data]# ls
2 test3.txt
[root@centos7-02 data]# \rm test3.txt
[root@centos7-02 data]# ls
2
[root@centos7-02 data]#
rm 删除一个目录下的文件或多个目录下的文件需使用参数 -r/-R
例如:
[root@centos7-02 data]# tree .
└── 2
└── 3
└── 4
└── 6
4 directories, 0 files
[root@centos7-02 data]# touch 2/2.txt
[root@centos7-02 data]# touch 2/3/3.txt
[root@centos7-02 data]# touch 2/3/4/4.txt
[root@centos7-02 data]# touch 2/3/4/6/6.txt
[root@centos7-02 data]# tree .
└── 2
├── 2.txt
└── 3
├── 3.txt
└── 4
├── 4.txt
└── 6
└── 6.txt
4 directories, 4 files
[root@centos7-02 data]# rm -rfv 2
已删除"2/3/4/6/6.txt"
已删除目录:"2/3/4/6"
已删除"2/3/4/4.txt"
已删除目录:"2/3/4"
已删除"2/3/3.txt"
已删除目录:"2/3"
已删除"2/2.txt"
已删除目录:"2"
[root@centos7-02 data]# ls
[root@centos7-02 data]#