rm命令中模式的含义

我在一个Makefile中find了这个rm命令。

rm -f $(ODIR)/*.o *~ $(PROG) $(INCDIR)/*~

*~的含义是什么?

*~不是特别的。 它匹配以~字符结尾的文件(通常是编辑器备份文件)。

emacs是一个以〜around结尾的文件作为备份文件。 所以makefile的创建者可能是一个emacs用户,他想要这个目标(也许是干净的?)来清理.o文件和可执行文件以及emacs粪便。

这意味着所有的文件都以~结尾,而不管文件的其他字母是什么。 这些通常是临时文件。