天天看點

基本 Unix /linux 指令

讓我們來學習基本的 Unix 指令。 [20] 使用非特權用來執行下面的所有的指令。 penguin :

  • pwd
    • 顯示目前工作路徑。
  • whoami
    • 顯示目前使用者名。
  • file foo
    • 顯示 foo 檔案的屬性。
  • type -p commandname
    • 顯示指令 commandname 所的的地方。
    • which commandname 也可以用來做這個 . [21]
  • type commandname
    • 顯示指令 commandname 的資訊。
  • apropos key-word
    • 找到和 key-word 相關的指令。
    • man -k key-word 也可以做到
  • whatis commandname
    • 顯示該指令的一句話幫助。 commandname.
  • man -a commandname
    • 顯示指令的解釋資訊。 commandname. (Unix style)
  • info commandname
    • 顯示很長的指令解釋 commandname. (GNU style)
    ls
    • 列出目錄内容 (非以.開始的檔案和目錄) [22]
  • ls -a
    • 列出目錄内容(所有的檔案和目錄)
  • ls -A
    • 列出目錄内容。(幾乎所有的檔案和目錄,略去“

      ..

      ”和“

      .

      ”)
  • ls -la
    • 列出目錄所有檔案和目錄的詳細資訊。檢視Debian 中的檔案系統概念, 第 4.5.2 節。
  • ls -d *
    • 列出目前目錄下的目錄名稱,而不是目錄下的内容。
  • lsof foo
    • 顯示檔案 foo 的打開狀态。
  • mkdir foo
    • 在目前目錄下建立一個新的目錄 foo。
  • cd foo
    • 切換到目前目錄下或者在變量 CDPATH 中列出來的目錄

      foo

      。在

      builtins(7)

      檢視指令

      cd

  • cd /
    • 切換到根目錄。
  • cd
    • 切換到使用者主目錄。
  • cd /foo
    • 切換到絕對路徑

      /foo

      所指定的目錄。
  • cd ..
    • 切換到上一級目錄。
  • cd ~foo
    • 切換到使用者主目錄下的 foo 目錄去。
  • cd -
    • 切換到上一次所去的目錄。
  • </etc/motd pager
    • 使用預設的分頁程式檢視檔案

      /etc/motd

      的内容,參照command < foo, 第 4.3.10.9 節。 [23]
  • touch junkfile
    • 建立一個空檔案

      junkfile

  • cp foo bar
    • 拷貝一個已有的檔案

      foo

      到新檔案

      bar

  • rm junkfile
    • 删除檔案

      junkfile

  • mv foo bar
    • 把已有的檔案

      foo

      重命名為

      bar

  • mv foo bar/baz
    • foo

      移動到新位置并重命名為

      bar/baz

      。目錄

      bar

      必須存在。
  • chmod 600 foo
    • 讓已經存在的檔案

      foo

      其他人不能讀寫。(所有人都 不能執行)。
  • chmod 644 foo
    • 使檔案

      foo

      其他的人可以讀,但是不能寫。(所有人 都不能執行)
  • chmod 755 foo
    • foo

      其他的人能讀不能寫。(所有人都可以執行)
  • top
    • 全屏顯示程序資訊。輸入”q”退出。
  • ps aux | pager
    • 用 BSD 風格輸出所有正在運作的程序的資訊。參照 command1 | command2, 第 4.3.10.2 節。
  • ps -ef | pager
    • 用 system-V 風格來輸出所有正在運作的程序的資訊。
  • ps aux | grep -e "[e]xim4*"
    • 顯示

      exim4

      程序,或者運作

      exim

      的程序。輸入 man grep 可以從

      grep(1)

      的手冊頁學習正規表達式。 [24]
  • ps axf | pager
    • 用 ASCII 藝術形式來顯示運作所有程序資訊。
  • kill 1234
    • 殺死程序号為 1234 的程序。 檢視中止一個程序, 第 8.5.1 節。
  • grep -e "pattern" *.html
    • 找到目前目錄下面所有以 .html 結尾的檔案中含有"pattern"的行,并顯示它們。
  • gzip foo
    • 用Lempel-Ziv(LZ77)壓縮算法壓縮

      foo

      ,生成

      foo.gz

  • gunzip foo.gz
    • 将檔案

      foo.gz

      解壓縮生成

      foo

  • bzip2 foo
    • foo.bz2

      foo

  • tar -xvvf foo.tar
    • 從打封包件

      foo.tar

      解出檔案來。
  • tar -xvvzf foo.tar.gz
    • 從打包壓縮的檔案

      foo.tar.gz

      中解開檔案。
  • tar -xvvf --bzip2 foo.tar.bz2
    • 從檔案

      foo.tar.bz2

      解壓縮檔案。 [25]
  • tar -cvvf foo.tar bar/
    • 把目錄

      bar/

      的内容打包存放到

      foo.tar

      存檔中。
  • tar -cvvzf foo.tar.gz bar/
    • bar/

      的内容打包并且壓縮存放到

      foo.tar.gz

  • tar -cvvf --bzip2 foo.tar.bz2 bar/
    • bar/

      中的内容打包存放到

      foo.tar.bz2

      存檔裡面。 [26]
  • zcat README.gz | pager
    • 實用預設的分頁顯示程式 pager 來顯示壓縮檔案

      README.gz

      中的内容。
  • zcat README.gz > foo
    • 使用檔案

      README.gz

      解開後的内容建立一個檔案

      foo

  • zcat README.gz >> foo
    • 把檔案

      README.gz

      解開後的内容追加到檔案

      foo

      的後面(如果檔案不存在的話,就會建立一個)。
  • find . -name pattern
    • 用 shell 找到比對 pattern 的檔案名(慢一些)。
  • locate -d . pattern
    • 用 shell 找到比對 pattern 的檔案名(使用已有的規則的資料庫,快一些)。

請用上面的這些指令來檢視您的系統的目錄和其他的資訊,以此來熟練一些操作。如果您對上面的這些控制台指令有任何不明白的地方,請首先閱讀幫助手冊,比如下面的指令就是好的開始:

$ man man
     $ man bash
     $ man ls
      

現在也是時候啟動

vim

然後按下 F1 鍵了。您最少也應該閱讀開始的 35 行。然後把光标移動到 |tutor|,再按下 Ctrl-]就可以做線上測試了。檢視編輯器, 第 11 章可以學到更多關于編輯器的知識。

請注意許多來自于 GNU 和 BSD 的類 Unix 指令都會在您進行如下操作的時候(或者您沒有給出任何參數)給出簡單的幫助:

$ commandname --help
     $ commandname -h
      

繼續閱讀