接下來看兩個有趣的檔案,分別是/etc/issue跟/etc/motd,前者紀錄目前你使用的OS資訊,比方說Ubuntu 7.04,後者則是使用者遠端登入的時候的顯示訊息;這兩個檔案有人非常詬病,因為/etc/motd跟/etc/issue常常有系統的種類資訊,他們認為這只是讓hack更加容易了解系統的資訊,所以一般建議是把/etc/motd修改(這部份對於多人使用環境,如學校開個機器讓學生熟悉linux環境,非常有用),不要洩漏自己系統的資訊
有很多個人的設定檔案,也就是當你進入shell的時候一定會執行的某些shell script,這些檔案實在太多太雜了,我一般都是使用.bashrc來建立我個人的路徑,例如JAVA_HOME等等
常態表示法(regular expression),這東西可是可以開一門課程的內容,我就不仔細介紹了,直接擷取鳥哥的一小段內容近來,實際上多用、多看、多想~就可以達到相當的程度;如果真的有興趣Oreilly有出版一本mastering regular expression的書本,況且這東西還因應不同的程式語言有不同的風貌哩(有些小差異,比如perl跟postfix的版本很像,但是有點小小的不一樣),以下是節錄的內容
號 | 內容 |
* | 萬用字元,代表 0 個或多個字元(或數字) |
? | 萬用字元,代表『一定有』一個字母 |
# | 註解,這個最常被使用在 script 當中,視為說明! |
\ | 跳脫符號,將『特殊字元或萬用字元』還原成一般字元 |
| | 分隔兩個管線命令的界定; |
; | 連續性命令的界定(注意!與管線命令並不相同) |
~ | 使用者的家目錄 |
$ | 亦即是變數之前需要加的變數取代值 |
& | 將指令變成背景下工作 |
! | 邏輯運算意義上的『非』 not 的意思! |
/ | 路徑分隔的符號 |
>, >> | 輸出導向,分別是『取代』與『累加』 |
' | 單引號,不具有變數置換的功能 |
" | 具有變數置換的功能! |
` ` | 兩個『 ` 』中間為可以先執行的指令! |
( ) | 在中間為子 shell 的起始與結束 |
[ ] | 在中間為字元的組合 |
{ } | 在中間為命令區塊的組合! |
如果我們要觀察一個目錄下所有文字檔,假設文字檔統統是以副檔名.txt出現的,我們就可以下達指令ls *.txt
接下來就是看到兩個shell重要的觀念redirect(重導)跟pipeline(管線),很多人使用的很習慣,也重來不細想其中的差別(本人就是一個XD);redirect就是把資料放到別的地方去,而pipeline則是將前者的輸出變成後者的輸入
沒有留言:
張貼留言