Uinx/Linux上的幫助、查詢命令(不再是簡單的man和info)

onephone發表於2017-02-28

部落格連結: http://codeshold.me/2017/02/linux_unix_help_commands.html

別人問我為什麼不用百度或谷歌,我告訴他 “因為我知道這些”!

  1. man -k KEYWORDapropos KEYWORD

    • 想完成某個任務,但不知道命令時,可通過KEYWORD進行搜尋!
    • 比如,我想知道tcpdump中的資料包過濾表示式怎麼寫
      • 命令列鍵入man -k packet命令後,其會返回相關內容,然後發現了pcap-filter(如下) image_1b9vcu1nst2j1o7ml121c3v1rh49.png-9.9kB
      • 接著命令列鍵入man pcap-filter查詢,即知道怎麼寫資料包過濾表示了
      • 下圖就是man pcap-filter中給出的"過濾TCP流中的SYN和FIN包"表示式 image_1b9vd54jpe0d1ouasl517shlenm.png-4.3kB
  2. help KEYWORD

    • help 可顯示關於bash命令、shell控制結構等其他資訊
    • 比如,我想知道shell指令碼中的while迴圈怎麼用
      • 命令列鍵入help while
        image_1b9vgtvtm1uroplnsehagg14hg13.png-16.8kB
    • 命令列鍵入help,則可查詢到更多的提示(包括知道哪些是Shell內建命令image_1b9vh4i1g96c1jo7bsf1gj61fqm1g.png-20.4kB
  3. pinfo

    • 使用的是彩色介面,比info命令更易於使用
    • 比如:我想知道passwd怎麼使用
      • pinfo passwd image_1b9vhk5q211m3nf71a2k1b2q7r92a.png-20.4kB
  4. rpm -qc RPM-PACKAGE-NAMEapt-file

    • 可查詢到對應程式的配置檔案路徑
    • 如,我想知道sshd的配置檔案在哪裡
      • 命令列鍵入rpm -qc openssh-server即可
      • 若不知道軟體包名稱,可先rpm -qa | grep ssh查詢下 image_1b9vi594h1rg3u6p115o1fls1htp2n.png-19.6kB
    • 直接man RPM-PACKAGE-NAME後在FILES一欄也可查詢到(更詳細)
    • rpm的其他查詢功能見man rpm(如檢視doc文件、安裝目錄等)
  5. man N KEYWORD

    • 瞭解man手冊的內部分類(即man 1-10)
    • 我想知道/etc/passwd這個檔案內容格式的意義
      • man 5 passwd image_1b9vk5qh01hh411e81a71ers19du3h.png-17.1kB
  6. which KEYWORDwhatis KEYWORDwhereis KEYWORD

    • 以上都可用於定位程式
    • 如:我想知道sshd這個命令在哪裡
      • which只顯示搜尋到的第一個使用程式名
      • whereis顯示所有搜尋到的程式名 image_1b9vjtthi1jds8hhjt8cso1k9p34.png-7.4kB
    • type命令可以判斷命令是否為shell內建命令,如type echo
    • locate KEYWORD 可用來搜尋檔案(和updatedb配合)
    • find
  7. /usr/shar/doc

    • 該目錄下常常包含程式更詳細的資訊,但該資訊通常對要編譯和修改程式的人來說有意義(和maninfo提供的不同)
    • 目錄中大多儲存了一個README檔案,如/usr/share/doc/tar-1.26/README
  8. 兩個幫助網站

相關文章