面對茫茫命令行,新手最需掌握的是「查幫助、看目錄、定位置、換目錄、建目錄、找文件、複製、移動、看內容、殺進程、提權限」這 11 條核心命令。本文逐一拆解核心參數、實戰場景、組合技巧,建立命令行思維。
1. man:自帶百科全書,學會查手冊就會 Linux
man ls:查看 ls 完整手冊(按 q 退出,/關鍵字 搜索)
man -k 關鍵字:搜索相關命令(等同 apropos)
man 1 ls:指定章節(1 用戶命令、2 系統調用、3 庫函數、5 文件格式、8 管理命令)
- 技巧:不記參數就
man 命令,連 man man 都能查。
2. ls:看清目錄全貌
ls:基本列表
ls -l:長格式(權限、擁有者、大小、時間)
ls -a:含隱藏文件(以 . 開頭)
ls -h:人類可讀大小(K/M/G)
ls -lh:長格式+易讀大小(日常首選)
ls -lt:按修改時間倒序(最新在前)
3. pwd:精準定位當前坐標
pwd:顯示絕對路徑(邏輯路徑,含符號鏈接)
pwd -P:顯示物理路徑(解析符號鏈接)
4. cd:自由穿梭目錄樹
cd / cd ~:回家目錄
cd -:返回上一目錄($OLDPWD,來回切換神器)
cd ..:父目錄
cd ../..:祖父目錄
cd 目錄名:相對路徑進入
cd /絕對路徑:絕對路徑跳轉
5. mkdir:創建目錄結構
mkdir dir:單層創建
mkdir -p a/b/c:遞歸創建多層(父目錄不存在自動創建)
6. find / locate:精準/極速找文件
| 特性 | find | locate |
| 原理 | 實時遍歷磁盤 | 查詢預建索引數據庫(/var/lib/mlocate/mlocate.db) |
| 速度 | 慢(大目錄需秒級) | 極快(毫秒級) |
| 實時性 | 100% 實時 | 依賴 updatedb 更新(通常每日定時) |
| 功能 | 強大(類型、大小、時間、權限、執行動作) | 僅文件名模糊匹配 |
| 典型用法 | find /var/log -name "*.log" -mtime +7 -delete | locate bashrc |
建議:知大概位置用 find 精準定位;全盤模糊找用 locate 秒出結果再驗證。
7. cp:複製文件/目錄
cp file1 file2:複製文件並重命名
cp file dir/:複製到目錄(保持文件名)
cp -r dir1 dir2:遞歸複製目錄
cp -p file1 file2:保留權限、時間戳、擁有者
8. mv:移動/重命名
mv file1 file2:重命名(同目錄)
mv file dir/:移動到目錄
mv dir1 dir2:重命名/移動目錄
- 跨文件系統移動 = 複製 + 刪除,大目錄耗時。
9. more / less:分頁查看長文本
more file:向下翻頁(空格/回車),不支持向上翻頁
less file:上下翻頁、搜索(/)、跳轉行號(:n),功能完整,推薦首選
10. kill:優雅/強制終止進程
ps -aux | grep 進程名:獲取 PID
kill PID:發送 SIGTERM (15),進程可捕獲優雅退出
kill -9 PID:發送 SIGKILL (9),內核強制終止,**不可捕獲,可能導致數據丟失**
killall 進程名:按名稱殺死所有同名進程
pkill -f 關鍵字:按命令行模式殺進程
11. sudo:臨時獲取 root 權限
sudo 命令:以 root 身份執行(需輸入當前用戶密碼)
sudo -i:切換到 root Shell 環境(加載 root 環境變量)
sudo -u user 命令:以指定用戶身份執行
visudo:編輯 /etc/sudoers(語法檢查,防鎖死)
- 原則:日常操作用普通用戶,僅在安裝軟件、修改系統配置、綁定低端口時用
sudo。
組合拳實戰
# 查找並刪除 7 天前的大日志文件
find /var/log -name "*.log" -size +100M -mtime +7 -exec rm -f {} +
# 批量重命名 .htm → .html
for f in *.htm; do mv "$f" "${f%.htm}.html"; done
# 實時監控 nginx 訪問日志中的 5xx 錯誤
tail -f /var/log/nginx/access.log | grep '" 5'
# 一鍵部署:更新、安裝、啟動、設置開機自啟
sudo apt update && sudo apt install -y nginx && sudo systemctl enable --now nginx