Skip to content

Command

command

提示

命令列通常可以合併在一起,例如-a-b同時使用時,可以寫作-ab linux的檔案系統使用正斜線/,與windows使用的反斜線\相反


命令列

1. 基礎

  • man [command] 訪問linux系統的手冊,用來查找命令列的相關訊息
  • cd [destination] 目錄切換,可以接受 絕對路徑相對路徑
    • . 單點號代表當前目錄
    • .. 雙點號代表父目錄
  • pwd 顯示 shell 的當前工作目錄
  • ls 顯示當前目錄下的文件與目錄,按照字母排序
    • LS_COLOR環境變量可以控制用不同顏色區分不同類型文件
    • -F 區分文件與目錄,並在可執行文件後添加星號( * )
    • -a 顯示隱藏文件
    • -R 遞迴選項,列出所有子目錄內的文件
    • -l 顯示長列表,列出詳細訊息
    • 過濾器 若不知道確切名稱,可以將過濾器作為命令列參數執行

      • ? 代表任意單個字
      • * 代表零或多個字
      • [ae] 可能出現的兩種字,可以用範圍[a-e]表示多個
      • ; : 可以在單行內執行一串命令
        ubuntu@ubuntu:~/CPP_Project$ pwd ; cd src ; pwd ; cd ..; pwd
        /home/ubuntu/CPP_Project
        /home/ubuntu/CPP_Project/src
        /home/ubuntu/CPP_Project
        
      • & 加在結尾,將命令置入後台模式
      • type 判斷命令是否為內建,若為外部需要花費額外系統開銷
      • history 追蹤最近使用過的命令
      • alias 命令別名,僅在其被定義的shell進程內才有效

2. 文件操作

  • touch [file] 創建空文件,若文件存在則僅修改時間

  • cp [source] [destination] 從一個位置複製文件到另一位置 > 注意:記得在目錄名稱尾部加上正斜線( / )

    • -i 詢問是否覆蓋已有文件
    • -R 複製整個目錄
  • ln [target] [source] 鏈結文件,創建獨立的虛擬文件,包含了原始文件的訊息及位置

    • -s 軟鏈結,文件內容彼此不同
  • mv [source] [target] 移動文件與目錄到另一位置或重命名

    • -i 詢問是否覆蓋已有文件
  • rm 刪除文件

    • -i 詢問是否真的要刪除文件
    • -f 強制刪除文件
  • mkdir 創建目錄

    • -p 批量創建目錄與子目錄
  • rmdir 刪除目錄,默認只刪除空目錄

    • -r 向下進入目錄,刪除其中的文件
  • file 探測文件內部並判斷文件類型

  • cat 顯示文件中所有數據

    • -n 顯示行號
    • -b 僅在有文本的行加上行號
  • more 顯示文件內容,但在顯示每頁數據後停下來
  • lessmore類似,但比他強大
  • tail 顯示文件最後幾行
    • -n 顯示n行數,預設為10行
    • -f 保持活動狀態並持續顯示添加到文件的內容,實時監控log的好方式
  • head 顯示文件開頭若干行,沒有-f選項
    • -n 顯示n行數,預設為10行
  • sort 排序文件內數據
    • -n 按值排序
    • -M 按月排序
  • grep 逐行搜尋指定模式的文本
    • -v 反向搜尋(不匹配的)
    • -n 顯示行數
    • -e 多個匹配
  • gzip 壓縮指定文件至.gz
  • tar [function] [option] 壓縮與歸檔文件
    • function
      • -A, --concatenate 將一個tar文件追加到另一個tar文件
      • -c, --create 創建新的tar文件
      • -d, --diff 檢查文件不同之處
      • --deletetar文件中刪除文件
      • -r, --append 將文件加入tar文件內
      • -xtar文件中進行提取
    • option
      • -c [dir] 切換到指定目錄
      • -f [file] 將結果輸出到文件
      • -p 保留文件權限
      • -v 處理文件時顯示文件名
      • -j 輸出傳給bzip2命令進行壓縮
      • -J 輸出傳給xz命令進行壓縮
      • -z 輸出傳給gzip命令進行壓縮
      • -Z 輸出傳給compress命令進行壓縮

3. 監控程序

  • ps 輸出運行進程的訊息
    • -A, -e 顯示所有進程
    • -N 顯示與指定參數不符的所有進程
    • -a 顯示除控制(session leader)與無終端機以外的所有進程
    • -d 顯示除控制外所有進程
    • -C [cmdlist] 顯示包含在cmdlist內的進程
    • -U [userlist] 顯示在userlist內的進程
    • -F 顯示更多額外輸出
    • --forest 顯示shell父子關係
  • top 實時更新進程訊息
  • kill 透過PID向進程送出訊號,必須是進程的owner或root user
  • pkill 使用程序名,而不是用PID終止進程

  • sleep 希望進程等待(睡眠)的秒數

  • jobs 顯示屬於你的所有進程

  • coproc 生成子shell並在子shell中執行命令

4. 監測硬碟

  • mount 掛載儲存設備
  • umount 退出儲存設備
  • df 查看掛載硬碟的使用情況
    • -h 人類易讀的方式輸出
  • du 顯示特定目錄的使用大小