Filenames

鎖定文件命名模式

  • April 27, 2019

每當我打開 LibreOffice 文件時,LibreOffice 都會沿原始文件創建一個鎖定文件。此文件具有如下命名模式:

.~lock.MyDocument.odt# 

這是 LibreOffice 特定的命名模式嗎?它在 Linux 上很常見嗎?為什麼 LibreOffice 完全使用這種模式?他們為什麼選擇那些特定的額外字元?

前導點從某些目錄列表中隱藏文件。這來自ls命令的歷史行為,這導致許多程序使用前導點來表示在目錄列表中不可見的文件,這反過來又導致許多文件管理器預設隱藏這些文件。

波浪號在文件名中是一個不常見的字元,因此與使用者選擇的文件名發生衝突的風險不大。為什麼是波浪號?波浪線在文件名的開頭特別不常見,因為~在 shell 和許多其他程序中,前導表示“主目錄”。因此,添加波浪號不太可能導致衝突。一個可能的附加因素,因為當它位於文件名的末尾時,它是命名備份的傳統方式,因此在文件名中添加波浪號具有“某些文件與另一個文件相關,但不是一個使用者通常想要的”(但它不可能在最後,因為它已經被採用了)。波浪號可能還受到 Microsoft Office 使用的鎖定文件的啟發,這些文件以~$.

最後的雜湊確保文件沒有其他程序可以辨識的副檔名。如果文件被呼叫.~lock.MyDocument.odt,文件管理器會提議在 LibreOffice 中打開它。為什麼是雜湊而不是其他字元?雜湊在鎖定文件名中有一個小的傳統,例如 Emacs 使用.#後跟正在編輯的文件的名稱。

引用自:https://unix.stackexchange.com/questions/515839