文章目录
rm命令是linux中删除文件和目录的常用命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm -r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
1.命令格式
rm [选项] 文件…
rmdir [选项]… 目录…
2.命令功能
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。rmdir删除空目录
3.命令参数
rm
- -f, --force 忽略不存在的文件,从不给出提示。
- -i, --interactive 进行交互式删除
- -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
- -v, --verbose 详细显示进行的步骤:
- . --help 显示此帮助信息并退出
- . --version 输出版本信息并退出
rmdir
- -p递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
- -v, --verbose 显示指令执行过程
4.命令实例
所有实例都是在windows cygwin中执行的
1. 删除文件,系统会先询问是否删除。
rm 文件名
输出:
Administrator@2013-0329-1017 ~/test
$ ls
test1 text.txt
Administrator@2013-0329-1017 ~/test
$ rm text.txt
Administrator@2013-0329-1017 ~/test
$ ls
test1
Administrator@2013-0329-1017 ~/test
2. 强行删除文件,系统不再提示
命令:
rm -f mylog.txt
输出:
Administrator@2013-0329-1017 ~/test
$ ls
test1 text.txt
Administrator@2013-0329-1017 ~/test
$ rm -f text.txt
Administrator@2013-0329-1017 ~/test
$ ls
test1
Administrator@2013-0329-1017 ~/test
3. 删除任何.txt文件;删除前逐一询问确认
命令:
rm -i *.txt
输出:
Administrator@2013-0329-1017 ~/test
$ ls
test1 text.txt
Administrator@2013-0329-1017 ~/test
$ rm -i *.txt
rm:是否删除普通空文件 "text.txt"?y
Administrator@2013-0329-1017 ~/test
$ ls
test1
4. 将目录及子目录中所有档案删除。
命令:
rm -r test1
输出:
Administrator@2013-0329-1017 ~/test
$ ls test1/
test11
Administrator@2013-0329-1017 ~/test
$ rm -r test1/
Administrator@2013-0329-1017 ~/test
$ ls test1
ls: 无法访问test1: No such file or directory
5.rm -rf test2命令会将 test2 子目录及子目录中所有档案删除,并且不用逐个确认。
命令:
rm -rf test3
说明:实际上是 -r -f的组合缩写
输出:
Administrator@2013-0329-1017 ~/test2/test22
$ ls
test222
Administrator@2013-0329-1017 ~/test2/test22
$ cd ..
Administrator@2013-0329-1017 ~/test2
$ ls -r
test22
Administrator@2013-0329-1017 ~/test2
$ rm -rf test22/
Administrator@2013-0329-1017 ~/test2
$ ls
Administrator@2013-0329-1017 ~/test2
$
6.删除以 -f 开头的文件
命令:
rm -- -f
输出:
Administrator@2013-0329-1017 ~/test2/test22
$ touch -- -f
Administrator@2013-0329-1017 ~/test2/test22
$ ls
-f ftest.txt
Administrator@2013-0329-1017 ~/test2/test22
$ touch -- -f123
Administrator@2013-0329-1017 ~/test2/test22
$ ls
-f -f123 ftest.txt
Administrator@2013-0329-1017 ~/test2/test22
$ rm -- -f
Administrator@2013-0329-1017 ~/test2/test22
$ ls
-f123 ftest.txt
Administrator@2013-0329-1017 ~/test2/test22
$ rm ./-f*
Administrator@2013-0329-1017 ~/test2/test22
$ ls
ftest.txt