Linux 命令列必學指令

為什麼要學習 Linux 命令列? Linux 命令列是系統管理員和開發者必備的技能,它提供了: 高效率 - 快速執行複雜任務 自動化 - 編寫腳本自動化工作流程 遠端管理 - 透過 SSH 管理遠端伺服器 資源控制 - 精確控制系統資源 檔案與目錄操作 基本導航 # 顯示當前目錄 pwd # 列出檔案和目錄 ls -la # 切換目錄 cd /path/to/directory cd ~ # 回到家目錄 cd - # 回到上一個目錄 # 創建目錄 mkdir new_directory mkdir -p parent/child/grandchild # 遞迴創建 # 刪除目錄 rmdir empty_directory # 只能刪除空目錄 rm -rf directory_name # 強制刪除目錄及內容 檔案操作 # 創建空檔案 touch new_file.txt # 複製檔案 cp source.txt destination.txt cp -r source_dir dest_dir # 複製目錄 # 移動/重新命名檔案 mv old_name.txt new_name.txt mv file.txt /path/to/destination/ # 刪除檔案 rm file.txt rm -i file.txt # 互動式刪除(會詢問) 檔案內容查看 查看檔案內容 # 顯示整個檔案 cat filename.txt # 分頁顯示 less filename.txt more filename.txt # 顯示前/後幾行 head -n 10 filename.txt # 前10行 tail -n 10 filename.txt # 後10行 tail -f logfile.txt # 持續監控檔案變化 搜尋和過濾 # 在檔案中搜尋文字 grep "pattern" filename.txt grep -r "pattern" directory/ # 遞迴搜尋 grep -i "pattern" filename.txt # 忽略大小寫 # 計算行數、字數 wc -l filename.txt # 行數 wc -w filename.txt # 字數 wc -c filename.txt # 字元數 系統資訊與監控 系統狀態 # 系統資訊 uname -a # 系統詳細資訊 whoami # 當前使用者 id # 使用者和群組資訊 uptime # 系統運行時間 # 硬體資訊 free -h # 記憶體使用情況 df -h # 磁碟使用情況 du -sh directory/ # 目錄大小 行程管理 # 查看行程 ps aux # 所有行程 ps aux | grep nginx # 搜尋特定行程 top # 即時行程監控 htop # 更好用的 top (需安裝) # 終止行程 kill PID # 終止指定行程 killall process_name # 終止所有同名行程 kill -9 PID # 強制終止行程 網路操作 網路診斷 # 測試連線 ping google.com ping -c 4 google.com # 只 ping 4 次 # 查看網路介面 ifconfig # 網路介面資訊 ip addr show # 現代化的網路介面查看 # 檢查連接埠 netstat -tulpn # 查看監聽的連接埠 ss -tulpn # 現代化的 netstat # 下載檔案 wget https://example.com/file.zip curl -O https://example.com/file.zip 檔案權限與使用者管理 權限管理 # 查看權限 ls -l filename.txt # 修改權限 chmod 755 script.sh # 數字方式 chmod +x script.sh # 符號方式,添加執行權限 chmod -w filename.txt # 移除寫入權限 # 修改擁有者 chown user:group filename.txt chown -R user:group directory/ 使用者切換 # 切換使用者 su username su - # 切換到 root sudo command # 以管理員權限執行命令 文字處理工具 強大的文字處理 # 排序 sort filename.txt sort -n numbers.txt # 數字排序 sort -r filename.txt # 反向排序 # 去除重複行 uniq filename.txt sort filename.txt | uniq # 先排序再去重 # 文字替換 sed 's/old/new/g' filename.txt # 替換文字 sed -i 's/old/new/g' filename.txt # 直接修改檔案 # 欄位處理 cut -d',' -f1,3 csv_file.csv # 提取第1和第3欄 awk '{print $1, $3}' filename.txt # 列印第1和第3個欄位 壓縮與解壓縮 常用壓縮格式 # tar 壓縮 tar -czf archive.tar.gz directory/ # 創建 gzip 壓縮檔 tar -xzf archive.tar.gz # 解壓縮 gzip # zip 壓縮 zip -r archive.zip directory/ # 創建 zip 檔案 unzip archive.zip # 解壓縮 zip 實用技巧 歷史命令 # 查看命令歷史 history # 重複執行命令 !! # 重複上一個命令 !n # 重複第 n 個命令 !string # 重複最近以 string 開頭的命令 輸出重導向 # 重導向輸出 command > output.txt # 覆寫檔案 command >> output.txt # 附加到檔案 command 2> error.txt # 重導向錯誤輸出 command > output.txt 2>&1 # 重導向所有輸出 # 管道操作 ls -la | grep "\.txt" # 列出 .txt 檔案 ps aux | grep nginx | wc -l # 計算 nginx 行程數量 找檔案 # 尋找檔案 find /path -name "*.txt" # 按名稱尋找 find /path -type f -size +100M # 尋找大於100MB的檔案 find /path -mtime -7 # 尋找7天內修改的檔案 # 快速定位 which command # 找出命令的位置 whereis command # 找出命令及相關檔案位置 進階技巧 背景執行 # 背景執行命令 command & # 在背景執行 nohup command & # 不受終端關閉影響 # 查看背景工作 jobs # 列出工作 fg %1 # 將工作1調到前景 bg %1 # 將工作1調到背景 螢幕會話 # 使用 screen 或 tmux screen -S session_name # 創建新會話 screen -r session_name # 重新連接會話 tmux new -s session_name # 創建 tmux 會話 tmux attach -t session_name # 連接 tmux 會話 掌握這些 Linux 命令,你就能高效地管理系統和處理各種任務! ...

July 8, 2025 · 14 min · 2968 words · NAX