Что значит * ~?

14

В конце make-файла я увидел

rm -f *~ *.class

Я понимаю *.class, но что *~?

Xodarap
источник
Этот вопрос следует закрыть и вместо него открыть один из дубликатов: unix.stackexchange.com/questions/76189/… Поскольку дубликат более каноничен (см. Meta.unix.stackexchange.com/questions/2840/… ).
Златовласка

Ответы:

25

Это в основном удаление файлов резервных копий.

*~означает все файлы, оканчивающиеся на ~.

Многие системные программы Unix / Linux создают файлы резервных копий, которые заканчиваются на ~.

Например, emacsи nanoредакторы автоматически сохранить резервную копию каждого файла , который вы редактирования. При сохранении файла старая версия сохраняется с использованием имени файла с добавлением тильды ( ~) в конец.

Vimбудет делать то же самое, если вы положите :set backupв свой .vimrc.

*~в Unix / Linux это как *.bakв Windows.

Mikel
источник
Ах! Я думал об этом. Мысль это
удаляло
18
~разворачивается в домашний каталог только в том случае, если он появляется в начале слова.
Микель
Вы должны быть очень осторожны, если вы когда-нибудь опубликуете веб-сайт, чтобы исключить этот файл любой ценой, как один из классических способов атаковать веб-сайт, чтобы найти те файлы, которые будут просто отображаться вашим веб-сервером в виде текстовых файлов, и таким образом раскрыть ваш сервер. код (что плохо, потому что ни один код не является надежным на 100%)
Kiwy