怒肝 Linux 學(xué)習(xí)路線,這回不難
Linux 學(xué)習(xí)路線 by 魚(yú)皮。
原創(chuàng)不易,請(qǐng)勿抄襲,違者必究!
大家好,我是魚(yú)皮,又花 1 周肝出了 Linux 學(xué)習(xí)資料全家桶,包括學(xué)習(xí)路線、命令手冊(cè)、視頻、書(shū)籍、文檔、實(shí)戰(zhàn)教程、社區(qū)、工具、大廠面試題等,完整分享給大家!
在閱讀本文章之前,建議先觀看視頻,是一個(gè)比較特殊的入門(mén)教程。我通過(guò)實(shí)際上線一個(gè)項(xiàng)目的方式,帶大家快速學(xué)習(xí)企業(yè)中常用的 Linux 命令,幾分鐘應(yīng)該就對(duì) Linux 有個(gè)不錯(cuò)的了解啦~
視頻地址:

為什么學(xué) Linux?
相比于 Windows,Linux 免費(fèi)、開(kāi)源、安全、靈活、穩(wěn)定、便于開(kāi)發(fā),所以更受企業(yè)青睞,甚至 90% 以上 的企業(yè)應(yīng)用都是用 Linux 服務(wù)器部署的。
無(wú)論是前端、后端、算法、測(cè)試、運(yùn)維等計(jì)算機(jī)相關(guān)崗位的同學(xué),都建議學(xué)習(xí)下 Linux,大有裨益。
學(xué)習(xí)境界
首先,Linux 入門(mén)很簡(jiǎn)單,但想學(xué)的透徹難上加難!
因此,在學(xué)習(xí)之前要明確目標(biāo)。
可以 Linux 的學(xué)習(xí)分為幾種境界:
明勁,就是了解 Linux 的基本概念,會(huì)敲常用命令來(lái)應(yīng)對(duì)工作。對(duì)于大多數(shù)想從事開(kāi)發(fā)和運(yùn)維崗位的同學(xué),學(xué)到這就足夠找到工作了。
暗勁,又分為兩種境界,能理解 Linux 尤其是其內(nèi)核的設(shè)計(jì)思想,為小圓滿;能將其思想應(yīng)用到系統(tǒng)的架構(gòu)設(shè)計(jì)中,為大圓滿。暗勁境界的高手,沖擊大廠、做架構(gòu)師、從事底層開(kāi)發(fā),都不成問(wèn)題。
化勁,可謂出神入化,不僅熟知 Linux 的使用、思想和細(xì)節(jié),更能推陳出新,自主創(chuàng)造新的系統(tǒng)。
當(dāng)然,一般情況下,會(huì)用就夠了,想進(jìn)大廠最好也學(xué)習(xí)一些內(nèi)核的設(shè)計(jì)思想。找到工作后,是否要深入學(xué)習(xí)完全取決于你自己。
大綱

路線
Linux 基礎(chǔ)知識(shí)
發(fā)展歷史
? 特點(diǎn)和優(yōu)勢(shì)
應(yīng)用場(chǎng)景
? 常見(jiàn) Linux 系統(tǒng)版本(推薦 CentOS 7+)
? CentOS
? Ubuntu
Debian
Fedora
何為開(kāi)源?
Linux 環(huán)境
搭建方式
? 虛擬機(jī)
? 云服務(wù)器
在線工具
WSL
Docker 容器
遠(yuǎn)程連接
? XShell
? MobaXterm
SecureCRT
Putty
? SSH
連接工具
Linux 常用命令
此處只列舉命令名稱(chēng),命令的具體用法可直接在手冊(cè)中(https://www.linuxcool.com/)查詢(xún)
系統(tǒng)信息
uname 查看系統(tǒng)信息
hostname 查看主機(jī)名
cat /proc/cpuinfo 查看 CPU 信息
lsmod 查看已加載的系統(tǒng)模塊
top 查看系統(tǒng)使用情況
df 查看磁盤(pán)使用情況
fdisk 查看磁盤(pán)分區(qū)
du 查看目錄使用情況
iostat 查看 I / O 使用情況
free 顯示系統(tǒng)內(nèi)存情況
env 查看環(huán)境變量
uptime 查看系統(tǒng)運(yùn)行時(shí)間、用戶(hù)數(shù)、負(fù)載
系統(tǒng)操作
shutdown 關(guān)機(jī)
reboot 重啟
mount 掛載設(shè)備
umount 卸載設(shè)備
用戶(hù)相關(guān)
su 切換用戶(hù)
sudo 以管理員身份執(zhí)行
who 查看當(dāng)前用戶(hù)名
ssh 遠(yuǎn)程連接
logout 注銷(xiāo)
useradd 創(chuàng)建用戶(hù)
userdel 刪除用戶(hù)
usermod 修改用戶(hù)
groupadd 創(chuàng)建用戶(hù)組
groupdel 刪除用戶(hù)組
groupmod 修改用戶(hù)組
passwd 修改密碼
last 顯示用戶(hù)或終端的登錄情況
文件相關(guān)
cd 切換目錄
ls 查看目錄列表
tree 打印目錄樹(shù)
mkdir 創(chuàng)建目錄
rm 刪除目錄
touch 新建文件
cp 復(fù)制文件
mv 移動(dòng)文件
ln 創(chuàng)建文件鏈接
find 搜索文件
locate 定位文件
whereis 查看可執(zhí)行文件路徑
which 在 PATH 指定的路徑中,搜索某系統(tǒng)命令的位置
chmod 設(shè)置目錄權(quán)限
cat / more / less 查看文件
tac 倒序查看文件
head / tail 查看文件開(kāi)頭 / 結(jié)尾
paste 合并文件
zip / tar / gzip 壓縮文件
unzip / tar / gunzip 解壓文件
grep / sed / awk 文本處理
vim 文本編輯
程序相關(guān)
crontab 計(jì)劃任務(wù)
nohup 后臺(tái)運(yùn)行程序
jobs 查看系統(tǒng)任務(wù)
ps 查看進(jìn)程
kill 殺死進(jìn)程
rpm / yum / apt / apt-get / dpkg 軟件包管理
service / systemctl 服務(wù)管理
網(wǎng)絡(luò)相關(guān)
ifconfig 查看網(wǎng)絡(luò)屬性
netstat 查看網(wǎng)絡(luò)狀態(tài)
iptables 查看 iptables 規(guī)則
其他
date 顯示系統(tǒng)時(shí)間
cal 顯示日歷
history 顯示與操作歷史
help 幫助
alias 別名
用戶(hù)管理
用戶(hù)
用戶(hù)組
ACL 權(quán)限管理
用戶(hù)切換
管理員
文件管理
文件操作
創(chuàng)建
修改
復(fù)制
移動(dòng)
刪除
文件瀏覽
文件搜索
文件權(quán)限
軟硬鏈接
壓縮 / 解壓
文本操作
正則表達(dá)式
grep
sed
awk
VIM 編輯器
基本操作
模式
快捷鍵
VIM 定制
插件增強(qiáng)
送張 VIM 鍵盤(pán)圖:

磁盤(pán)管理
使用情況查詢(xún)
磁盤(pán)分區(qū)
掛載
驅(qū)動(dòng)管理
驅(qū)動(dòng)加載
驅(qū)動(dòng)更新
網(wǎng)卡
顯卡
進(jìn)程管理
啟動(dòng)進(jìn)程
殺死進(jìn)程
查看進(jìn)程
前臺(tái) / 后臺(tái)任務(wù)
進(jìn)程監(jiān)控
計(jì)劃任務(wù)
crond 服務(wù)
crontab 命令
網(wǎng)絡(luò)管理
IP
端口
主機(jī)名
hosts
網(wǎng)絡(luò)配置
網(wǎng)絡(luò)狀態(tài)
網(wǎng)絡(luò)監(jiān)控
系統(tǒng)管理
系統(tǒng)設(shè)置
日期時(shí)間
語(yǔ)言
字符集
系統(tǒng)服務(wù)
環(huán)境變量
日志
系統(tǒng)關(guān)機(jī) / 重啟
數(shù)據(jù)備份與恢復(fù)
服務(wù)管理
服務(wù)查看
啟動(dòng)服務(wù)
禁用服務(wù)
刪除服務(wù)
開(kāi)機(jī)自啟
軟件管理
軟件包管理器
? rpm
? yum
apt
apt-get
dpkg
軟件安裝
軟件更新
軟件卸載
源碼安裝
常用軟件 / 服務(wù)搭建
HTTP
Mail
NFS
DNS
FTP
mysql
LVS + Keepalived
Apache
Nginx
Redis
日志服務(wù)
Shell 腳本編程
默認(rèn)變量
運(yùn)算符
條件
循環(huán)
執(zhí)行
函數(shù)
系統(tǒng)函數(shù)
自定義函數(shù)
規(guī)范
調(diào)試方法
管道
I/O 重定向
Linux 啟動(dòng)過(guò)程
BIOS 啟動(dòng)引導(dǎo)
引導(dǎo)加載程序
內(nèi)核加載
系統(tǒng)初始化(init)
運(yùn)行級(jí)別
啟動(dòng)內(nèi)核
執(zhí)行初始化腳本
用戶(hù)登錄
Linux 內(nèi)核
內(nèi)核的組成
目錄結(jié)構(gòu)
版本
模塊
編譯
裁剪
具體路線圖參考:

第三方工具
Ansible
Webmin
寶塔 Linux
崗位
后端開(kāi)發(fā)(Java / Go / C++)
底層開(kāi)發(fā)(C / C++)
運(yùn)維開(kāi)發(fā)
大數(shù)據(jù)
云計(jì)算
自動(dòng)化運(yùn)維
嵌入式開(kāi)發(fā)
網(wǎng)絡(luò)工程師
學(xué)習(xí)建議
多動(dòng)手實(shí)踐,建議自己購(gòu)買(mǎi)一臺(tái)云服務(wù)器,并且在本地搭建 Linux 虛擬機(jī)環(huán)境。
一定要自己從 0 開(kāi)始手敲命令安裝軟件、部署服務(wù),熟悉整個(gè)項(xiàng)目的上線流程。
每個(gè)命令至少要跟著敲一遍,了解它們的作用,并通過(guò)自然地練習(xí),熟悉常用的 Linux 命令。
記不住沒(méi)關(guān)系,用文檔查就行了。
先會(huì)用,再理解。
時(shí)間不多的話,可以通過(guò)面試題來(lái)了解一些 Linux 設(shè)計(jì)思想,而不是直接去深入學(xué)習(xí)內(nèi)核,雖說(shuō)學(xué)會(huì)了的確大有裨益,但性?xún)r(jià)比不高。
資源
視頻
? 2021 韓順平 一周學(xué)會(huì)Linux:https://www.bilibili.com/video/BV1Sv411r7vd(基于 CentOS 7.6 版本較新,視頻長(zhǎng)度剛剛好,也比較完整)
【千鋒】Linux 云計(jì)算基礎(chǔ)視頻教程 650 集入門(mén):https://www.bilibili.com/video/BV1pz4y1D73n(很全面,適合時(shí)間足夠、想認(rèn)真學(xué)的同學(xué))
【狂神說(shuō)Java】Linux 教程 - 阿里云真實(shí)環(huán)境學(xué)習(xí):https://www.bilibili.com/video/BV187411y7hF(算是個(gè)小的入門(mén)教程吧,時(shí)間足夠的話還是推薦看更完整的)
細(xì)說(shuō)Linux - 從入門(mén)到精通:https://study.163.com/course/courseMain.htm?courseId=983014(感覺(jué)有點(diǎn)啰嗦,作為備用吧)
玩轉(zhuǎn)Vim 從放棄到愛(ài)不釋手:https://www.imooc.com/learn/1129(好評(píng)很多)
阿里云 Linux 運(yùn)維學(xué)習(xí)路線:https://edu.aliyun.com/roadmap/linux
書(shū)籍
《鳥(niǎo)哥的 Linux 私房菜 —— 基礎(chǔ)篇》:http://cn.linux.vbird.org/linux_basic/linux_basic.php(經(jīng)典)
《深入理解 LINUX 內(nèi)核》:https://book.douban.com/subject/1767120/
《深入Linux內(nèi)核架構(gòu)》:https://book.douban.com/subject/4843567/
《Linux內(nèi)核完全剖析》:https://book.douban.com/subject/3229243/
《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)(原書(shū)第3版)》:https://book.douban.com/subject/6097773/
文檔
Linux ?教程(菜鳥(niǎo)教程):https://www.runoob.com/linux/linux-tutorial.html
Linux 教程(W3CSchool):https://www.w3cschool.cn/linux/
Linux 工具快速教程:https://linuxtools-rst.readthedocs.io(基礎(chǔ)、工具進(jìn)階、工具參考)
合集
Linux內(nèi)核學(xué)習(xí)資料:https://github.com/0voice/linux_kernel_wiki
GitHub Linux 專(zhuān)區(qū):https://github.com/topics/linux(很多好項(xiàng)目)
GitHub Linux 合集:https://github.com/inputsh/awesome-linux(Linux 系列技術(shù))
StackOverflow:https://stackoverflow.com/questions/tagged/linux(解決問(wèn)題必備)
掘金 Linux 專(zhuān)區(qū):https://juejin.cn/tag/Linux(技術(shù)文章)
實(shí)戰(zhàn)
? 藍(lán)橋云課 Linux 基礎(chǔ)入門(mén):https://www.lanqiao.cn/courses/1(強(qiáng)烈推薦)
騰訊云動(dòng)手實(shí)驗(yàn)室:https://cloud.tencent.com/developer/labs
阿里云體驗(yàn)實(shí)驗(yàn)室:https://developer.aliyun.com/adc/labs/
阿里云知行實(shí)驗(yàn)室:https://start.aliyun.com/
華為云沙箱實(shí)驗(yàn)室:https://lab.huaweicloud.com/
社區(qū)(國(guó)內(nèi)倒的差不多了)
Linux 中國(guó):https://linux.cn/
開(kāi)源中國(guó):https://www.oschina.net/(綜合的開(kāi)源社區(qū))
紅帽官網(wǎng):https://www.redhat.com/zh
工具
DistroTest 在線操作系統(tǒng)測(cè)試:https://distrotest.net
? Linux 命令搜索:https://wangchujiang.com/linux-command
Linux 命令大全手冊(cè):https://man.linuxde.net/
Linux 命令大全手冊(cè):https://www.linuxcool.com/
Linux 命令示例:http://linux-commands-examples.com/
寶塔 Linux 面板:https://www.bt.cn/
在線 Shell 腳本檢查:https://www.shellcheck.net
面試題
牛客網(wǎng) Linux 專(zhuān)項(xiàng)練習(xí):https://www.nowcoder.com/intelligentTest
??途W(wǎng) Linux 面試題:https://www.nowcoder.com/search?query=linux%E9%9D%A2%E8%AF%95%E9%A2%98&type=question
Linux 常見(jiàn)面試題整理:https://zhuanlan.zhihu.com/p/376749877
Linux 常見(jiàn)面試題整理:https://github.com/0voice/linux_kernel_wiki#-%E9%9D%A2%E8%AF%95%E9%A2%98
尾聲
以上就是魚(yú)皮熬了幾天大夜、結(jié)合個(gè)人經(jīng)驗(yàn)、并且參考了大量網(wǎng)上的視頻、文章和評(píng)論總結(jié)而成的學(xué)習(xí)路線(在公眾號(hào)【程序員魚(yú)皮】后臺(tái)回復(fù)【Linux】可以獲取原圖)。 真的是非常不容易,如果大家覺(jué)得滿意請(qǐng)務(wù)必點(diǎn)個(gè) 贊 支持下。