發信人: Wyvern (紫檀短刀), 信區: Program
標  題: 幾個實用的 unix 指令
發信站: 杏花村 (Wed Jun 17 22:39:42 1998), 轉信

0. unix 的指令格式

        通常 unix 的指令格式都是由指令名稱開頭,後面跟一堆選項或開關,
        最後是需要運作的資料。

        也就是

        <command> <option> <operand>

        指令通常都是一個可執行檔的檔名,你應該可以在 /bin、/usr/bin、/etc、
        /usr/local/bin 等等目錄底下找到他們的蹤跡,如果找不到,
        勸你看一下 set 指令所列出來的 path 變數的內容。

        選項通常是 - 開頭跟著一個字母,或者是 -- 開頭後面跟著一個英文單字。
        然後後面有時候會跟著這個選項需要的 input。

1. man <keyword>

        例如 man gcc
             man grep
             man man

        或如 man encrypt
             man assert

        總之 man 是 unix 的線上輔助說明,也就是所謂的 help
        你可以針對 unix 指令以及 c 語言的標準函式做查詢....

        有時候會有好幾個不同的說明是同一個 keyword
        例如 man exit 很可能會查到 unix shell script 裡面的 exit
        這時候就要看 see also 的部分,通常會告訴你怎樣看另一個
        exit 的解釋。

        一般我們針對同一個 keyword 不同的解釋叫做 session
        如何針對同一個 keyword 指定我要查詢的 session 呢?
        又如何知道在哪一個 session 呢?
        針對第一個問題,不同的 OS 有不同的作法

        在 linux 一般是把 session number 擺到 keyword 前面就可以了。
        例如 man 2 exit

        有些則需要加上 -s 選項,如 man -s 2 exit

        至於有哪些東西可以 man 到的,通常 man 的說明檔都擺在
        /usr/man 或者 /usr/local/man 底下的各目錄。
        如 /usr/man/man1 就是 man 1 <keyword> 會看到的說明。

        第二個問題就要靠 man -k <keyword> 來檢查了...
        如果你的 man 系統有灌好的話, man -k <keyword> 應該可以
        看到一些跟那個 <keyword> 有關的列表。

        例如我 man -k exit 得到以下結果

        exit (1) [builtins]  - bash built-in commands, see bash(1)
        exit (2)             - terminate the current process
        exit (3)             - cause normal program termination

        表示說 exit 有三個 session,分別是 man 1 exit、man 2 exit以及
        man 3 exit 可以看到不同的說明。

2. find <from where> -name <what>

        find 這個指令非常好用,當然我要說明的並不及他功能的十分之一。
        一般我們要用到的是從某個目錄底下找某些檔案。
        例如 find /usr -name telnet
        就是在 /usr 目錄底下找 telnet 的完整路徑。

        當然還有更暴力的功能,例如找到檔案後要刪除、或馬上做其他處理、
        要只找 30 前的檔案... 等等。

        但是指令要怎麼下,就請你用 man 翻一翻吧... :b

3. grep <keyword> <files>

        這個指令在尋找你想要的東西到底是在那個檔案裡面時會很有幫助!
        例如說

        grep assert /usr/include/*.h