零基礎怎麼自學入門linux系統?
有沒有比《鳥哥的Linux私房菜》更好的書? - 知乎使用者的回答
給親推薦一套阿里雲大學的免費學習課程,希望對您有幫助!!!
課程介紹
Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多使用者、多工、支援多執行緒和多CPU的作業系統。它能執行主要的UNIX工具軟體、應用程式和網路協議。
課時列表
第一章 :計算機基礎
課時1:計算機基礎1
課時2:計算機基礎2
課時3:計算機基礎3
第二章 :Linux系統安裝與基本操作
課時4:系統安裝前準備
課時5:centOS系統安裝方法詳解
課時6:Linux基本操作
課時7:Linux命令執行過程
課程免費學習地址
更多技術乾貨敬請關注雲棲社群知乎機構號:阿里云云棲社群 - 知乎
作為一名新手,到底該如何進入linux伺服器程式設計的世界?
Linux入門其實是很簡單的,問題是你是否能有足夠的耐心,花相應的時間和精力來折騰,是否不排斥重灌系統這種枯燥且萬能的學習手段。如果不願意折騰可以說是學不好Linux的,要真正瞭解Linux的分割槽機制,對LVM使用相當熟練,沒有個20次以上的Linux裝機經驗是積累不起來的,所以一定不要怕折騰。
學習大多類似庖丁解牛,對事物的認識一般都是由淺入深、由表及裡的過程,循序才能漸進。學習 Linux 同樣要有一定的順序和方法。如果你是初學者,那麼建議按照本教程的順序閱讀,不要跳躍,欲速則不達,揠苗也不見得能助長。
linux入門其實並不是很難,我之前學習的時候大概整理了幾類的資源,正好分享給大家:
第一:業內公認的Linux優質教程
Linux 教程 | 菜鳥教程
菜鳥教程提供了大量的線上例項,透過例項可以更好的入門以及學習Linux,所有的資源是安全免費的;
Linux教程_w3cschool
在這個教程站上你可以找到你所需要的所有的網站建設教程。從基礎的 HTML 到 CSS,乃至進階的XML、SQL、JS、PHP 和
http://
ASP。NET
;
Linux命令大全(手冊) - 真正好用的Linux命令線上查詢網站
準確,豐富,穩定;
Linux命令大全(手冊)_Linux常用命令列例項詳解_Linux命令學習手冊
第二:專業的linux技術書籍
鳥哥的Linux私房菜 : 基礎學習篇
Linux多執行緒服務端程式設計 : 使用muduo C++網路庫
深入Linux核心架構 : 全球開源社群集體智慧結晶,領略Linux核心的絕美風光
Linux核心設計與實現(原書第3版)
鳥哥的Linux私房菜
第四:Linux技術工具
Docker
Docker在一定程度上是LXC的增強版,早期的Docker使用LXC作為容器引擎,目前docker使用的容器引擎為runC,其是容器執行時標準的實現之一;
Kubernetes
Kubernetes(k8s)是自動化容器操作的開源平臺,這些操作包括部署,排程和節點叢集間擴充套件。如果你曾經用過Docker容器技術部署容器,那麼可以將Docker看成Kubernetes內部使用的低級別元件。Kubernetes不僅僅支援Docker,還支援Rocket,這是另一種容器技術;
Zabbix
監控一切需要監控的東西,只要能夠想到,能夠用命令實現的都能用來監控;
Nginx
Nginx 是一個高效能的HTTP和反向代理web伺服器,同時也提供了IMAP/POP3/SMTP服務;
istio
”連線、安全加固、控制和觀察服務的開放平臺“。開放平臺就是指它本身是開源的,服務對應的是微服務,也可以粗略地理解為單個應用;
Jenkins
Jenkins是開源CI&CD軟體領導者, 提供超過1000個外掛來支援構建、部署、自動化, 滿足任何專案的需要;
apche
Apache源於NCSAhttpd伺服器,經過多次修改,成為世界上最流行的web伺服器軟體之一。Apache的特點是簡單、速度快、效能穩定,並可做代理伺服器來使用;
第五:成為一名合格的Linux運維工程師必備的技術點
掌握 Iptables 防火牆體系,實現防火牆實現資料包過濾和轉發;
掌握使用者許可權安全控制 Sudo 體系與配置;
掌握 DNS 服務的原理、部署、安裝和企業級應用;
實現檔案共享服務 NFS、Vsftpd、Samba 配置和應用;
實現 Jumpserver 堡壘機 安裝、配置、使用和運維體系融合;
brctl 命令建立管理虛擬網橋;Ip Netns 建立管理虛擬路由;
常見的網路客戶端工具 Ping/Lftp/Ftp/Lftpget/Wget;
利用 Rsync 和 Inotify 實現多臺機器資料分發和配置同步;
Jumpserver 跳板機基本功能應用,認證、授權、審計;
https 概念及對應的模組 mod_ssl 應用配置;
運維必備 Web 服務開源解決⽅案 Nginx,全面講解 Nginx 程式架構;
Nginx 內部框架、模組功能、事務處理機制、安裝⽅法、CPU 親緣最佳化、配置⽂件;
SQL 語句增刪改查、常⽤命令使⽤、⽤戶授權、字符集修改、表、索引、庫管理等;
對⽐介紹圖形化管理軟體,如 PhpMyAdmin、SQLyog、Navicat 等
Keepalived 工作方式,Keepalived 核心元件、報警機制、切換機制、心跳資訊傳輸等;
Centos7 上實現 LVS 叢集配置、服務管理、排程演算法修改;
全面熟悉 Ansible 用法、以及安裝方法、配置檔案詳解、模組說明、基於私鑰認證、批次操 作等;
Redis 擴充套件方式對比介紹,Redis Cluster 的基礎應用;
Vmware Esxi 建立 Linux 及 Windows 虛擬機器,並實現虛擬機器跨宿主機遷移;
Docker 映象、倉庫管理、啟動⽅法、資料卷使⽤、備份恢復,網路模型、容器間依賴關係、容器資源限制、Docker 的監控;
這題我會!
我就是零基礎自學Linux系統,並且成功進入廣州某世界500強任職。
零基礎我不推薦學鳥哥的書,真的,太厚了,會讓人摸不著頭腦。最重要的是要在短時間裡迅速對Linux系統有個全面的認識,讓你能快速上手,搭建起知識框架,然後再慢慢填補知識盲點。
等你規劃好了學習路線,你再看鳥哥的書。否則一上來就看磚頭一樣的書,正反饋太慢,很容易就會放棄的。
很多人想學習Linux,卻不知道怎麼著手,甚至不知道Linux有哪些方向,跟題主一樣迷茫。基於此,我特地寫了篇文章介紹Linux方向性問題,沒想到一不小心成了爆款:
到什麼程度才叫精通 Linux?2835 贊同 · 208 評論回答
看完這個回答,相信很多人至少知道了目前 Linux 從業者所從事的幾個方向,對於方向選擇有個大概的認知。
自我介紹一下。
我是良許,本科及碩士所學專業卻是機械,畢業後從零開始自學轉行 IT,1 年後被世界 500 強外企所錄用,目前是 Linux 工程師
。
本文將根據我的從業經驗及與同行大佬的交流,介紹一些Linux學習方法,
並且在文末贈送一些Linux書籍的電子版及及影片教程等資源
,希望對大家有幫助!
書籍篇
對於Linux書籍的推薦,我特地寫了幾個回答來介紹,這裡就不重複貼回答了:
有沒有學習Linux比較好的入門書籍?
求推薦學習linux命令的書籍?
有沒有比《鳥哥的Linux私房菜》更好的書?
嵌入式Linux有哪些好書推薦?
學習Linux,千萬不要急於求成,一定要多讀一些經典書籍,多看原始碼,多下苦功夫去死磕程式碼,這樣技術才能長進。給大家分享一些程式設計師必讀經典書籍,一定要多讀幾遍:
對應書單:
程式設計師必讀經典書單(高畫質PDF版)mp。weixin。qq。com/s?__biz=MzU3NTgyODQ1Nw==&mid=100029202&idx=1&sn=5321030e3f2eb45c8bf80deab0a91958&chksm=7d1fcb944a684282668e923770514ac790148c267cde798bc41eab0ba439990e8411903908c2#rdmp。weixin。qq。com/s?__biz=MzU3NTgyOD
資源篇
不管學習什麼技術,資源都是必不可少的。想當年,我自學轉行,靠的就是大量的優質資源。優質資源會助你一臂之力,讓你快速入門。
當然,我也整理了另外一些不錯的資源,寫在這個回答裡了,大家可以看看:
有哪些好的Linux學習資源?51 贊同 · 0 評論回答
如何入門並深入學習Linux
1. Linux學習路徑
Linux應用開發自學之路
這篇文章介紹了我
從零開始自學轉行Linux
的完整過程,被很多大號轉載,並且影響了很多人,大家可以參考。
自學簡單程式設計可行嗎?
這篇文章更詳細介紹了我是如何自學轉行的,包括心路歷程,轉行過程,轉行中需要注意的地方,以及更高效轉行成功的方法。
Linux 思維導圖整理(建議收藏)
這是一個技術大佬整理的Linux思維導圖,包括:
Linux學習路徑,Linux基礎入門,Linux核心學習路線,Linux命令參考,Linux命令速查
等等。這份導圖雖然不是100%全面,但如果能夠將裡面全部內容掌握下來,你也是個高手了。
2. Linux環境搭建
2.1 虛擬機器安裝與配置
既然要學習Linux那肯定需要一個Linux環境。那麼環境搭建有兩個選擇:
1. 安裝虛擬機器;2. 直接在實體機上安裝
。對於這兩個選擇,我更傾向於第1個,因為前期學習一些命令及基礎知識,直接在虛擬機器上進行就可以了。
手把手教你安裝Linux虛擬機器
手把手教你配置Linux虛擬機器
虛擬機器常用的有兩種:Vmware,VirtualBox。Vmware功能更強大,但是是收費的。而VirtualBox雖然功能不及Vmware,但對於新手完全夠用了。這兩篇文章所使用的是
Wmare
,手把手教你安裝並配置虛擬機器,圖文並茂,一路跟下來就可以安裝並配置好虛擬機器,完成最基本的搭建。
2.2 主機與虛擬機器檔案共享
虛擬機器安裝好之後,還有一項很重要的工作要做,那就是實現虛擬機器與主機的互通,也就是互相共享檔案。實現檔案共享有很多方式,一般而言有以下幾種:
使用 FTP 協議實現檔案共享
使用 samba 協議實現檔案共享
特別地,對於
Vmware有一套自己的專屬檔案共享方式
,VirtualBox應該也有,但我沒去研究過。對於Windows與Linux之間的檔案共享,我們一般會用到
一款很強大的共享工具——WinSCP
,當然還有很多類似工具,比如
Xftp,FileZilla
。這些工具其實都是基於FTP協議,使用起來也大同小異,都非常方便。
2.3 終端工具
作為一名Linux工程師,不管是運維還是開發,我們很多時間會是在命令列下工作。我一般是把虛擬機器開啟著,然後使用終端工具遠端到虛擬機器進行操作。這裡推薦
一款很強大的終端工具——MobaXterm
,它的功能十分強大,介面也非常友好,我用上一次就愛不釋手。
當然還有很多好用的終端工具,比如
XShell、secureCRT、Putty、telnet
等,選擇一個自己最喜歡的工具即可。
2.4 程式設計工具
如果你是一名Linux開發人員,那你的工作肯定少不了程式設計。我一般的作法是,在Window上使用程式碼編輯工具編好程式碼,然後在Linux下編譯。我經常使用兩個工具:
Notepad++
和
Sourceinsight
。
使用notepad++遠端編輯虛擬機器文件
程式碼閱讀神器——Sourceinsight
當然我們也可以直接在Linux下寫程式碼,在Linux下編譯。Linux下寫程式碼也有很多軟體,常用的比如最性感的編輯器——Sublime Text。
3. Linux基礎知識
Linux環境搭建完畢之後,我們就可以正式進入到Linux的學習中來。
3.1 Linux系統架構
學習Linux,我們肯定要知道Linux的系統架構是怎樣的。一般而言,Linux是由以下幾部分構成:
核心
bootloader
檔案系統
Shell
應用程式
核心是Linux系統的核心,它往下直接與硬體打交道,向上連線應用程式。它是由Linux社群來共同維護,其中Linus是核心人物。核心主要是由
C語言及少量組合語言
編寫而成,是最著名的一個開源專案之一。
核心的原始碼在這裡
,但對於初學者,就別指望能把它看懂。
初學者只要瞭解一些
核心的基本架構
即可,後期可以再進一步深入學習。網路上有一張非常經典的核心架構圖,可以藉助來理解核心。
Bootloader就是一個微控制器程式,用來引導系統啟動。這個程式比較簡單,有些高手甚至自己手寫了bootloader程式。
Linux檔案系統有ext3、ext4等,而windows 有 fat32 、ntfs等。做底層開發的工程師需要深入瞭解,在此不贅述。
3.2 Shell
Shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面(命令直譯器)。它的基本作用如下圖示:
對於Shell的使用,
有非常多坑,初學者一定要規避
。在此,我也找了兩篇Shell面試題,以幫助大家學習進步:
必會的 24 道 Shell 指令碼面試題
10 個實戰與面試【常用 Shell 指令碼】編寫
3.3 Vim
Vim是Linux裡非常重要的一個編輯器,但是,它比較難,對於初學者非常不友好,號稱上古神器。Vim有很多命令,所以我們首先要學習
Vim的基本命令
。
如果你覺得Vim不好學,那麼我介紹
一款提高Vim水平的遊戲
。這款遊戲靈感來自PacMan,讓你使用Vim的命令去控制主角躲避怪物。把這款遊戲玩熟練了,你的Vim水平也上了很大一個臺階。
當然如果是官方標配版的Vim,那其實還是非常不好用的。好在Vim社群有很多大神,他們開發了很多實用的外掛,讓Vim用起來不再那麼難用,比如以下三款非常實用的外掛:
Vim的三款實用外掛
3.4 其它
除了以上3點,
Linux系統還有很多基礎知識
,這些知識很多很細,沒辦法一篇文章講完,需要在實踐中慢慢學習。
比如
Linux系統的目錄結構
,它是一個
樹狀結構
,跟Windows系統有本質的區別。
還有,Linux有很多快捷鍵,掌握了這些快捷鍵會為我們提高不少效率。
虛擬終端快捷鍵
4. Linux命令
眾所周知,Linux有非常多命令,但是,剛開始學Linux千萬別貪多,別想著一口吃成大胖子。對於普通人而言,先學會一些最基本的命令,再去拓展其它更高階的命令。
Linux命令基本格式及目錄處理命令
超好用的Unix/Linux 命令技巧 大神為你詳細解讀
給Linux小白看的命令列極簡教程
Linux的10個最危險的命令
常用的命令可能就二三十個
,當你把這二三十個命令都用得非常熟之後,你才算剛入門。當然,你別小看這些基礎命令,
很多基礎命令有著自己的高階用法
,當你把高階用法都玩透了,你就開始慢慢脫離小白了。
5分鐘 more 命令從入門到精通
Linux下 ls 命令的高階用法8例
Linux 下你所不知道的 7 個 SSH 命令用法
5. Linux神器
在 Linux 下工作,有一些工具可能大大提高你的工作效率。有些工具大家可能耳熟能詳,但還有更多神器可能連聽都沒聽說過。
比如我們程式設計師經常需要繪製一些流程圖,我們可以使用一些諸如EA之類的繪圖工具,但這類工具很多都很龐大,而且比較難學。在Linux下其實我們可以使用
dot工具
簡單高效繪圖!
程式設計師輕鬆繪圖神器
再如,我們如果和同事協作開發,想要把自己的操作過程錄製下來,發給同事然後同事繼續你的工作。或者,別人使用你的電腦,你想把他的操作記錄下來,以免後期爭議。這時,Script命令就派上用場了。
Linux終端裡的記錄器
當然還有很多非常實用的神器,限於篇幅就不一一列舉了。
如何高效回退到特定層級目錄?
Linux任務的前後臺管理
Linux下如何高效切換目錄?
6. Linux趣應用
工作都是乏味的,我們要在工作中找到一些樂趣。作為一個免費的作業系統,大量的愛好者為 Linux 寫了很多很有趣的應用,不僅可以幫助我們提高工作效率,而且還可以給我們枯燥的生活帶來樂趣。
Linux 終端給人的感覺就是黑漆漆一片,裡面只能顯示一些字元,而從來沒見過顯示圖片的,但是,實際上,Linux 終端除了顯示字元外,當然也可以顯示圖片(然後就可以用來看女神照片)。那是怎麼實現的呢?這篇文章有答案:
什麼?Linux 終端也可以用來看女神照片?
人這一輩子,真的是非常不容易:讀書時,被老師、同學嘲笑,工作時,被老闆、同事嘲笑,就連出去擼個串兒,還可能被朋友嘲笑……這些也就算了,畢竟大家還都是同類,都是活生生的人。但是,你如果被 Linux 終端給嘲笑了,你的內心會是什麼感受?
說出來也許你不信,我被 Linux 終端嘲笑了……。
[alvin@VM_0_16_centos ~]$ sldkf
Why are you doing this to me?!
-bash: sldkf: command not found
[alvin@VM_0_16_centos ~]$ iehf
You are not as bad as people say, you are much, much worse。
-bash: iehf: command not found
[alvin@VM_0_16_centos ~]$ sdfas
How many times do I have to flush before you go away?
-bash: sdfas: command not found
Git 是用來做啥的?想必碼農朋友都知道,Git 是版本控制軟體,是軟體開發過程中團隊協作不可或缺的軟體。但是,作為版本控制軟體的 Git ,能跟聊天工具扯上關係嗎?這二者似乎毫無關係,但腦洞大開的外國朋友活生生將 Git 改造成了一個聊天工具!
Git 居然可以用來跟女神聊天?
等等類似於此類的應用,這些應用雖然不是學習過程中的必需品,但卻可以給我們的學習生活帶來很多樂趣!
7. Git
作為程式設計師,肯定不是離開Git。Git是版本控制軟體,是軟體開發過程中團隊協作不可或缺的軟體。但可悲的是,在學校裡很少會有Git相關課程,所以很多大學生都不知道有Git這個東西。
對於Git的入門,建議看
Pro Git
這本書,它是一本免費開源書,在它的官網上就可以直接線上閱讀。
https://
git-scm。com/book/zh/v2
Git雖然命令也很多,但基本的常用的也沒幾個。在使用Git的過程中,我們也要注意一些
Git 提交規範
。
如何高效的使用 Git
學會這兩件事,讓你成為 Git 老司機
你可能不太會用的 10 個 Git 命令
使用Git,就不得不提到
GitHub
。GitHub是一個面向開源及私有軟體專案的託管平臺,因為只支援git 作為唯一的版本庫格式進行託管,故名GitHub。由於開發人員多為男性,故又名GayHub……
很多小夥伴知道使用Git,卻不知道如何在GitHub上與其他小夥伴一起協作,為此我特地寫了一篇文章來介紹
GitHub的協作方法
:
如何在GitHub上大顯身手?
除此之外,還有
你必須收藏的 GitHub 技巧
後記
Linux博大精深,絕非一篇文章就能講透的。本文根據自己的一些經驗,介紹了一些方向性的東西。大家如果按著這些方向去學習,也一定會成為大神!
最後,最近很多小夥伴找我要
Linux學習路線圖
,於是我根據自己的經驗,利用業餘時間熬夜肝了一個月,整理了一份電子書。無論你是面試還是自我提升,相信都會對你有幫助!目錄如下:
免費送給大家,只求大家金指給我點個贊!
電子書 | Linux開發學習路線圖
也希望有小夥伴能加入我,把這份電子書做得更完美!
有收穫?希望老鐵們來個三連擊,給更多的人看到這篇文章
推薦閱讀:
乾貨 | 程式設計師進階架構師必備資源免費送
神器 | 支援搜尋的資源網站