命令到實戰(zhàn)腳本指南)
1. Linux系統(tǒng)入門從零開始的實踐指南第一次接觸Linux時我被那個黑色的終端窗口嚇到了——沒有熟悉的圖形界面只有閃爍的光標和看似神秘的命令。但經(jīng)過多年的使用我發(fā)現(xiàn)Linux才是真正能讓計算機聽話的系統(tǒng)。今天我就分享一套經(jīng)過實戰(zhàn)檢驗的Linux學(xué)習(xí)方法特別適合想要系統(tǒng)掌握Linux的新手。提示本文所有操作均基于Ubuntu 22.04 LTS版本但原理適用于大多數(shù)Linux發(fā)行版1.1 為什么選擇Linux作為技能起點在云計算和DevOps成為標配的今天Linux早已不是極客的專屬玩具。根據(jù)2023年的行業(yè)調(diào)查超過90%的云服務(wù)器運行Linux系統(tǒng)包括你每天使用的各種互聯(lián)網(wǎng)服務(wù)背后很可能都是Linux在支撐。掌握Linux意味著獲得服務(wù)器管理的基礎(chǔ)能力理解計算機系統(tǒng)的工作原理為學(xué)習(xí)編程和自動化打下基礎(chǔ)提升故障排查和問題解決能力我建議的學(xué)習(xí)路徑是基礎(chǔ)命令 → 文件系統(tǒng) → 權(quán)限管理 → 軟件安裝 → 系統(tǒng)監(jiān)控 → Shell腳本。這個順序由淺入深每個階段都能立即應(yīng)用到實際工作中。2. 基礎(chǔ)環(huán)境搭建與核心命令2.1 三種最適合新手的實踐方案方案一Windows子系統(tǒng)(WSL)# 在PowerShell中執(zhí)行 wsl --install -d Ubuntu這是最便捷的方式特別適合只想體驗Linux命令行的用戶。安裝后可以直接在Windows開始菜單找到Ubuntu終端。方案二虛擬機方案推薦使用VirtualBox Ubuntu鏡像下載VirtualBox和Ubuntu ISO新建虛擬機(建議2核CPU/4GB內(nèi)存/25GB存儲)安裝時勾選安裝OpenSSH服務(wù)器和最小化安裝方案三云服務(wù)器方案各大云平臺都提供免費試用AWS EC2的t2.micro實例阿里云ECS共享型n1騰訊云輕量應(yīng)用服務(wù)器注意云服務(wù)器記得配置安全組開放22端口(SSH)2.2 必須掌握的20個核心命令命令作用實用示例ls列出目錄內(nèi)容ls -lh(人類可讀大小)cd切換目錄cd ~(返回家目錄)pwd顯示當前路徑在腳本中確定位置mkdir創(chuàng)建目錄mkdir -p a/b/c(遞歸創(chuàng)建)touch創(chuàng)建文件touch {1..10}.txt(批量創(chuàng)建)cp復(fù)制文件cp -r dir1 dir2(遞歸復(fù)制)mv移動/重命名mv old.txt new.txtrm刪除rm -rf dir(強制遞歸刪除)cat查看文件cat filegrep文本搜索grep -r error /var/logfind文件查找find . -name *.log -mtime 7chmod權(quán)限修改chmod 755 script.shchown歸屬修改chown user:group fileps進程查看ps auxtop系統(tǒng)監(jiān)控按M按內(nèi)存排序df磁盤空間df -h(人類可讀)du目錄大小du -sh *(匯總顯示)tar打包壓縮tar -czvf archive.tar.gz dirssh遠程連接ssh -p 2222 userhostsudo提權(quán)執(zhí)行sudo apt update這些命令的組合使用可以完成90%的日常操作。建議先掌握基礎(chǔ)用法再通過--help參數(shù)探索高級選項。3. 文件系統(tǒng)深度解析3.1 Linux目錄結(jié)構(gòu)精要目錄用途實操建議/bin基礎(chǔ)命令系統(tǒng)修復(fù)時關(guān)鍵/etc配置文件修改前記得備份/home用戶目錄個人文件存放處/var可變數(shù)據(jù)日志文件所在地/tmp臨時文件重啟自動清除/usr用戶程序軟件安裝目錄/opt可選軟件第三方軟件位置/rootroot目錄普通用戶無權(quán)限/proc進程信息調(diào)試時查看/dev設(shè)備文件硬件交互接口理解這個結(jié)構(gòu)是成為Linux高手的關(guān)鍵。比如當磁盤空間不足時我會依次檢查/var/log- 日志文件是否過大/tmp- 臨時文件是否堆積/home- 用戶文件是否超量3.2 權(quán)限系統(tǒng)實戰(zhàn)技巧Linux權(quán)限系統(tǒng)經(jīng)常讓新手困惑??催@個典型示例-rwxr-xr-- 1 user group 2048 Jun 1 10:00 script.sh分解說明第一個字符-表示普通文件(d為目錄)接下來三組rwx分別對應(yīng)所有者(user)/所屬組(group)/其他用戶(other)數(shù)字表示4(r)2(w)1(x)常用權(quán)限設(shè)置chmod 755 script.sh # 所有者rwx其他人rx chmod 600 secret.txt # 僅所有者可讀寫 chmod x script.sh # 添加執(zhí)行權(quán)限踩坑記錄曾經(jīng)有次誤執(zhí)行chmod -R 777 /導(dǎo)致系統(tǒng)安全機制崩潰。切記不要隨意全局提權(quán)4. 軟件管理與系統(tǒng)維護4.1 包管理工具對比工具適用系統(tǒng)核心命令A(yù)PTDebian/Ubuntusudo apt update sudo apt upgradeYUMRHEL/CentOSsudo yum check-updateDNFFedorasudo dnf upgradePacmanArchsudo pacman -SyuZypperopenSUSEsudo zypper refresh我的軟件安裝流程先搜索官方源apt search keyword查看軟件信息apt show package安裝sudo apt install package清理緩存sudo apt autoremove4.2 系統(tǒng)監(jiān)控三板斧內(nèi)存檢查free -h重點關(guān)注available值這才是真正可用的內(nèi)存。CPU監(jiān)控top -o %CPU # 按CPU排序或使用更直觀的htop(需額外安裝)磁盤I/Oiotop # 需要sudo權(quán)限發(fā)現(xiàn)異常進程時可以用strace跟蹤系統(tǒng)調(diào)用strace -p 進程PID5. Shell腳本實戰(zhàn)入門5.1 第一個實用腳本日志清理#!/bin/bash # 清理7天前的日志文件 LOG_DIR/var/log/myapp DAYS_TO_KEEP7 if [ ! -d $LOG_DIR ]; then echo 錯誤日志目錄不存在 exit 1 fi find $LOG_DIR -type f -name *.log -mtime $DAYS_TO_KEEP -delete echo 已清理$(date %Y-%m-%d)的舊日志使用技巧第一行#!/bin/bash必須要有給腳本執(zhí)行權(quán)限chmod x cleanup.sh測試時先用-print替換-delete確認文件添加到cron實現(xiàn)自動化0 3 * * * /path/to/cleanup.sh /var/log/cleanup.log 215.2 腳本調(diào)試技巧語法檢查bash -n script.sh詳細執(zhí)行日志bash -x script.sh檢查未定義變量bash -u script.sh在VSCode中安裝ShellCheck插件實時提示錯誤6. 常見問題排錯指南6.1 SSH連接失敗排查流程檢查網(wǎng)絡(luò)連通性ping 目標IP確認端口開放telnet 目標IP 22查看服務(wù)狀態(tài)sudo systemctl status sshd檢查防火墻規(guī)則sudo ufw status # Ubuntu sudo firewall-cmd --list-all # CentOS查看日志journalctl -u sshd -n 50 --no-pager6.2 Permission Denied 問題大全場景解決方案執(zhí)行腳本報錯chmod x script.sh修改文件報錯sudo vim file或chown user file安裝軟件報錯使用sudo或切換root訪問目錄報錯ls -ld /path查看權(quán)限SCP傳輸失敗檢查目標目錄可寫權(quán)限7. 進階學(xué)習(xí)路線建議掌握基礎(chǔ)后可以按這個路線繼續(xù)提升網(wǎng)絡(luò)管理netstat/ss查看連接tcpdump抓包分析iptables/nftables防火墻服務(wù)管理Systemd單元文件編寫Nginx/Apache配置Docker容器管理自動化運維Ansible劇本編寫定時任務(wù)管理(cron)日志分析(ELK棧)性能調(diào)優(yōu)vmstat/iostat監(jiān)控內(nèi)核參數(shù)調(diào)整文件系統(tǒng)優(yōu)化建議每天解決一個實際問題比如如何批量重命名文件怎樣找出消耗CPU的進程如何設(shè)置開機自啟動服務(wù)這種問題驅(qū)動學(xué)習(xí)法效果最好。我在初期就創(chuàng)建了一個Linux問題解決記錄文檔現(xiàn)在回頭看那些踩過的坑都是最寶貴的學(xué)習(xí)資料。