管理一次講透)
很多剛接觸 Linux 的朋友第一反應是這系統(tǒng)怎么這么難用黑乎乎的窗口里連個按鈕都找不到。我在帶新人或者給同事做內訓時被問得最多的就是“我從哪里開始這些命令到底要背哪些裝個系統(tǒng)怎么一堆坑” 這篇《Linux基礎2入門必備》就是回應這些問題的。它是系列文章的第二篇面向已經準備上手、或者剛裝好虛擬機、甚至尚未決定用哪個發(fā)行版的人把 Linux 入門路上最關鍵的心智模型、環(huán)境準備、文件操作、用戶權限、進程網絡排查、軟件安裝和常見坑一次性講透。核心關鍵詞只有一個你的Linux 常用命令和系統(tǒng)基礎認知能支撐你干多少事。這篇內容不求覆蓋所有冷門細節(jié)只求把新手期最容易卡殼的環(huán)節(jié)全部打通讓零基礎的人也能動手讓有基礎但不系統(tǒng)的人補全框架。1. 先把 Linux 的“底層思維”掰正1.1 一切皆文件Linux 最核心的心智模型Linux 之所以和 Windows 給人的感覺完全不同根子在“一切皆文件”這個設計哲學上。磁盤分區(qū)是文件網絡接口是文件鍵盤鼠標輸入是文件甚至進程狀態(tài)也能通過文件來查看和操作。聽起來抽象但你一旦接受這個設定很多命令的設計邏輯就順了。舉個例子你在終端里看到的輸入輸出在 Linux 看來就是一個“標準輸入文件”和“標準輸出文件”。重定向符號把一個命令的輸出寫到文件里管道符|把前一個命令的輸出直接作為后一個命令的輸入本質上都是“文件對文件”的搬運。理解到這一層你就知道為什么 Linux 命令可以用各種方式組合在一起因為大家都在處理文件接口統(tǒng)一了。實操層面不需要想得太深只需要記住目錄是文件的集合設備也是文件配置大多也是文本文件。學習 Linux 優(yōu)先學“如何在文件世界里穿梭”而不是先死磕內核原理。這也是為什么入門階段大量時間都花在cd、ls、cat、vim、find這些命令上它們說白了就是處理文件的工具。1.2 權限不是擺設理解屬主、屬組、其他人Linux 系統(tǒng)里經常遇到 Permission denied也就是權限不足。新手最常見的反應是加sudo這能解決眼前問題但如果不理解權限模型以后再碰同一個錯還是會慌。Linux 的權限模型圍繞“誰”和“能干什么”展開?!罢l”分成三個維度屬主所有者、屬組、其他人?!澳芨墒裁础本褪亲x、寫、執(zhí)行這三件事。你在終端里敲ls -l會看到一串類似-rw-r--r--的輸出第一位表示類型-是普通文件d是目錄剩下九個字符每三個一組分別對應屬主、屬組、其他人的讀、寫、執(zhí)行權限。這份模型看著簡單但坑在目錄權限上。目錄的寫權限決定你能不能在里面新建或刪除文件目錄的執(zhí)行權限決定你能不能“進入”這個目錄。也就是說對一個目錄只有rw-權限而沒有x你照樣進不去。規(guī)則本身邏輯自洽但和 Windows 那種“改一下就行”的習慣完全不同。入門階段做練習建議刻意思考每個文件屬主是誰、為什么給這個權限比單純敲命令進步快得多。1.3 命令行思維拒絕圖形界面依賴很多人問Linux 現在桌面也挺好看為什么非要學命令行我的回答是命令行不是“復古選擇”而是 Linux 最穩(wěn)定、最可控、最可腳本化的交互方式。你在圖形界面里點擊的每一件事背后幾乎都有一個對應命令而命令是可以寫進腳本、定時執(zhí)行、遠程觸發(fā)的。學會命令行你才真正開始“操作”系統(tǒng)而不是“使用”系統(tǒng)。更重要的是服務器環(huán)境、嵌入式設備、容器鏡像絕大多數沒有圖形界面。你遲早要在純命令行環(huán)境里完成一切工作。所以從入門第一天起建議默認使用終端操作用vim或nano改文件用top看負載用systemctl管理服務。這個過程一開始會慢但肌肉記憶一旦建立效率是圖形界面的十倍。而且命令行提示符會告訴你“你是誰、在哪臺機器、在什么目錄”這些信息能讓你在操作服務器時減少誤操作。2. 裝一個能練手的系統(tǒng)環(huán)境準備與常見坑2.1 發(fā)行版選型Ubuntu、CentOS/Rocky 還是 KaliLinux 發(fā)行版多如牛毛新人最糾結的第一道題就是“我裝哪個”。我的建議很直白如果目的是學習通用 Linux 基礎和日常開發(fā)選 Ubuntu 最新 LTS 版本如果跟著運維教程走、以后想做服務器運維可以選Rocky Linux 或 AlmaLinux如果對安全測試感興趣Kali Linux 可以裝來玩但不要把它當日常系統(tǒng)用。Ubuntu 的文檔最全、社區(qū)最大、遇到問題最容易搜到答案這一點對新手極其重要。很多教程推薦 Ubuntu 的理由是“軟件多、依賴好解決”這是真話。apt倉庫里的軟件包數量龐大基本覆蓋常見需求。Rocky Linux 延續(xù)了 CentOS 的生態(tài)在服務器領域非常穩(wěn)但桌面體驗和軟件新鮮度不如 Ubuntu。如果你是拿自己的電腦裝虛擬機練習Ubuntu 桌面版體驗最平滑如果你目標很明確就是運維Rocky 命令行版本也夠用但入門坡度稍陡。注意不要同時裝三個系統(tǒng)然后來回切換新手最怕的就是“環(huán)境不統(tǒng)一導致問題無法復現”。先選定一個遇到問題解決一個等基礎扎實了再玩其他發(fā)行版不遲。2.2 虛擬機安裝與實踐中的“藍屏”問題虛擬機裝 Linux 是最安全的上手方式因為不影響宿主機。選 VMware Workstation 或 VirtualBox 都行VMware 對硬件兼容更好VirtualBox 免費且跨平臺。創(chuàng)建虛擬機時主要注意資源分配內存建議至少 2GB 起步CPU 給 2 核以上硬盤容量建議 40GB 以上。如果只是想練命令硬盤可以小一點但以后裝 Docker、MySQL 等軟件時空間就會很緊張。熱詞里有一條“虛擬機安裝 linux 藍屏”這屬于常見問題。先說明藍屏不是 Linux 系統(tǒng)本身的問題而是虛擬機或宿主機層面的沖突。常見原因有三類其一宿主機開啟了 Hyper-V 或內存完整性功能與 VMware/VirtualBox 沖突其二虛擬機內分配的顯存或內存不足導致圖形環(huán)境崩潰其三下載的鏡像文件損壞或 ISO 格式不完整。針對第一個原因最快的排查辦法是關閉 Hyper-V 相關功能或者換 VirtualBox 試一下。針對第二個原因在安裝系統(tǒng)時選擇不帶圖形界面的 Server 版或者安裝時直接用文本模式能大幅降低藍屏概率。第三個原因最簡單下載鏡像后校驗一下 SHA256 哈希值再安裝。很多時候裝完不藍屏、一分區(qū)就藍屏大概率是鏡像沒校驗或虛擬磁盤分配異常這時候重建虛擬機并重置磁盤類型為 IDE 或 SATA 即可。2.3 WSL 作為輕量替代方案如果不想用虛擬機Windows 上的 WSLWindows Subsystem for Linux是非常順滑的替代品。尤其對只用命令行練習的入門用戶WSL 啟動快、占用資源小、能直接訪問 Windows 文件系統(tǒng)方便程度遠超虛擬機。但要注意熱詞里提到的“WSL needs updatingyour version of Windows Subsystem for Linux (WSL) is too old”這個報錯它意味著當前系統(tǒng)的 WSL 內核版本過舊需要更新。解決辦法很直接在管理員權限的 PowerShell 里執(zhí)行wsl --update把 WSL 內核更新到新版本。如果執(zhí)行更新后仍報同樣錯誤檢查 Windows 系統(tǒng)版本是否過舊部分老版本 Windows 10 需要先開啟“適用于 Linux 的 Windows 子系統(tǒng)”功能再手動安裝 WSL2 內核更新包。WSL 和虛擬機各有優(yōu)勢我的建議是練習基礎命令用 WSL練習完整系統(tǒng)管理操作用虛擬機二者互補。3. 文件、目錄與用戶入門必會的三件套3.1 文件系統(tǒng)目錄規(guī)范知道自己在哪兒Linux 的文件目錄結構一開始看著嚇人其實有規(guī)律。根目錄/下面是各個標準目錄/etc放配置文件、/var放經常變化的數據如日志、/home是普通用戶的家目錄、/tmp是臨時文件、/usr是程序安裝目錄、/opt放第三方軟件。新手不需要全部記住但要知道一個原則配置文件大多在 /etc用戶數據大多在 /home日志大多在 /var/log系統(tǒng)命令大多在 /bin、/usr/bin、/sbin。這個認知的價值在于出了問題你知道去哪找線索。比如 Nginx 故障第一反應是看/var/log/nginx/error.log修改網絡配置先想到/etc/network/或/etc/sysconfig/network-scripts/用戶登錄信息查看/etc/passwd。很多網上查到的排查教程都是基于這個目錄約定在走你心里有地圖就不用每一步都靠搜。實際命令層面pwd查看當前路徑cd切換目錄ls查看目錄內容這是最基礎的三板斧。額外提醒一點ls -a才能看到隱藏文件以.開頭的文件隱藏文件通常藏配置信息比如~/.bashrc就是 Bash 的配置文件改別名、改提示符都在這里。你如果發(fā)現自己設置的別名重啟就失效多半是寫錯了文件或沒有執(zhí)行source ~/.bashrc。3.2 高頻文件操作命令速查文件操作命令是日常使用頻率最高的部分表里列的是我最常用的組合個人認為新手背這一張表就夠了。操作目標關鍵命令說明查看文件內容cat/less/tail -fcat適合小文件less適合大文件分頁tail -f實時跟蹤日志復制、移動、刪除cp/mv/rm注意rm -rf極其危險目錄刪除需謹慎查找文件find /path -name *.conf按名稱查找配合-type f指定類型對比文件異同diff常用于比較配置修改前后差異計算文件校驗值sha256sum下載鏡像后校驗完整性必備歸檔壓縮tar -czvf/tar -xzvf打包并壓縮解壓時注意路徑需要展開說下tar很多人第一次用這里就翻車。tar -czvf xxx.tar.gz /path表示創(chuàng)建、壓縮、顯示過程、指定文件名-x是解壓、-z是 gzip 壓縮、-v是顯示詳細過程、-f必須放在最后指定文件名。我習慣寫全參數避免記混。解壓到指定目錄用-C參數例如tar -xzvf xxx.tar.gz -C /home/user/app。cp和mv也有細節(jié)。mv在同分區(qū)是改個名字瞬間完成跨分區(qū)則是先復制再刪除大文件時你會感覺到明顯的等待。用cp -r復制目錄時必須加-r參數否則會報錯這是非常經典的新手失誤。rm命令刪除的默認不帶回收站目錄也不要有僥幸心理確定刪除前先ls看清楚目標是什么。給所有人的建議盡量使用絕對路徑配合嚴格的通配符不要圖快敲rm -rf /path/*這種命令。3.3 用戶與權限管理實操Linux 基礎入門繞不開用戶管理因為很多新手操作服務器時明明有 root 權限卻排查不出問題問題往往出在用戶和文件權限的匹配上。核心命令是useradd、usermod、passwd、userdel、groupadd這些。創(chuàng)建一個普通用戶并為其設置密碼的操作是# 創(chuàng)建用戶指定家目錄和默認 shell sudo useradd -m -s /bin/bash zhangsan # 設置密碼 sudo passwd zhangsan參數-m表示同時創(chuàng)建家目錄-s指定登錄 Shell。如果你不加-m用戶就沒有家目錄登錄后可能直接進入/目錄并且很多初始化腳本會報錯。這是新手最容易忽略的坑。創(chuàng)建完用戶后想要讓用戶有 sudo 權限用usermod -aG sudo zhangsanUbuntu或usermod -aG wheel zhangsanCentOS/Rocky。注意-aG中的-a必須寫表示追加到組不寫會把用戶從其他組里全部移出。用戶相關文件的檢查也很有用/etc/passwd存儲用戶基本信息/etc/shadow存放密碼哈希/etc/group存放組信息。永遠不要手動編輯 shadow 文件修改密碼一律用passwd命令。用戶組的作用在于權限共享比如一個項目組共用/srv/data目錄把所有成員加入同一個組并將目錄屬組改成該組、開啟組寫權限協作就順暢了。命令參考# 把 data 目錄屬組改為 devops并允許組內寫 sudo chgrp -R devops /srv/data sudo chmod -R grwX /srv/data這里chmod用的是符號模式grwX表示給屬組添加讀、寫權限X大寫表示“如果目標是目錄或已有執(zhí)行權限的文件則添加執(zhí)行權限”這樣不會給普通文件亂加執(zhí)行權限很實用。權限這塊我強烈建議拿一個臨時目錄反復演練直到chmod、chown、chgrp三個命令不看幫助也能正確使用再往前進階。4. 進程、網絡與系統(tǒng)狀態(tài)排查4.1 進程管理從啟動到清理Linux 系統(tǒng)卡了、服務器負載高了、程序起不來了本質都要回到進程管理上。入門階段你要掌握的命令是ps、top、htop、kill、systemctl。先用ps -ef或ps aux查看當前進程列表ps aux輸出的 PID進程號是你后續(xù)管理進程的關鍵。要實時看資源占用輸入top按P按 CPU 排序按M按內存排序按q退出。很多服務器問題都能在top里看出眉目CPU 占比高的進程是誰內存耗盡沒有負載平均值是不是超過 CPU 核數了查到了某個進程想結束它用kill PID結束不了的用kill -9 PID強殺。關于信號普通kill發(fā)的是SIGTERM進程有機會清理殘留優(yōu)雅退出kill -9發(fā)的是SIGKILL強制殺掉不能清理資源可能導致文件鎖殘留。盡量先普通 kill不行再強殺這是一條實戰(zhàn)正確的習慣。服務層面更規(guī)范的對象是systemd單元。啟動服務用systemctl start nginx開機自啟用systemctl enable nginx查看服務狀態(tài)用systemctl status nginx。新手最容易遇到的報錯是服務啟動失敗此時不要光看提示要執(zhí)行journalctl -u nginx查看詳細日志日志里往往直接寫了失敗原因比如端口被占用、配置文件語法錯誤。這一步比盲目重啟一百次都有效。4.2 網絡排查命令不抓瞎的第一步很多入門者覺得網絡排查很難其實 Linux 的排查路徑非常固定。先看地址配置ip addr或更老的ifconfig部分系統(tǒng)需安裝 net-tools。看默認路由用ip route測試連通性用ping檢查域名解析用dig或nslookup。最被我頻繁使用的是ss -tunlp它能展示所有監(jiān)聽中的 TCP/UDP 端口以及對應的進程名和 PID。端口被占用時執(zhí)行這條命令就能定位元兇。排查思路可以套一個固定模板先確認網卡是否有 IP再ping網關看本機到路由器是否通再ping外部地址看出口是否正常最后用dig確認域名解析有沒有問題。按這個順序走80% 的網絡故障能定位到具體環(huán)節(jié)。比如ping不通但網關能通說明本機網絡沒問題問題在外部鏈路或被防火墻攔了。防火墻相關也要會一點。Ubuntu 自帶ufwCentOS/Rocky 用firewalld基礎操作都是“允許/拒絕端口”。如果服務明明啟動了但外部就是訪問不了先看防火墻有沒有放行對應端口再確認服務的監(jiān)聽地址不是127.0.0.1而是0.0.0.0。這里的細節(jié)監(jiān)聽 127.0.0.1 表示只能本機訪問外網訪問需要修改監(jiān)聽地址很多新手在云服務器上部署應用踩的就是這個坑。4.3 系統(tǒng)資源監(jiān)控與日志查詢進程和網絡之外系統(tǒng)資源監(jiān)控和日志查詢是判斷機器健康的眼睛。free -h查看內存使用df -h查看磁盤分區(qū)使用du -sh /path查看某個目錄占用大小。這幾個命令簡單但關鍵時刻能救命。我的經驗是服務器告警時先跑top、free -h、df -h三個命令基本能確定是 CPU、內存還是磁盤爆了。日志查詢是排查問題的金礦。Linux 的系統(tǒng)日志集中在/var/log常見的有syslog、messages、journal由 journald 管理。用journalctl查詢所有日志很方便比如查看最近一次的啟動日志journalctl -b -1查看某個服務的最近日志journalctl -u nginx --since 10 minutes ago。日志文件可能很大查詢時一定要帶時間范圍或關鍵字過濾避免一次性刷屏。提示日志查詢時不要用cat /var/log/syslog直接讀大文件文件可能幾百 MB會把終端卡死。習慣用tail -n 100查看末尾、用grep過濾關鍵字、用less分頁查看效率完全不同。5. 裝軟件與搭開發(fā)環(huán)境最常卡住你的一環(huán)5.1 包管理器apt 與 yum/dnf 的正確用法Linux 裝軟件最怕在依賴關系上繞來繞去包管理器就是為了解決這個問題存在的。Ubuntu 用aptCentOS/Rocky 用dnf老版本是yum。核心操作很相似裝軟件用install刪除用remove搜索用search更新索引用update升級現有軟件用upgrade。一個常見的坑是權限安裝軟件必須用sudo因為寫入的是系統(tǒng)目錄。另一個坑是“裝不上、找不到包”。此時先執(zhí)行sudo apt update更新索引再裝如果還是找不到可能是倉庫里沒有這個軟件需要用第三方源或編譯安裝。比如在 Ubuntu 上裝某個較新的軟件時老版本 LTS 倉庫里版本可能偏舊可以通過添加 PPA 或官方源解決但添加源之后必須再執(zhí)行一次update否則新源不生效。卸載軟件時apt remove只刪軟件本身purge連配置文件一起刪apt autoremove可以清理不再需要的依賴。如果你發(fā)現裝了個軟件把一堆依賴帶進來了卸載時用apt autoremove清理會有驚喜。但注意別在系統(tǒng)剛裝完時亂跑 autoremove否則可能把基礎依賴誤刪這是我實測過的教訓。5.2 源碼編譯與 Python 環(huán)境安裝不是所有軟件都能從倉庫直接裝上有時候你需要從源碼編譯。經典三步./configure、make、make install。配置階段用--prefix路徑指定安裝位置用--with-xxx開關功能等看到“configuration succeeded”再繼續(xù)。make是編譯make install是安裝后者需要 root 權限。如果編譯過程報錯缺頭文件先裝編譯工具鏈Ubuntu 用build-essentialCentOS 用dnf groupinstall Development Tools。熱詞里有“l(fā)inux系統(tǒng)安裝 Python”這個場景非常典型。當你需要在沒有圖形界面的服務器上裝 Python 時優(yōu)先用系統(tǒng)包管理器安裝sudo apt install python3 python3-pip。想要多版本共存推薦使用pyenv或conda。conda的坑是安裝后環(huán)境變量不生效需要把初始化語句寫入~/.bashrc再執(zhí)行source ~/.bashrc。熱詞里提到的“l(fā)inux設置anaconda環(huán)境變量”就是這個過程。編譯安裝 Python 的流程也不難但有幾個參數建議加上./configure --enable-optimizations能啟用性能優(yōu)化缺點是安裝時間會變長。裝完記得把/usr/local/bin/python3加入 PATH或者直接用update-alternatives管理版本。不建議直接覆蓋系統(tǒng)自帶的系統(tǒng) Python后期依賴會亂成一團你會在幾個月后踩大坑。5.3 Docker 與 MySQL 等服務類軟件安裝服務類軟件安裝我單獨拿出來說是因為它代表了一類需求以后裝 Redis、Nginx、MySQL 都會用到相似的思路。以 Docker 為例官方推薦方式是通過官方倉庫安裝不要直接apt install docker.io然后完事。正確流程是先安裝依賴、添加 Docker 官方 GPG 密鑰、添加源再安裝 docker-ce。安裝完成后新手第一件事是把自己加入 Docker 用戶組否則每次執(zhí)行docker命令都要加sudo非常難受sudo usermod -aG docker $USER newgrp docker # 或者重新登錄Docker 跑起來測試docker run hello-world看到“Hello from Docker”就成功了。過程中如果遇到權限問題大概率是用戶組沒生效需要重新登錄或執(zhí)行newgrp。MySQL 的安裝有點特殊。Ubuntu 上執(zhí)行sudo apt install mysql-server后默認 root 賬號經常需要通過sudo mysql進入然后手動修改認證方式。初始化時執(zhí)行sudo mysql_secure_installation可以設置安全選項比如移除匿名用戶、禁止遠程 root 登錄。裝完 MySQL 后服務默認監(jiān)聽 127.0.0.1:3306不允許外部連接要允許遠程訪問需要修改監(jiān)聽地址和用戶權限。這個操作涉及安全配置不建議在公網環(huán)境開啟練手時只在虛擬機內部測試即可。6. 常見問題與排查技巧實錄6.1 權限拒絕、依賴沖突等經典報錯入門階段你會反復遇到三類報錯權限拒絕、命令找不到、軟件包依賴沖突。第一類Permission denied先確認當前用戶是誰再看文件屬主和權限。想執(zhí)行某個文件卻被拒絕可能是文件沒有執(zhí)行權限用chmod x修復可能文件系統(tǒng)掛了 noexec 選項檢查掛載參數也有可能是磁盤滿了寫不進去用df -h查看。第二類command not found不一定是你命令敲錯也可能是軟件裝到了/usr/local/bin但 PATH 沒包含這個目錄。解決方案是修改~/.bashrc添加export PATH/usr/local/bin:$PATH然后source一下。我見過太多人在這一步放棄其實只是沒把路徑加進環(huán)境變量而已。第三類依賴沖突比如apt install提示依賴版本不對或者卸載軟件時把公共庫刪了導致其他軟件不可用。思路很簡單先apt update更新依賴信息再嘗試apt --fix-broken install修復破損依賴實在不行檢查是否安裝了錯誤的軟件源。不要隨意混用不同來源的安裝包尤其不要持一個 deb/rpm 包到處裝跳過的依賴會在輕輕松松的時間點反噬你。6.2 虛擬機安裝 Linux 藍屏的解決思路前面提到“虛擬機安裝 linux 藍屏”這里給出更系統(tǒng)的排查思路。藍屏出現的位置很關鍵如果發(fā)生在啟動 ISO 之前說明虛擬化環(huán)境有問題如果發(fā)生在分區(qū)階段或安裝進行中多半是鏡像或磁盤配置問題。第一步檢查宿主機是否開啟 Hyper-V、Memory Integrity內存完整性、VBS基于虛擬化的安全性。Windows 安全中心的“內核隔離”功能會與第三方虛擬機軟件沖突關閉后再試。第二步更換虛擬機軟件類型VMware 與 VirtualBox 的虛擬化實現不同有時候 VMware 不行換 VirtualBox 就正常反之亦然。第三步將虛擬機設置的“系統(tǒng)→固件類型”從 UEFI 改成 BIOS部分 Linux 發(fā)行版在 UEFI 環(huán)境下的兼容性不如 BIOS切換后重啟即可。如果以上都不行下載一個輕量發(fā)行版做測試比如 Linux Mint、Xubuntu體積小、對硬件要求低先確認是系統(tǒng)的問題還是硬件的問題。另外安裝時盡量選擇“Server”或“Minimal”模式避開圖形界面初始化階段的顯卡兼容問題。這個模式下藍屏概率會大幅下降安裝完成后手動安裝圖形環(huán)境也是可行路徑。6.3 新手求助前必做的三件事遇到問題新手第一反應就是發(fā)帖求助。但很多求助貼回答率低不是因為問題太難而是提問者沒有提供足夠信息。我在經驗分享中最想強調的是提問之前先自己收集這三樣東西。第一報錯原文。不要只寫“我裝軟件失敗了”把終端里的完整錯誤信息復制出來。第二環(huán)境和操作步驟。你要說明“Ubuntu 22.04、新裝的虛擬機、執(zhí)行 sudo apt install xxx 后報以下錯誤”這些背景信息能幫別人快速定位。第三已嘗試的方法。哪怕只是試過apt update也要寫出來別人就不用重復建議。收集方式很簡單執(zhí)行命令時用sudo apt install xxx 21 | tee /tmp/install.log把回顯保存下來然后將日志關鍵行連同背景發(fā)出來。如果你連解決什么問題都描述不清可以先把uname -a、cat /etc/os-release、df -h這些基礎信息貼出來。這不算麻煩而是對幫你的人負責也是自己排查能力成長最快的路徑。7. 從入門到能干活還需要補充什么7.1 腳本編程與自動化當你發(fā)現同一串命令反復敲、每個都要看一遍確認時就該寫腳本了。Linux 的 Shell 腳本是邁入自動化的第一步本質是把命令編排成文件批量執(zhí)行。入門腳本只需要掌握變量、條件判斷、for 循環(huán)、函數四個概念。比如備份目錄的腳本核心邏輯就是“定義源目錄和目標目錄創(chuàng)建帶日期后綴的備份目錄用 tar 打包解壓”。腳本寫好后用chmod x backup.sh賦予執(zhí)行權限再放到 cron 定時任務里就實現了無人值守備份。學習腳本最早期的收益立竿見影批量ping一堆 IP、批量改文件名、批量安裝軟件包全部幾行搞定。有了腳本基礎再去看 Ansible、Shell 查詢、監(jiān)控告警等運維工具你會發(fā)現思路都是相通的。7.2 進程間通信與嵌入式方向如果你走開發(fā)或嵌入式路線Linux 的“進程間通信”是繞不開的知識點。簡單說就是兩個進程怎么交換數據管道、消息隊列、共享內存、信號、套接字。表面上看這是系統(tǒng)編程書里的內容但理解它對你排查“程序為什么并發(fā)有問題”或者看ss輸出時都有幫助。嵌入式 Linux 方向尤其重視這些因為設備上的進程處理能力有限通信效率直接決定穩(wěn)定性。熱詞里的“嵌入式linux項目”指向的就是這類應用場景。入門階段不需要深入每個 IPC 機制的原理做個了解即可。真正需要花時間的是 C 語言和文件 I/O 基礎因為嵌入式 Linux 編程本質還是在寫文件操作。先用普通文件讀寫練手再理解管道和共享內存臺階會平緩很多。7.3 面試與認證的準備方向很多人的 Linux 學習目標是找運維、開發(fā)或測試崗位。熱詞里有“l(fā)inux面試題”和“l(fā)inux面試題測試”這提示了一個現實面試環(huán)節(jié)對 Linux 的考察偏重實操和概念清晰度。常見的題目包括軟鏈接和硬鏈接的區(qū)別、絕對路徑與相對路徑、常見端口號、如何查看系統(tǒng)負載、磁盤滿了怎么排查、讓你簡述一次完整服務部署流程。我的備考建議很樸素把基礎命令背到滾瓜爛熟能把常用服務裝一遍能獨立完成按日志排查問題的演練就足以應對大量初級崗位的 Linux 環(huán)節(jié)。不要背一堆冷門命令答案面試官更在意你的“排查思路”和“動手能力”。簡歷上寫“熟悉 Linux”最好能拿出你實際部署過的項目、踩過坑的記錄這比什么都硬。另外如果想系統(tǒng)獲得認可可以考一些認證。雖然認證的重要性因崗位而異但對零基礎轉行的人來說準備過程本身就是特別好的知識梳理比較常見的是紅帽的 RHCSA 方向內容涵蓋用戶、權限、存儲、網絡、服務管理等正好覆蓋這篇博文講到的大部分內容。認證不是終點但它能逼著你把基礎打扎實對后續(xù)發(fā)展很有幫助。我個人在教學 Linux 時最大的體會是它不是一門“看會的學問”而是“練會的技能”。你可以讀完所有教程但只要不打開終端實際操作三周以后基本全忘。所以這篇入門必備最想傳達的不是哪幾條命令而是建議你從現在開始每天至少打開終端敲上二十分鐘把虛擬機當玩具隨便折騰。裝壞了就重裝權限出錯了就排查軟件沖突了就嘗試修復在這個過程里攢下來的經驗和手感比任何文章都珍貴。當你有一天發(fā)現自己不再依賴搜索引擎也能用命令解決常見問題時Linux 基礎的大門就算真正踏進去了。