linux 檔名命名規則

2021-08-26 13:45:11 字數 3758 閱讀 9041

linux 系統區分英文本元的大小寫。命名目錄和命名檔案的規則是相同的。除非有特別的原因,否則使用者建立的檔案和目錄名要使用小寫字元。大多數的 linux 命令也使用小寫字元。

linux 系統下的檔名長度最多可到256個字元。通常情況下,檔名的字元包括:字母、數字、"."(點)、"_"(下劃線)和"-"(連字元)。linux 允許在檔名中使用除上述符號之外的其它符號, 但並不建議使用者這樣做。 有些轉意字元 (即該字元被系統借用,表示某種特殊含義)在linux 的 命令直譯器(shell)中有特殊的含義(shell 類似於 dos下的命令處理器command.com)。這樣的轉意字元有:"?"(問號),"*"(星號), " "(空格), "$"(貨幣符), "&", 擴號等等。在檔名中應盡量避免使用這些字元。檔名中可以有" "(空格),但建議使用者用"_"(下劃線)來替代。"/" 既可代表目錄樹的根也可作為路徑名中的分隔符(類似dos下的"\),因此"/"不能出現在檔名中。和dos一樣,"." 和 ".." 分別用來表示"當前目錄"和"父目錄", 因此它們也不能作為檔名。正如dos 中一樣,我們不能將檔案命名為 . 或者 .. (點或者雙點)——它們分別代表當前目錄和當前目錄的父目錄(上一級目錄)。這跟dos中是完全一致的。

在linux下可以使用長檔名和目錄名,可以給它們取任何名字,但是必須遵守以下規則:

☆除了/外,所有的字元都可以;

☆有些字元最好不用,如空格符,製表符,退格符和字元:? @ # $&()\|; 『』「」<>等;

☆避免使用+ -或.作為普通檔名的第乙個字元(在linux下以.開頭的檔案是屬於隱藏檔案);

☆另外和windows檔案命名不一樣的是,在linux下檔名大小寫敏感。

這是另乙份資料:

linux 系統區分英文本元的大小寫。比如,myfile, myfile 和 myfile表示的是三個不同的檔案。同樣,使用者密碼和登入名也需要區分大小寫(這裡沿用了unix 和 c 語言的命名規則)。命名目錄和命名檔案的規則是相同的。除非有特別的原因,否則使用者建立的檔案和目錄名要使用小寫字元。大多數的 linux 命令也使用小寫字元。

linux 系統下的檔名長度最多可到256個字元。通常情況下,檔名的字元包括:字母、數字、"."(點)、"_"(下劃線)和"-"(連字元)。linux 允許在檔名中使用除上述符號之外的其它符號, 但並不建議使用者這樣做。 有些轉意字元 (即該字元被系統借用,表示某種特殊含義) 在linux 的 命令直譯器(shell)中有特殊的含義(shell 類似於 dos下的命令處理器 command.com)。這樣的轉意字元有:"?"(問號),"*"(星號), " "(空格), "$"(貨幣符), "&", 擴號等等。在檔名中應盡量避免使用這些字元。檔名中可以有" "(空格),但建議使用者用"_"(下劃線)來替代。

"/" 既可代表目錄樹的根也可作為路徑名中的分隔符(類似dos下的"\),因此"/"不能出現在檔名中。

和dos一樣,"." 和 ".." 分別用來表示"當前目錄"和"父目錄", 因此它們也不能作為檔名。

正如dos 中一樣,我們不能將檔案命名為 . 或者 .. (點或者雙點)——它們分別代表當前目錄和當前目錄的父目錄(上一級目錄)。這跟dos中是完全一致的。

下面列出了一些轉意字元及其意義:

例: 下面的命令會列出當前目錄中除了檔名以 . 開頭的檔案之外的任何檔案。

ls *

與此等價的命令是ls 或者 dir (不需要後跟 「*」)。 檔名以 . 開頭的檔案不被列出是因為 「.」是檔名的首字元,它並不與「*」匹配。我們可以把檔名以 . 開頭的檔案等價地理解成dos中隱藏檔案。使用ls –a (帶 all 選項的ls 命令)或者 ls  .* 命令來檢視這些「點」檔案。「點」檔案在使用者的home目錄中很常見。它們通常是使用者級的配置檔案。

以下命令可列出當前目錄中檔名含 . 的任何檔案 (檔名以點開頭的除外)。

ls *.*

以下命令可列出當前目錄中檔名含兩個點的任何檔案(檔名以點開頭的除外)。

ls *.*.*

請注意linux中沒有與dos中副檔名相應的概念,但是你可以使用副檔名。例如,乙個檔案可以命名為 my_text.txt.zip 。另有一些dos中的命名特色在linux中是完全找不到的(比方說micro~1.doc )。

以下的命令會找出擴充套件名為「htm」後再跟任意乙個字元的檔案:

locate *.htm?

以下命令可列出當前目錄中所有檔名以a,b或者任意大寫字母開頭的檔案:

ls [aba-z]*

以下命令可列出當前目錄中所有檔名以a開頭,以n結尾的檔案:

ls a*n

命令列自動完成是乙個有用的功能——使用[tab]鍵可以極大的節約時間,使處理複雜的長檔名變得輕鬆。例如,使用自動完成的功能,可以極大的減化輸入以下這個長檔名的工作。

dir eurosong\ 2000\ olson\ brothers\ -\ fly\ on\ the\ wings\ of\ love\ \(denmark\).***

我只要輸入

dir eu

如果沒有其他檔案的檔名以eu 開頭,輸入之後,系統會自動輸入檔名的其餘部分。

如果還有其他檔案的檔名也以eu開頭,我們可以檢視一下可能的選擇(系統會列出),進一步輸入檔名中的下一兩個字元,從而使檔案的選擇唯一化,系統的自動寫成功能就可以啟動完成整個長檔名的輸入了。檔名中的反斜線作用在於提示系統其後繼的字元「空格」僅取其字面意義,即,檔名中包含的確實是空格。

檔名中的有「怪」字元怎麼辦?大部分問題可以通過自動完成功能解決。 另外,處理檔名中含有轉意字元的檔案,我們可以使用成對的『』(單引號)。由於這些特殊的轉意字元被單引號引用,命令直譯器不會試圖去解釋其特殊意義。例如,給乙個名為my file*的檔案更名(檔名中含空格和*), 我們可以使用:

mv 'my file*' filename_without_weird_characters.txt

請注意我使用了一對『』號 (單引號)。使用成對的「」(雙引號)引用通常沒有使用『』有效。如果你使用「」號(雙引號), 部份轉意字元可能會被命令直譯器加以解釋(這就意味著它們可能被轉意,而不是保持字面意義)。

跟從unix的傳統,在linux上,建立檔案時,我們可以在檔名中可以使用幾乎任何字元,包括不可列印字元(控制字元)。但是這情況非常少見。如果你在遇到檔名使用了這些字元,你可能會感覺很異樣。我通常會在適當的位置使用乙個轉意字元*對這種檔案進行重新命名。我會先使用ls命令確認我要重新命名的檔案的檔名,然後對這個檔案進行更名(使用mv 命令):

ls –l myfile*y.html

mv myfile*y.html myfile.html

(此例中我假定非標準字元位於字母e和y之間)

這裡舉乙個關於在檔名中使用非常規字元的極端的例子: 建立乙個檔名以短橫線 - 開頭的檔案,再等它刪除。 用常規的刪除命令似乎沒有辦法(因為短橫錢通常是用來引導命令選項的)。例如:

dir > -junk

以上命令將建立乙個以-junk為名的檔案(跟dos類似,符號 > 將dir 命令的輸出重定向到乙個名為「-junk」的檔案。常規的刪除檔案命令無法把這個檔案刪除。我們需要使用:

rm ./-junk

檔名前的./ 表示當前目錄。在此其目的是避免檔名把的首字元 - 被命令直譯器當作rm命令的選項引導。事實上沒有必要在檔名中使用這些特殊字元。遵從傳統的命名規則,不會過多地使事情複雜化。

除了使用自動完成,單引號,雙引號之外,我們也可以利用 \ (反斜線) 對檔名中包含了非常規字元的檔案進行操作。反斜線的作用在於遮蔽其後繼字元的特殊意義。例如,我可以使用如下命令建立乙個以 *?[ 為檔名的檔案:

touch \*\?\[

(touch 命令建立乙個空檔案。如果同名檔案已存在,則改變該檔案最後更新的日期/時間)。

linux 檔名命名規則

linux 系統區分英文本元的大小寫。命名目錄和命名檔案的規則是相同的。除非有特別的原因,否則使用者建立的檔案和目錄名要使用小寫字元。大多數的 linux 命令也使用小寫字元。linux 系統下的檔名長度最多可到256個字元。通常情況下,檔名的字元包括 字母 數字 點 下劃線 和 連字元 linux...

Linux檔名命名規範

注意 在linux下全部檔案和資料夾命名都是小寫的!linux系統區分英文本元的大小寫。命名目錄和命名檔案的規則是相同的。除非有特別的原因,否則使用者建立的檔案和目錄名要使用小寫字元。大多數的linux命令也使用小寫字元。linux系統下的檔名長度最多可到256個字元。通常情況下,檔名的字元包括 字...

Linux檔名命名規範

注意 在linux下全部檔案和資料夾命名都是小寫的!linux系統區分英文本元的大小寫。命名目錄和命名檔案的規則是相同的。除非有特別的原因,否則使用者建立的檔案和目錄名要使用小寫字元。大多數的linux命令也使用小寫字元。linux系統下的檔名長度最多可到256個字元。通常情況下,檔名的字元包括 字...