文件與目錄操作
| 命令 | 功能 | 常用示例 |
| ls | 列出目錄內容 | ls -la (含隱藏、詳情)、ls -lh (人類可讀大小) |
| cd | 切換目錄 | cd ~ (家目錄)、cd - (上一目錄) |
| pwd | 顯示當前路徑 | pwd -P (解析符號鏈接) |
| mkdir | 創建目錄 | mkdir -p a/b/c (遞歸創建) |
| rmdir | 刪除空目錄 | rmdir dir |
| cp | 複製文件/目錄 | cp -r src dst、cp -p (保留屬性) |
| mv | 移動/重命名 | mv old new |
| rm | 刪除文件/目錄 | rm -rf dir (危險!慎用) |
| cat | 顯示文件內容 | cat file、cat -n (顯示行號) |
| more/less | 分頁查看 | less file (支持上下翻頁、搜索 /pattern) |
| head/tail | 查看首/尾行 | tail -f log (實時跟蹤) |
| touch | 創建空文件/更新時間 | touch file |
| find | 查找文件 | find / -name "*.log" -mtime -1 |
| locate | 快速按名查找 | locate keyword (先 updatedb) |
文件權限與屬性
chmod 755 file # 數字權限
chmod u+x,g-w,o=r file # 符號權限
chown user:group file # 修改擁有者
chgrp group file # 修改組
lsattr / chattr # 查看/修改擴展屬性 (i=不可刪, a=僅追加)
umask 022 # 設置默認權限掩碼
文本處理三劍客
| 命令 | 核心功能 | 經典用法 |
| grep | 模式搜索 | grep -rn "pattern" /path、grep -v "exclude" |
| sed | 流編輯器 | sed -i 's/old/new/g' file (原地替換) |
| awk | 列處理/報表 | awk -F: '{print $1,$3}' /etc/passwd |
壓縮與打包
tar czf archive.tar.gz dir/ # 打包並 gzip 壓縮
tar xzf archive.tar.gz # 解壓
tar czf - dir/ | ssh host "tar xzf - -C /target" # 遠程打包傳輸
gzip / gunzip file # 單文件壓縮/解壓
bzip2 / bunzip2 file # 更高壓縮比
zip / unzip file.zip # 跨平台兼容
系統信息與監控
uname -a # 內核/架構信息
df -h # 磁盤使用率
du -sh * # 目錄大小
free -h # 內存使用
top / htop # 進程監控
ps aux # 進程快照
who / w # 登錄用戶
uptime # 系統負載
date # 時間日期
cal # 日曆
網絡工具
ping host # 連通性測試
traceroute host # 路徑追蹤
netstat -tunlp # 端口監聽狀態 (舊)
ss -tunlp # 端口監聽狀態 (新)
ip a / ip link # 網卡/IP 配置 (新)
ifconfig # 網卡配置 (舊)
ssh user@host # 遠程登錄
scp file host:path # 文件傳輸
curl -I url # HTTP 頭檢查
wget url # 下載文件
進程管理
kill PID # 終止進程
kill -9 PID # 強制殺死
pkill name # 按名稱殺死
nohup cmd & # 免掛起後台運行
screen / tmux # 終端多路復用 (斷開恢復)
crontab -e # 定時任務
軟件包管理
| 發行版 | 命令 | 常用操作 |
| Debian/Ubuntu | apt | apt update && apt install pkg |
| CentOS/RHEL 7 | yum | yum install pkg |
| CentOS/RHEL 8+ | dnf | dnf install pkg |
| Arch | pacman | pacman -S pkg |
獲取幫助
man cmd # 手冊頁
info cmd # 信息頁 (更詳細)
cmd --help # 內置幫助
whatis cmd # 一行描述
apropos keyword # 搜索手冊