.bak 副檔名在 Unix 中的意義?
在計算中,“.bak”是一個文件副檔名,通常用於表示文件的備份副本。
除了將副檔名更改為 .bak 之外,UNIX 中 .bak 文件還有其他意義嗎?
在 Unix 中,文件副檔名僅用作視覺提示,以便人們可以更輕鬆地辨識對於副檔名為 .xxx 或 .yyy 的給定類型的文件使用什麼應用程序。
就作業系統而言,擴展沒有真正的用途,而是核心可能對它所關注的文件使用文件簽名,例如 shebang
#!
,但除此之外,文件十六進制簽名是相當健忘的。**注意:**關於十六進制簽名,它們是每個文件開頭的前綴(十六進制)。有關一些範例,請參閱標題為:文件簽名列表的Wikipedia 文章。
這些前綴有時也稱為幻數 -幻數定義。
幻數是嵌入在文件開頭或附近的一個數字,指示其文件格式(即文件的類型)。它有時也稱為文件簽名。
幻數通常對使用者不可見。但是,使用十六進制編輯器可以很容易地看到它們,這是一個專門的程序,可以顯示並允許修改文件中的每個字節。
對於常見的文件格式,數字方便地表示文件類型的名稱。因此,例如,符合廣泛使用的 GIF87a 格式的十六進制(即基數為 16)術語的圖像文件的幻數是 0x474946383761,當轉換為ASCII時是 GIF87a。ASCII 是電腦和通信設備用於字元編碼(即,將字母和其他字元與數字相關聯)的事實上的標準。
例子
在這裡,我使用
hexdump
命令來查看文件的標題。jpeg - ff d8
$ hexdump -C simplelock.jpg | head -1 00000000 ff d8 ff e0 00 10 4a 46 49 46 00 01 02 00 00 64 |......JFIF.....d|
廣州 - 1f 8b
$ hexdump -C rdjpgcom.1.gz | head -1 00000000 1f 8b 08 00 00 00 00 00 02 03 65 55 c1 72 22 37 |..........eU.r"7|
**注意:**有關作業系統如何根據這些幻數和十六進制簽名確定文件類型的更多資訊,請參閱此 U&L Q&A,標題為:如果不是來自文件後綴,如何知道文件類型?它解釋了命令行工具
file
的工作原理以及它用來辨識文件類型的過程。實踐中的文件簽名
Unix 中使用的簽名機制實際上更多的是盡力而為。跟踪關聯的工作依賴於一組相當古老的模式,這些模式已經隨著時間的推移而開發和建立,以辨識文件的類型。它是不完善的,因此知道哪個文件與哪個應用程序一起使用的責任主要留給了使用者作為練習。
參考