🐧 Linux 基本命令整理
為了方便初學者快速掌握 Linux 常用命令,以下是經過分類整理的核心命令及用法說明。
📂 目錄操作與文件管理
pwd
-
核心功能:打印當前工作目錄的絕對路徑,明確用戶所在位置。
-
實操示例:
pwd # 輸出示例:/home/user/documents
ls
-
核心功能:列出指定目錄中的文件和子目錄(默認顯示當前目錄)。
-
高頻選項:
-
- -l:長格式顯示,包含權限(如 -rw-r–r–)、所有者、大小、修改時間等詳細信息。
-
- -a:顯示所有文件,包括 .bashrc 等隱藏文件(以 . 開頭的文件)。
-
- -A:顯示所有文件,但排除 .(當前目錄)和 …(上級目錄)。
-
- -d:僅顯示目錄自身屬性,例如 ls -ld /etc 查看 /etc 目錄的權限。
-
- -h:以人類可讀單位(K、M、G)顯示文件大小,如 2.5M 而非 2621440 字節。
-
- -t:按修改時間排序(最新文件在前),結合 -r 可反向排序(最舊文件在前)。
-
- -S:按文件大小排序(從大到小),配合 -h 更直觀。
du
-
核心功能:查看文件或目錄占用的磁盤空間。
-
實用選項:
-
- -a:顯示所有文件(包括子文件)的空間占用,默認僅顯示目錄。
-
- -h:以 K、M、G 為單位顯示(如 1.2G)。
-
- -s:僅統計總大小,不顯示子項詳情,例如 du -sh /var/log 查看日志目錄總占用。
mkdir
-
核心功能:創建新目錄。
-
關鍵選項:
-
- -p:遞歸創建多層目錄,無需手動逐級創建。
示例:mkdir -p /tmp/project/{src,docs,tests} 一次性創建項目所需的三級目錄結構。
touch
-
核心功能:
-
- 快速創建空文件(若文件不存在)。
-
- 更新已有文件的時間戳(訪問時間和修改時間)。
-
批量操作:touch note_{1…5}.txt 一次性創建 note_1.txt 到 note_5.txt 五個文件。
ln
-
核心功能:創建文件 / 目錄的鏈接(類似快捷方式)。
-
兩種鏈接類型:
-
- 硬鏈接(無選項):
-
-
- 僅支持文件,不支持目錄。
-
-
-
- 源文件刪除后,硬鏈接仍可訪問內容(共享 inode)。
-
示例:ln /etc/hosts hosts-hard
-
- 軟鏈接(-s 選項):
-
-
- 支持文件和目錄,僅記錄源路徑。
-
-
-
- 源文件刪除后,軟鏈接失效(顯示 broken link)。
-
示例:ln -s /usr/local/bin/python3 python
cp
-
核心功能:復制文件或目錄。
-
必知選項:
-
- -r:遞歸復制目錄(復制目錄時必須使用),例如 cp -r /home/user/pics /backup。
-
- -i:覆蓋文件前提示確認(避免誤操作),如 cp -i file.txt /tmp。
-
- -p:保留源文件的權限、修改時間等屬性,適用于備份場景。
rm
-
核心功能:刪除文件或目錄(謹慎使用!)。
-
重要選項:
-
- -r:遞歸刪除目錄及所有內容,例如 rm -r old_project。
-
- -f:強制刪除,不提示確認(風險較高,建議新手慎用)。
-
- -i:刪除前逐一提示,適合重要文件操作。
-
?? 警告:rm -rf / 會刪除系統所有文件,絕對禁止執行!
mv
-
核心功能:
-
- 移動文件 / 目錄到新位置,例如 mv report.pdf /tmp。
-
- 重命名文件 / 目錄(同一目錄下),例如 mv oldname.txt newname.txt。
🔧 別名管理
alias
- 核心功能:為常用命令創建簡化別名,提高效率。
示例:alias ll=‘ls -lha’ 以后輸入 ll 即可執行 ls -lha。
unalias
- 核心功能:刪除已創建的別名,例如 unalias ll 取消 ll 別名。
永久生效設置
- 編輯用戶配置文件:
vi ~/.bashrc # 或 ~/.bash_profile
-
在文件中添加別名(如 alias cls=‘clear’)。
-
使配置生效:
source ~/.bashrc # 無需重啟終端即可生效
🔍 文件查找與搜索
find
-
核心功能:在指定目錄下遞歸查找文件 / 目錄,支持多條件篩選。
-
常用篩選條件:
-
- -name “*.log”:按文件名查找(區分大小寫),如查找所有 .log 日志文件。
-
- -iname “readme”:不區分大小寫查找(匹配 ReadMe、README 等)。
-
- -size +100M:查找大于 100M 的文件(-100M 為小于,100M 為等于)。
-
- -user john:查找屬于用戶 john 的文件。
-
- -type f:僅查找普通文件(d 為目錄,l 為鏈接文件)。
-
組合操作:查找后直接執行命令(如刪除):
find /tmp -name "*.tmp" -type f -mtime +7 -exec rm -f {} \;# 含義:刪除 /tmp 下7天前的 .tmp 臨時文件
📦 掛載管理
mount
- 核心功能:將磁盤分區、U 盤等存儲設備掛載到目錄(掛載點),使其可訪問。
示例:mount /dev/sdb1 /mnt/usb 將 U 盤掛載到 /mnt/usb。
- 常用選項:-t ext4 指定文件系統類型(如 ext4、ntfs)。
umount
- 核心功能:卸載已掛載的設備,例如 umount /mnt/usb 安全移除 U 盤。
📄 文件內容查看
cat
- 核心功能:一次性顯示文件全部內容(適合小文件),例如 cat /etc/hostname 查看主機名。
more 與 less
-
共同點:分頁查看大文件內容(避免內容刷屏)。
-
差異點:
-
- more:僅支持向下翻頁(空格翻頁,b 鍵回退),適合簡單瀏覽。
-
- less:支持上下翻頁、搜索(輸入 /關鍵詞 查找),功能更強大,推薦優先使用。
head 與 tail
-
head -n 5 file.txt:查看文件前 5 行(默認前 10 行)。
-
tail -n 5 file.txt:查看文件后 5 行(默認后 10 行)。
-
tail -f /var/log/syslog:實時跟蹤日志新增內容(常用于監控系統或應用日志)。
🔠 文本統計與過濾
wc
-
核心功能:統計文件的行數、單詞數、字節數。
-
常用組合:
-
- wc -l file.txt:統計行數(常用于查看日志條數)。
-
- wc -w README.md:統計單詞數(以空格分隔)。
grep
-
核心功能:在文本中篩選含指定關鍵詞的行(強大的文本過濾工具)。
-
實用選項:
-
- -i:忽略大小寫,如 grep -i “error” log.txt 匹配 Error、ERROR 等。
-
- -v:反向篩選(顯示不含關鍵詞的行),如 grep -v “^#” config.ini 過濾注釋行。
-
- ^ 與 $:匹配行首 / 行尾,例如 grep “^root” /etc/passwd 查找以 root 開頭的行。
🗜? 壓縮與歸檔
gzip 與 gunzip
-
功能:壓縮 / 解壓 .gz 格式文件(不支持目錄)。
-
- 壓縮:gzip data.txt → 生成 data.txt.gz(原文件刪除)。
-
- 解壓:gunzip data.txt.gz → 恢復為 data.txt。
bzip2 與 bunzip2
-
功能:壓縮 / 解壓 .bz2 格式文件(壓縮率通常高于 gzip)。
-
- 壓縮:bzip2 report.pdf → 生成 report.pdf.bz2。
-
- 解壓:bunzip2 report.pdf.bz2 → 恢復為 report.pdf。
tar(歸檔 + 壓縮)
-
核心功能:打包目錄并壓縮,支持 .tar.gz(常用)、.tar.bz2 等格式。
-
壓縮命令:
tar -czvf backup.tar.gz /home/docs # 打包并壓縮為 .tar.gz 格式tar -cjvf data.tar.bz2 /var/log # 打包并壓縮為 .tar.bz2 格式
- 解壓命令:
tar -xzvf backup.tar.gz -C /tmp # 解壓到 /tmp 目錄tar -xjvf data.tar.bz2 # 解壓到當前目錄
-
選項說明:
-
- -c:創建歸檔;-x:提取文件;-z:用 gzip 壓縮;-j:用 bzip2 壓縮;-v:顯示過程;-f:指定文件名。
🖥? 系統信息與管理
時間管理
-
date:查看當前時間,date -s “2025-01-01 12:00” 手動修改系統時間。
-
hwclock -w:將系統時間同步到硬件時鐘(避免重啟后時間錯亂)。
歷史命令
-
history:顯示執行過的命令記錄(默認保存 1000 條)。
-
快捷執行:!123 執行第 123 條命令,!ls 執行最近一次 ls 命令。
系統信息
-
uname -r:查看內核版本(如 5.15.0-78-generic)。
-
hostname:查看主機名,hostnamectl set-hostname server01 修改主機名。
-
ip a:查看所有網絡接口的 IP 地址(替代老舊的 ifconfig)。
關機與重啟
-
shutdown -h now 或 poweroff:立即關機。
-
shutdown -r now 或 reboot:立即重啟。
-
shutdown -r +30 “系統將在30分鐘后重啟”:定時重啟并發送提示消息。
通過上述命令的組合使用,可滿足 Linux 日常操作的大部分需求。建議結合實際場景多練習,逐步熟悉命令的靈活應用。