Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 命令行入門掃盲:su/pwd/cd/ls/find/tar/gzip/mkdir/cp/rm/mv/reboot/halt 十二大核心命令詳解

編輯:Linux 教學

命令行是 Linux 系統管理的靈魂。無論是雲原生工程師、運維專家、還是後端開發,熟練掌握核心命令行工具是效率的分水嶺。本文精選 用戶切換、目錄導航、檔案列表、搜尋、打包壓縮、目錄/檔案操作、系統電源 十二大高頻命令,逐一拆解語法、常用選項、實戰範例與避坑提示,助你建立扎實的命令行肌肉記憶。

一、用戶切換:su / sudo

# 切換到指定用戶 (需目標用戶密碼)
su - user2
# - 表示載入目標用戶環境變數 (等同 su -l)

# 切換到 root (需 root 密碼)
su -

# root 切換至任意用戶 (無需密碼)
su - www-data

# 退回原用戶
exit
# 或
Ctrl+D

# 推薦:sudo (授權機制,無需共享 root 密碼)
sudo -u user2 command
sudo -i          # 獲取 root 交互 Shell
sudo command     # 單次提權執行

最佳實踐:禁用 root 直接登入,配置 /etc/sudoers (用 visudo) 授權輪值管理員,審計所有提權操作。

二、目錄導航:pwd / cd

# 顯示當前工作目錄絕對路徑
pwd

# 切換目錄
cd /var/log          # 絕對路徑
cd ../..             # 相對路徑:上兩級
cd -                 # 切回上一個工作目錄 (OLDPWD)
cd ~                 # 切回當前用戶家目錄 ($HOME)
cd ~user2            # 切回 user2 家目錄
cd                   # 無參數等同 cd ~

技巧:cd - 在兩個目錄間快速切換;pushd/popd/dirs 構建目錄棧實現多目錄巡航。

三、檔案列表:ls

# 基礎列表
ls

# 詳細資訊 (長格式)
ls -l
# 權限 鏈接數 擁有者 群組 大小 時間 名稱
# drwxr-xr-x 2 root root 4096 Jul 30 10:00 data

# 顯示隱藏檔 (以 . 開頭)
ls -a

# 人類可讀大小
ls -lh

# 遞歸列出子目錄
ls -R

# 按時間排序 (最新優先)
ls -lt

# 按大小排序
ls -lS

# 組合常用
ls -lhart  # 詳細、人類可讀、含隱藏、按時間反序

檔案類型首字元:- 普通、d 目錄、l 符號鏈接、b 區塊裝置、c 字符裝置、p 管道、s Socket。

四、檔案搜尋:find

# 按名稱搜尋 (支援通配符)
find / -name "*.conf" -type f
find . -name "test*.c"

# 按類型搜尋
find /etc -type f   # 普通檔案
find /etc -type d   # 目錄
find /etc -type l   # 符號鏈接

# 按大小搜尋
find /var/log -size +100M   # > 100MB
find /tmp -size -1k         # < 1KB

# 按時間搜尋
find /home -mtime -7        # 7 天內修改過
find /tmp -atime +30        # 30 天未訪問
find /var -ctime 0          # 今日狀態變更

# 按權限搜尋
find / -perm /4000          # SUID
find / -perm /2000          # SGID

# 組合動作:執行命令
find /tmp -type f -name "*.tmp" -mtime +7 -delete
find /var/log -name "*.log" -exec gzip {} \;
find . -name "*.c" -exec grep -l "TODO" {} \;

關鍵區別:-exec cmd {} \; 每檔案啟動一次進程;-exec cmd {} + 批量傳遞參數 (效率高);-delete 內建刪除 (最快、最安全)。

五、打包壓縮:tar / gzip

# 建立壓縮包 (tar + gzip)
tar -czvf backup.tar.gz /etc /home/user
# -c 建立 -z gzip -v 顯示過程 -f 檔案名

# 解壓縮
tar -xzvf backup.tar.gz -C /tmp/restore
# -x 解壓 -C 指定目錄

# 僅查看內容
tar -tzvf backup.tar.gz

# 追加檔案
tar -rzvf backup.tar.gz new_file.txt

# 純 gzip (單檔案)
gzip file.txt          # 壓縮 → file.txt.gz
gzip -d file.txt.gz    # 解壓
gunzip file.txt.gz     # 同解壓

# 解壓並保留原檔
gzip -c -d file.txt.gz > file.txt

現代替代:xz (LZMA2,壓縮比高、速度慢)、zstd (極快、壓縮比佳)、pigz (並行 gzip)。

六、目錄操作:mkdir / rmdir

# 建立目錄 (遞歸建立父目錄)
mkdir -p /data/mysql/{data,logs,conf}

# 設定權限同時建立
mkdir -m 750 /data/secure

# 刪除空目錄
rmdir empty_dir

# 刪除非空目錄 (慎用 -rf)
rm -rf /tmp/old_data

七、檔案複製/移動/刪除:cp / mv / rm

# 複製
cp file1.txt /backup/
cp -r /etc /backup/etc/           # 遞歸複製目錄
cp -a /src /dst                   # 保留屬性 (權限、時間、鏈接) = -dR --preserve=all

# 移動/重命名
mv old_name.txt new_name.txt
mv /tmp/*.log /var/log/archive/

# 刪除
rm file.txt
rm -i file.txt                    # 交互確認
rm -r dir/                        # 遞歸刪除目錄
rm -rf /tmp/cleanup               # 強制遞歸刪除 (極度危險,三思而行)

# 安全別名 (加入 ~/.bashrc)
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

八、系統電源:reboot / halt / poweroff / shutdown

# 重啟
reboot
systemctl reboot

# 關機
halt
poweroff
systemctl poweroff

# 排程關機/重啟 (推薦)
shutdown -h now        # 立即關機
shutdown -r +10        # 10 分鐘後重啟
shutdown -h 02:30      # 02:30 關機
shutdown -c            # 取消排程

生產環境鐵律:永遠使用 shutdown 或 systemctl,確保服務優雅停止、快取同步、檔案系統卸載。reboot/halt/poweroff 僅在系統無響應時作為最後手段。

九、實戰組合拳:日常運維高頻管線

# 找出佔用磁碟最大的 10 個目錄
du -h /var/log | sort -hr | head -10

# 找出含特定錯誤的日誌並統計次數
grep -r "OutOfMemoryError" /var/log/app/ | wc -l

# 批量重命名: .htm → .html
rename 's/\.htm$/.html/' *.htm

# 實時追蹤日誌並高亮關鍵字
tail -f /var/log/nginx/access.log | grep --color=auto "ERROR\|WARN"

# 統計當前連接數前 10 的 IP
ss -tan | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10

十、總結:命令行精通之路

  1. man 是最好的老師:man ls、man find、man tar,閱讀 SYNOPSIS、DESCRIPTION、OPTIONS、EXAMPLES。
  2. 建立別名庫:~/.bashrc 定義 ll='ls -lh'、la='ls -lha'、grep='grep --color=auto' 等。
  3. 善用 Tab 補全:命令、路徑、參數、變數全支援,雙 Tab 顯示候選。
  4. 歷史指令搜尋:Ctrl+R 反向搜尋 history,history | grep keyword。
  5. 腳本化重複操作:將高頻管線封裝為 ~/bin/xxx.sh,加入 PATH。

命令行不只是工具,更是與 Linux 內核對話的語言。從這十二大核心命令開始,刻意練習、組合管線、封裝腳本,你將獲得「指尖流淌系統」的掌控感與效率倍增器。

Copyright © Windows教程網 All Rights Reserved