1. 程式人生 > >linux 常見命令總結

linux 常見命令總結

常見命令都可以直接在terminal下通過man列出幫助資訊,如:man ls

1. ls
   列出檔案和資料夾。
   ls *  # 列出所有檔案
   ls ../../rtl/   #列出指令路徑下的檔案
   ls -la ~/       #列出home路徑下的所有檔案(包括隱藏檔案)

   運用舉例:
   ls ../../rtl/*  > rtl.lst   # 將命令輸出儲存到一個新建的list文字檔案中,
                               # 可以用於生成include.f等模擬rtl列表檔案
   ls ../../lib/*  >> rtl.lst
   說明: “〉”表示新建一個檔案rtl.lst, 並將輸出重定向至該新建檔案
          “>>”表示將命令的輸出附加到已存在的文字檔案rtl.lst中

   其他基本命名,如cd,mkdir,rm等暫不說明。

2. touch
   生成一個空的新檔案

3. cat
   在terminal顯示文字檔案內容

   運用舉例:
   cat a.txt >> b.txt    #將a.txt檔案內容附加到b.txt檔案中

4. find
   搜尋指定路徑下與表示式匹配的檔案

   find ./  -iname "*_top.v"   #在當前路徑以及子路徑下搜尋名字為*_top.v的檔案

5. alias
   類似於為指定命令指定一個快捷鍵

   alias ...  "cd ../../../"  #指定“...”等價於cd ../../../命令
   建議:
   home路徑下建立一個.alias隱藏檔案,常用的命令都在該檔案中建立alias
   .alias
   ----------------
   alias  h 'history'
   alias  draw 'eog'
   alias  e 'emacs'
   ...
6. history
   列出歷史命令。一般情況下還可以在home路徑下的.history中看到最近的一些操作命令。

   運用舉例:
   history   #列出所有命令
   命令輸出為:
   115 cd .
   116 cat ~/.alias
   ...
   以上輸出的第一個數字為命令序號,可以通過 "!命令序號"的方式快捷呼叫,例如:!116

7. du 
   列出使用者磁碟佔用空間 
   du -hs .  #看當前路徑下磁碟佔用的空間

8. df
   列出所在硬碟分割槽的佔用情況
   df -h  .  #看當前硬碟分割槽的佔用情況

9. top
   動態顯示所在伺服器程序情況。可顯示那一個任務佔用了多少cpu和mem資源。類似windows的任務
管理器。

10. jobs
   列出當前terminal下開啟的命令。對各命令以數字順序編號。

   運用舉例:
   jobs   #列出命令
   命令輸出為:
   [1]   + Running       evince   ./aaa.pdf
   ...
   kill -9 %1     #強制關閉任務1的evince

11. ps 
   列出程序
  
   運用舉例:
   ps -ef | grep user01
   說明:
   1)-ef 選項表示列出所用程序
   2)“|”表示管道,即將ps -ef的輸出傳遞給另一個命令,上例中是傳遞給grep命令。
   3)上例命令總體的目的是列出所用的程序並將屬於使用者user01的程序過濾出來

12. tee
   接收標準輸入的內容並寫出到標準輸出或檔案

   運用舉例:
    ps -ef | grep user01 | tee ps.lst
   說明:列出所用的程序並將屬於使用者user01的程序過濾出來,結果寫入到ps.lst檔案

13. ssh
   遠端登入伺服器。或在各個server中切換。
   ssh  aaa.bbb.com
   登入後會要求輸入使用者名稱和密碼。一般情況下僅可執行terminal命令,不可開啟圖形介面工具。

   運用舉例:
   在伺服器1開啟一個工具後,發現系統被掛住。滑鼠和鍵盤失效。可考慮藉助另一臺伺服器2登入
伺服器1,通過ps命令找到導致系統掛住的工具,然後通過kill命令結束該命令。

14. kill
   結束程序。
   例如上例10中和jobs配合,或13中和ssh和ps配合。

15. echo
   一般用於列印一行文字資訊,如可將環境變數或使用者設定的變數打印出來。

   運用舉例:
   setenv  sim  '/work/my_design/sim/'  #設定環境變數sim
   echo  $sim  #打印出環境變數sim

16. setenv
   設定環境變數。
   如上例的sim變數。
   運用舉例
   cd $sim  #直接進入/work/my_design/sim/路徑

17. cp 
   複製檔案或資料夾
   cp -r my_folder  ../  #將my_folder 複製到../
  
18. ln
   建立檔案或資料夾的連結
    ln -s  ../sim/run_nc  ./   #在本路徑下建立run_nc的連結

19. chmod 
   改變檔案的屬性。

    chmod -R uog+rwx   *  #將所有檔案包含子目錄下的檔案開放所有許可權。
                          #不建議這麼做,可調整uog和rwx選項合理開放許可權
                          #如chmod -R g+r  表示對同一個group開放讀許可權

20. 壓縮和解壓相關命令
   tar,gunzip,unzip

   tar -xvzf aaa.tar  #解壓aaa.tar檔案