Что означает тильда в конце имени файла?

31

В Windows я считаю, что файлы с тильдой в имени файла представляют собой файлы, которые в данный момент открыты в приложении. Например, Microsoft Word создает файл почти с тем же именем, что и файл, который у вас есть в данный момент, но с тильдой в имени. Его значок также частично исчез. Насколько я знаю, это означает временный файл, который существует

  • в случае сбоя приложения и невозможности сохранить файл, или
  • чтобы исходный файл оставался разблокированным файловой системой и доступным для других приложений.

В Linux я столкнулся с файлом * .log с тильдой в конце имени файла ( scan.log~). Означает ли это, что файл журнала в настоящее время открыт в другом приложении, которое может записывать в него?

KOVIKO
источник

Ответы:

32

Если к файлу добавляется символ «a» tilde~, это означает лишь, что это резервная копия, созданная текстовым редактором или аналогичной программой; это не означает, что другая программа пишет в этот файл. Кроме того, любой файл, открытый в viне может быть открыт в другом приложении, но это другое обсуждение.

Чтобы легко найти все эти типы файлов, введите, cdчтобы перейти на верхний уровень вашей домашней папки и введите:

find -type f -iname '*~'

Или, если вы хотите найти их в определенном каталоге, введите:

find /home/mike/Downloads -type f -iname '*~'

Эти файлы могут быть очень полезны, если вы отредактировали файл и не сохранили резервную копию оригинала! GeditНапример, создает такую ​​резервную копию любого редактируемого файла, хотя вы можете отключить этот параметр в настройках. Тем не менее, (files~)они не могут заменить надлежащую резервную копию , поскольку они могут не содержать необходимые данные или быть версией, которую вы хотели редактировать.


источник
Просто отметив, что если набор папок используется совместно через Samba, а затем программное обеспечение Office клиента Windows редактирует файл, то он создаст скрытую метафору блокировки файлов, например, с помощью ~ $ OriginalFilename.xlsx. Он будет содержать необходимую информацию о том, кто имеет блокировку. Поэтому будьте осторожны при написании сценариев, чтобы выполнить работу по очистке, если это ваш сценарий.
Майкл Бланкеншип
12

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

Вы можете использовать fuser(см. Пакет Ubuntu psmisc), чтобы увидеть, если процесс в настоящее время имеет этот открытый файл:fuser scan.log~

Мох
источник