Linux 基礎命令詳解與學習筆記
- 一、Linux 文件系統基礎
- 二、文件與目錄操作命令
- 三、文件內容查看與處理命令
- 四、文件搜索與文本過濾命令
- 五、系統管理與進程命令
- 六、權限與用戶管理命令
- 七、壓縮與解壓命令
- 八、網絡相關命令
- 九、學習建議與下一步
- `掌握這些基礎命令,你就已經邁過了Linux世界的門檻。持續練習和探索,你會越來越熟練。`
Linux 的世界雖然一開始可能讓人望而生畏,但一旦掌握了它的基礎命令,你就會發現它那強大而高效的魅力。這份指南將帶你系統性地學習 Linux 中最常用和最關鍵的基礎命令,并附上一些實用的筆記和技巧,幫助你快速上手。
一、Linux 文件系統基礎
Linux 文件系統采用??樹狀目錄結構??,一切皆文件(包括硬件設備)。理解幾個核心目錄的作用至關重要:
??/??
:根目錄,所有目錄的起點。
??/bin?? & ??/sbin
??:存放系統??基本命令??和??管理命令??(sbin 通常需要 root 權限)。
??/etc??
:存放系統??配置文件??。
??/home??
:??用戶家目錄??所在地,每個用戶都有一個以用戶名命名的子目錄。
??/root
??:??系統管理員(root)的家目錄??。
??/var??
:存放經常變化的文件,如??日志??、郵件等。
??/tmp
??:??臨時文件目錄??。
二、文件與目錄操作命令
這是你最常使用的命令集合,用于導航和操作文件系統。
命令 | 功能描述 | 常用參數與示例 | 學習筆記 |
---|---|---|---|
pwd | 顯示??當前工作目錄??的絕對路徑 | pwd | 時刻清楚自己所在的位置,是一切操作的前提。 |
ls | 列出目錄內容 | -l詳細列表 、 -a顯示隱藏文件(以.開頭)、-h人類可讀的文件大小(配合-l)、-t按修改時間排序、ls -lah組合使用 | ls -l結果第一列表示文件類型和權限:-(普通文件),d(目錄),l(軟鏈接) |
cd | 切換當前工作目錄? | cd /path/to/dir絕對路徑跳轉、cd relative/path相對路徑跳轉、cd或 cd ~回家目錄、cd …回上一級目錄、cd -回上一次所在目錄 | 熟練使用 Tab鍵自動補全路徑,能極大提高效率并避免輸錯。 |
mkdir | 創建新目錄 | -p遞歸創建所需父目錄、mkdir -p project/{src,docs,bin} | 一次性創建多個并列目錄或復雜的嵌套目錄結構。 |
rmdir | 刪除空目錄? | rmdir empty_dir | 只能刪除空目錄,安全但用處有限。 |
touch | 創建空文件??或更新文件時間戳 | touch new_file.txt | 常用來快速創建一個空文件以備使用。 |
cp | 復制文件或目錄? | -i覆蓋前提示(安全!)、-r或 -R??遞歸復制目錄??(必須!)、-a歸檔模式(保留所有屬性)、cp -a old_dir/ new_dir/ | -a?? 參數是備份的神器,保留權限、時間戳等所有信息。 |
mv | ?移動或重命名??文件/目錄 | mv old_name new_name重命名、mv file /tmp/移動文件、-i覆蓋前提示 | 在同一個目錄下操作就是重命名,在不同目錄下操作就是移動。 |
rm | 刪除文件或目錄 | -i刪除前提示(安全!)、-r遞歸刪除目錄(必須!)、-f強制刪除(??極度危險!??)、rm -ri dir_to_remove/ | rm -rf請務必慎之又慎!?? Linux 沒有回收站,刪了就很難恢復。??永遠不要執行 rm -rf /??。 |
三、文件內容查看與處理命令
如何查看和初步處理文件內容。
命令 | 功能描述 | 常用參數與示例 | 學習筆記 |
---|---|---|---|
cat | 查看??較小文件??的全部內容 | -n顯示行號、cat -n /etc/profile | 文件太大時會用 less。也可用于合并文件:cat file1 file2 >combined_file |
more | 分頁查看??文件內容(只能向下) | more large_file.log | Enter 下一行,空格 下一頁,q退出。 |
less | 分頁查看??文件內容(可上下翻頁) | less large_file.log | 比 more更強大??:空格/PgDn:下一頁、b/PgUp:上一頁、/keyword:向下搜索、?keyword:向上搜索、q退出。 |
head | 查看文件??開頭??幾行(默認10行) | -n指定行數、head -n 20 syslog | 快速瞥一眼文件的結構或開頭格式。 |
tail | 查看文件??末尾??幾行(默認10行) | -n指定行數、-f實時追蹤文件新增內容??、tail -f /var/log/syslog | -f是運維神器??,常用來實時監控日志文件的變化。Ctrl+C 終止追蹤。 |
四、文件搜索與文本過濾命令
在大量文本中快速定位所需信息。
命令 | 功能描述 | 常用參數與示例 | 學習筆記 |
---|---|---|---|
find | 在指定目錄??遞歸查找文件 | -name按文件名查找、-type按類型查找 (f=文件, d=目錄)、-mtime按修改時間查找、find /var/log -name “*.log”、find /home -type f -mtime -7 | Linux 下??最強大的查找工具??,參數極多,可組合復雜條件。 |
grep | 在文本中搜索??匹配模式的字符串 | -i忽略大小寫、-n顯示匹配行的行號、-r遞歸目錄搜索、-v反向選擇(顯示不匹配的行)、grep -rn “error” /var/log/ | ??日志分析核心工具??。常與管道 ` |
五、系統管理與進程命令
了解系統狀態和管理運行中的程序。
命令 | 功能描述 | 常用參數與示例 | 學習筆記 |
---|---|---|---|
ps | 查看當前??進程快照 | **aux?? 顯示所有用戶進程的詳細信息、**ef?? 顯示全格式進程信息(含PPID)`ps aux | grep nginx` |
top | 動態實時??顯示系統進程和資源占用 | top | 系統監控利器。??按 P按CPU排序,M按內存排序,k終止進程,q退出??。 |
kill | 向進程發送信號以??終止進程 | -9發送 SIGKILL 信號??強制終止、kill 1234、kill -9 1234 | 先用 ps或 top查到目標進程的 PID,再用 kill。-9是最后手段,可能導致數據丟失。 |
df | 查看??磁盤空間??使用情況 | -h人類可讀格式 (KB, MB, GB)、df -h | 檢查各個分區的剩余空間,避免磁盤寫滿。 |
du | 查看??文件或目錄的磁盤占用??大小 | -sh以人類可讀格式顯示總大小、du -sh /home/username/ | 快速找出哪個目錄或文件占用了大量空間。 |
六、權限與用戶管理命令
Linux 是一個多用戶系統,權限控制是安全的核心。
命令 | 功能描述 | 常用參數與示例 | 學習筆記 |
---|---|---|---|
chmod | 修改文件/目錄的??訪問權限 | 符號模式??:u(用戶), g(組), o(其他), a(所有)、+(添加), -(移除), =(設置)、chmod u+x script.sh(給所有者添加執行權限)、數字模式??:r=4, w=2, x=1、chmod 755 script.sh(rwxr-xr-x) | 755(目錄和可執行腳本常用),644(普通文件常用)。 |
chown | 更改文件/目錄的??所有者和所屬組 | -R遞歸修改、chown user:group file.txt、chown -R www-data:www-data /var/www/ | 通常需要 sudo權限。用于將web目錄的所有權交給web服務器用戶。 |
sudo | 以 ??root 超級用戶權限??執行命令 | sudo apt update、sudo -i切換到root shell | 在命令前加上 sudo,輸入當前用戶密碼即可獲得臨時root權限。??慎用! |
七、壓縮與解壓命令
用于打包和壓縮文件以節省空間或便于傳輸。
命令 | 功能描述 | 常用參數與示例 | 學習筆記 |
---|---|---|---|
tar | 打包和解包文件(常與壓縮聯用) | -c創建打包文件、-x解包、-z通過gzip過濾(處理.tar.gz)、-j通過bzip2過濾(處理.tar.bz2)、-v顯示過程、-f指定文件名、tar -czvf archive.tar.gz files/(打包壓縮)、tar -xzvf archive.tar.gz(解壓) | 記住口訣:??c??reate(創建),e??x??tract(解包),??v??erbose(詳細),??f??ile |
zip / unzip | 壓縮為.zip格式 / 解壓.zip文件 | -r遞歸壓縮目錄、zip -r archive.zip directory/、unzip archive.zip | 跨平臺(Windows/Linux)友好。 |
八、網絡相關命令
檢查和操作網絡連接。
命令 | 功能描述 | 常用參數與示例 | 學習筆記 |
---|---|---|---|
ping | 測試與目標主機的??網絡連通性 | -c指定發送包次數、ping -c 4 google.com | 收到回復說明網絡通暢。按 Ctrl+C停止。 |
ss / netstat | 查看??網絡連接和端口監聽??狀態 | -tuln查看所有監聽中的TCP/UDP端口、ss -tuln或 netstat -tuln | ss是更現代的工具,替代了 netstat。常用來看哪些服務正在運行。 |
curl / wget | 在命令行中??下載文件 | curl -O http://example.com/file.zip、wget http://example.com/file.zip | curl功能更豐富(支持更多協議),wget支持遞歸下載。 |
九、學習建議與下一步
1、多動手實踐??:??不要只看不練??。嘗試在自己的Linux系統或虛擬機中執行每一個命令,并觀察結果。故意制造錯誤(如在權限不足時操作),看看系統如何提示。
2、??使用–help和man??:忘記命令用法時,命令 --help會給出簡單幫助,man 命令(manual)會提供??極其詳細的官方手冊??。??學會查手冊是成為Linux高手的關鍵?。
3、??組合命令與管道??:Linux哲學是“一個工具只做一件事,并做好”。通過管道 |可以將多個命令組合起來,完成復雜任務。例如:
ps aux | grep nginx(在進程列表中查找nginx)
cat log.txt | grep “error” | tail -n 10(顯示日志中最后10條錯誤信息)
4、??下一步學習??:
??Shell腳本編程??:將一系列命令寫入文件自動執行,實現自動化。
??系統服務管理??:學習 systemctl來啟動、停止、重啟服務(如Nginx、MySQL)。
??軟件包管理??:學習 apt(Debian/Ubuntu)或 yum(CentOS/RHEL)來安裝和管理軟件。