時間:2017.11.24
作者:李強
參考:man,info,magedu講義
聲明:以下英文純屬個人翻譯,英文B級,歡迎糾正,以下内容純屬個人了解,并沒有對錯,隻是參考,盜版不糾,才能有限,希望不誤人子弟為好。
規則是一種定義,那麼有約定俗稱的定義就是俗話說:還有一種定義是官方的,也就是權威,那麼如何去查找這些關于使用者名,主機名,檔案名,或者變量名的一種定義的規則,從哪裡能擷取到幫助,才是我們學習的重點。
通過man useradd 和info useradd 找不到關于其參數username或者LOGIN的具體描述,隻是說不能超過32個字元而已。
Word-constituent characters are letters, digits, and the underscore.
雖然沒找到官方說明但是實踐證明确實不能超過32個字元而且隻能用詞組字元。就是隻能使用數字、字母、下劃線的組合
man gethostname
SUSv2 guarantees that "Host names are limited to 255 bytes".
POSIX.1-2001 guarantees that "Host names (not including the terminating null byte) are limitedtoHOST_NAME_MAX bytes".
On Linux, HOST_NAME_MAX is defined with the value 64, which has been the limit since Linux 1.0 (earlier kernels imposed a limit of 8 bytes).
檔案名可以用空格比如,touch " m" 就會生成m前面有2個空格的檔案。
1)、這個就比較複雜了,基本上啥字元都行除了/這個表示路徑的符号絕對不能包含外,空格啊,dash(-),括号啊,你能想到的都有,可以建立"a"或者'a'等等什麼的,隻不過要用"",雙引号引起來表示。

2)、如果要檢視這些有特殊字元的檔案名需要使用轉義符\轉義下或者用"",引起來。
3)、如果想要删除這些檔案,可以用絕對路徑不全,經常在安裝CD光牒中軟體使用,CD光牒挂載的目錄是有空格的;也可以用引号用轉義字元等,反正能删掉就行。這裡說下以dash(-)開頭的檔案,使用的是在指令後面加上-- 這樣指令就不會把 - 當參數的字首來識别了。
我記得在哪個指令的幫助裡有提到過這個,不記得在哪裡了。
4)、其實touch是來改變檔案時間戳的,是以說建立檔案什麼的還沒見到有這個專門的指令。多以查不到哪裡有檔案名的定義。
1)、不能使用程式中的保留關鍵字
2)、隻能和username一樣使用數字,字母和下劃線的組合,但是不能以數字開頭
3)、約定俗稱的寫法就是,見名知義,然後就是多個單詞之間首字母大寫或者用,下換線隔開
雖然我們自己不會這麼浪,起這麼非主流的名字,但是不怕一萬,就怕萬一,如果手一抖建了我們知道怎麼删,或者哪天突然腦袋一抽想體驗一下非主流也可以知道怎麼建這些名字。
最後廢話一句,規範才能高效。遵守才能規範,紅燈停綠燈行都知道,但是不遵守的哪裡都存在,這就是不穩定因素。
本文轉自 lajifeiwomoshu 51CTO部落格,原文連結:http://blog.51cto.com/lajifeiwomoshu/2044052