В Windows я считаю, что файлы с тильдой в имени файла представляют собой файлы, которые в данный момент открыты в приложении. Например, Microsoft Word создает файл почти с тем же именем, что и файл, который у вас есть в данный момент, но с тильдой в имени. Его значок также частично исчез. Насколько я знаю, это означает временный файл, который существует
В Linux я столкнулся с файлом * .log с тильдой в конце имени файла (scan.log~
). Означает ли это, что файл журнала в настоящее время открыт в другом приложении, которое может записывать в него?
Если к файлу добавляется tilde~
, это означает только, что это резервная копия, созданная текстовым редактором или подобной программой; это не означает, что другая программа пишет в этот файл. Кроме того, любой файл, открытый в vi
, нельзя открыть в другом приложении, но это другое обсуждение.
Чтобы легко найти все эти типы файлов, введите cd
, чтобы перейти на верхний уровень вашей домашней папки, и введите:
find -type f -iname '*~'
Или, если Вы хотите найти их в определенном каталоге, введите:
find /home/mike/Downloads -type f -iname '*~'
Эти файлы могут быть очень полезны, если вы отредактировали файл и не сохранили резервную копию оригинала! Gedit
, например, создает такую резервную копию любого редактируемого файла, хотя вы можете отключить этот параметр в настройках. Тем не менее, (files~)
не являются заменой правильной резервной копии , так как они могут не содержать необходимые вам данные или быть версией нужного вам редактирования.
Некоторые текстовые редакторы (например, emacs
) создают резервную копию файла, который вы редактируете, и присваивает файлу резервной копии имя исходного файла плюс тильду. Файл, который вы описываете, может быть результатом открытия scan.log
с таким текстовым редактором и внесения некоторых изменений.
Вы можете использовать fuser
(см. Пакет Ubuntu psmisc
), чтобы узнать, есть ли у процесса открытый файл: fuser scan.log~