2007年6月15日

鳥哥筆記-Lesson 3

由於已經晚上了,腦袋已經不靈光了,所以就進行一些簡單的任務吧,來看看一些常用的指令,本來應該先看一下檔案架構跟FHS的,不過就免了吧,免得腦死

絕對路徑跟相對路徑是很重要的觀念,如果有寫過網頁的人應該蠻清楚的,不再多說~鳥哥列出了一些常用的指令cd(改變目前所在位置), pwd(印出目前位置), mkdir(建立目錄), rmdir(刪除目錄),接著就是一些比較少用的方式囉

mkdir -p dir1/dir2/dir3 (對於不存在的目錄/路徑順便建立)
rmdir -p dir1/dir2/dir3 (刪除一連串的目錄)
mkdir -m 744 dir1 (其中m表示設定權限)

PATH變數說使用的指令/執行檔所在目錄,一般你下指令,會先到這些目錄收尋,如果match到的指令就套用;使用echo $PATH來觀察,增加可以使用
export PATH=$PATH:/home/user1/bin
這樣子不同的路徑之間用分開

檔案目錄操作指令常見的有cp(copy), rm(remove), mv(move),其中比較值得一提的是mv又可以作為重新命名之用,一般使用者如果直接從M$對應過來,可能比較適應,這些指令的常用的格式都是cp/rm/mv source_file destination_file

檢視檔案的內容,或許你會覺得linux/unix之類怎麼那麼無聊,發展出這些簡單的指令,然後好像功能又是重複,或者很無用呢?

其實是有些歷史因素,比如說,你由遠端登入觀看log檔案,有時候可能會有幾百MB那麼那,你不可能一頁一頁看,而且通常重要的事情會發生在尾端,你就需要從後面看(類似tail指令)

有些則是慢慢可以從前面找,只要看過就好,就可以用cat,但是如果說要比較,要上一頁/下一頁的跑就用less,有時候如果你想要從中間抓出特定給行,這時候行號就很重要啦,如nl之類的指令(大部分會配合pipeline使用)

接著你會覺得很無聊的就是,為何還有些只會抓幾行這麼龜毛的功能都出來了?因為過去很久以前阿,記憶體可是很貴的,網路頻寬也是很珍貴,能省則省(MIS多死幾個腦細胞沒關係XD)

功能很類似的指令,其實是消耗記憶體不一樣(歷史發展理由)或者可以使用pipeline來做出非常彈性的變化
  • cat 由第一行開始顯示檔案內容
  • tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
  • nl 顯示的時候,順道輸出行號!
  • more 一頁一頁的顯示檔案內容
  • less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
  • head 只看頭幾行
  • tail 只看尾巴幾行
在來看一個touch指令,看起來非常無用阿,只是更改一些狀態跟時間,真的是好像非常無聊;不過它也有實用的地方喔!

如果你開發過程式,你就大概隱約知道makefile的功能,在編譯C/C++程式的時候,主要根據C file(.c/.C)的更新日期,make程式來自動計算要不要重新編譯,因為數十年前來說,CPU資源是很珍貴的~編譯過的片段程式,沒有更新當然不用在編譯一次,可是有時候你只有改變了header file(.h),這樣make程式不會發覺,會造成錯誤喔,你也不想再用vi xxx.c然後再把它存檔,只要單純的touch xxx.c就可以了,重新make就可以了

下一次再來看看檔案權限的問題跟其他~

沒有留言: