问题描述
我想知道这两个命令 (1) rm -rf *o 和 (2) rm -rf *.o 是否给出相同的结果:都删除目标文件。
另外为什么上面的命令也会删除可执行文件?
解决方法
*
是一个 shell 模式,匹配除隐藏文件之外的任何内容。
rm -rf *o
因此也会删除名为 hello
或 test.iso
的文件,而 rm -rf *.o
只会删除以 .o
结尾的文件。
顺便说一下,-r
表示 递归,即也会删除目录。它不应该出现在这里。你想要rm -f *.o
。
我想知道这两个命令 (1) rm -rf *o 和 (2) rm -rf *.o 是否给出相同的结果:都删除目标文件。
不,它们不会给出相同的结果:
- 删除所有以
o
结尾的文件以及所有以o
结尾的目录。 - 删除所有以
.o
结尾的文件以及所有以.o
结尾的目录。
另外为什么上面的命令也会删除可执行文件?
可能是因为它们以 o
(1) 或 .o
(2) 结尾。