指令全解析:從入門到精通)
1. Linux基礎(chǔ)指令學(xué)習(xí)的重要性作為一名在運(yùn)維領(lǐng)域摸爬滾打多年的老手我見過太多新手因?yàn)楹鲆暬A(chǔ)指令的學(xué)習(xí)而走彎路。Linux系統(tǒng)就像一座精密的瑞士鐘表而基礎(chǔ)指令就是拆解和組裝這個鐘表的基本工具。掌握這些指令不僅能夠提高工作效率更是理解Linux系統(tǒng)運(yùn)行機(jī)制的重要入口。記得我剛?cè)胄袝r(shí)面對黑漆漆的命令行界面也是一頭霧水。但當(dāng)我真正靜下心來系統(tǒng)學(xué)習(xí)這些基礎(chǔ)指令后才發(fā)現(xiàn)它們就像樂高積木一樣通過不同組合可以構(gòu)建出各種強(qiáng)大的功能。這也是為什么我建議每個Linux學(xué)習(xí)者都要從基礎(chǔ)指令開始循序漸進(jìn)地建立知識體系。2. Linux文件系統(tǒng)基礎(chǔ)2.1 文件系統(tǒng)結(jié)構(gòu)解析Linux采用樹狀目錄結(jié)構(gòu)所有內(nèi)容都以文件形式存在。理解這個結(jié)構(gòu)是使用指令的前提。根目錄(/)是所有目錄的起點(diǎn)常見子目錄包括/bin存放基本命令/etc系統(tǒng)配置文件/home用戶主目錄/var經(jīng)常變化的文件提示使用tree -L 1 /可以直觀查看根目錄下的結(jié)構(gòu)但需要先安裝tree命令。2.2 路徑表示方法絕對路徑從根目錄開始如/home/user/file.txt相對路徑從當(dāng)前目錄開始如./subdir/file。特殊符號.當(dāng)前目錄..上級目錄~用戶主目錄3. 核心基礎(chǔ)指令詳解3.1 文件操作指令ls是最常用的指令之一但很多人只用最基本的ls。實(shí)際上ls -l # 詳細(xì)列表 ls -a # 顯示隱藏文件 ls -lh # 人類可讀的文件大小 ls -t # 按時(shí)間排序cp和mv指令使用時(shí)要注意cp -r dir1 dir2 # 遞歸復(fù)制目錄 mv file1 file2 # 重命名或移動注意Linux沒有回收站rm刪除的文件很難恢復(fù)建議使用rm -i交互模式。3.2 目錄操作指令cd切換目錄時(shí)幾個技巧cd - # 返回上一個目錄 cd ~ # 返回家目錄 pushd/popd # 目錄棧操作mkdir創(chuàng)建目錄時(shí)mkdir -p dir1/dir2 # 創(chuàng)建多級目錄 mkdir -m 755 dir3 # 指定權(quán)限3.3 文件查看指令cat適合小文件大文件建議使用less file # 分頁查看 head -n 10 file # 查看前10行 tail -f logfile # 實(shí)時(shí)查看日志4. 系統(tǒng)信息查詢指令4.1 系統(tǒng)狀態(tài)指令uname -a顯示系統(tǒng)信息df -h查看磁盤空間free -h查看內(nèi)存使用。我最常用的是組合指令watch -n 1 df -h; free -h # 每秒刷新查看資源使用4.2 進(jìn)程管理指令ps指令參數(shù)復(fù)雜記住幾個常用組合ps aux # 查看所有進(jìn)程 ps -ef # 完整格式列表 pstree # 樹狀顯示進(jìn)程top和htop是動態(tài)查看進(jìn)程的好工具h(yuǎn)top需要額外安裝但更直觀。5. 用戶權(quán)限管理5.1 權(quán)限基礎(chǔ)ls -l看到的權(quán)限字符串如-rwxr-xr--分為第1位文件類型(-普通文件d目錄)2-4位所有者權(quán)限5-7位組權(quán)限8-10位其他用戶權(quán)限5.2 權(quán)限修改指令chmod修改權(quán)限的兩種方式chmod 755 file # 數(shù)字方式 chmod ux file # 符號方式chown修改所有者chown user:group file6. 文本處理三劍客6.1 grep文本搜索grep是強(qiáng)大的文本搜索工具grep pattern file # 基本搜索 grep -r pattern dir # 遞歸搜索 grep -i pattern file # 忽略大小寫6.2 sed流編輯器sed可以進(jìn)行文本替換sed s/old/new/g file # 全局替換 sed -i.bak s/old/new/ file # 直接修改文件并備份6.3 awk文本分析awk適合處理結(jié)構(gòu)化文本awk {print $1} file # 打印第一列 awk -F: {print $1} /etc/passwd # 以:為分隔符7. 網(wǎng)絡(luò)相關(guān)指令7.1 網(wǎng)絡(luò)配置ifconfig或ip addr查看網(wǎng)絡(luò)配置新系統(tǒng)推薦使用ip命令ip addr show ip route7.2 網(wǎng)絡(luò)測試ping測試連通性traceroute跟蹤路由netstat查看網(wǎng)絡(luò)狀態(tài)netstat -tulnp # 查看監(jiān)聽端口 ss -tulnp # netstat的替代品8. 實(shí)用技巧與組合命令8.1 命令組合通過管道|可以組合多個命令ps aux | grep python # 查找python進(jìn)程 cat file | sort | uniq -c # 統(tǒng)計(jì)出現(xiàn)次數(shù)8.2 歷史命令優(yōu)化history查看命令歷史幾個實(shí)用技巧!number # 執(zhí)行歷史中第number條命令 !! # 上一條命令 ctrlr # 反向搜索歷史命令9. 環(huán)境變量與配置文件9.1 環(huán)境變量管理env查看環(huán)境變量export設(shè)置環(huán)境變量export PATH$PATH:/new/path echo $PATH9.2 常用配置文件~/.bashrc用戶bash配置~/.bash_profile登錄配置/etc/profile系統(tǒng)全局配置修改后記得source ~/.bashrc使配置生效。10. 學(xué)習(xí)建議與進(jìn)階路徑學(xué)習(xí)Linux指令最重要的是多實(shí)踐。建議每天掌握3-5個新命令嘗試用不同參數(shù)組合記錄常用命令到筆記嘗試用命令解決實(shí)際問題進(jìn)階可以學(xué)習(xí)shell腳本編程正則表達(dá)式系統(tǒng)性能分析工具服務(wù)配置與管理我在實(shí)際工作中發(fā)現(xiàn)很多復(fù)雜問題其實(shí)都可以用基礎(chǔ)指令的組合來解決。比如查找大文件find / -type f -size 100M -exec ls -lh {} \;或者統(tǒng)計(jì)日志中錯誤出現(xiàn)的次數(shù)grep -c ERROR logfile | awk {print Total errors:, $1}這些基礎(chǔ)指令就像工具箱里的各種工具用得越多就越熟練。建議新手不要急于學(xué)習(xí)高級內(nèi)容先把這些基礎(chǔ)指令練熟你會發(fā)現(xiàn)后續(xù)的學(xué)習(xí)會事半功倍。