2010年12月30日 星期四

shell 指令備忘

shell 指令

1. locate
     locate tmp | more
     尋找檔名有 tmp 的檔案.
     如果跑出來一大堆的結果, 那可以使用 more 來將輸出的東西分頁暫停.

2. find
     find . -name "*.tmp"
     尋找目前目錄及其子目錄, 副檔名為 tmp 的檔案.
     find . -name "*.tmp" -exec rm {} \;
     同上, 但找到後執行刪除動作.

     英文句點代表現行目錄, 當然也可以改成其他的目錄.

3. grep
     尋找的是檔案內容是否含有某些字串.
     grep Linux *
     找目前目錄(不含子目錄)所有含有 Linux 字串的檔案
     grep -r Linux *
     同上, 但會連子目錄也去找

          grep & locate 組合使用
          locate tmp | grep Linux 只找含有 Linux 字串的 tmp 檔案.
          locate tmp | grep doc 同理, 要找 tmp 的相關說明檔時, 就可以這樣使用.
          locate tmp | grep doc | more 這樣也行!

4. > 及 >>
     locate tmp > tmp.lst 本來是在螢幕顯示的內容, 現在被導向進 tmp.lst 這個檔案內了.
     locate tmp >> tmp.lst 兩個 >> 不會去除原來檔案的內容, 而是附加上去.
      > tmp.lst 把一個檔案的內容清掉.

5. ln (link)
     ln -s orig.txt link.txt 將原存在的 orig.txt 建一個連結檔 link.txt。
     有如 Windows 系統中的捷徑 (shortcut) 一樣.
     不加 -s 的話, 則是硬連結(hard link), 除非找出他的 inode (ls -i), 不然,
     無法分出誰是分身, 誰是本尊.
     請千萬注意, 原始檔(orig.txt)在前面, 連結檔(link.txt)在後面.

6. 讀取檔的每一行內容並輸出

    cat file(待讀取的檔) | while read line
    do
    echo $line
    done



沒有留言:

張貼留言