linux運維學不懂,很絕望, 求正確方法?

網工專業,畢業後想走linux運維,但是現在已經大三下學期了,想半年後就去找工作,可是學的時候發現前面的bash編程和一些條件測試難記又難懂,買的成套的教學視頻看的時候也是一知半解,現在感覺很絕望,請問有什麼辦法嗎,不想改行


題主才大三!還有大把的時間去準備、學習!

Linux入門本就不難,更何況你作為應屆畢業生找工作本來也不會遇到太高的要求!

所以首先,要給自己樹立信心!

想要真正的成為一名Linux運維的預備人才,首先應該做好思想上的準備。

1、思維方式上要儘可能的脫離Windows系統的影響。

相信絕大部分人使用計算機時所接觸到的首個操作系統仍然是Windows系列操作系統,而且可能在接觸Linux操作系統之前已經使用了很長時間的Windows系統操作系統了。這樣,就很容易在我們的腦海里形式Windows系統操作系統的操作習慣和思維習慣。雖說Linux和Windows均是操作系統,功能上沒有太大的差別。但是,Linux的操作習慣和思維方式與Windows還是有很大差別的。如,筆者第一次安裝好「藍點」後就為找不到D盤而疑惑。同時,筆者接觸到Linux新手大部分都有一個習慣:學習Linux習慣於在圖形化界面上操作,估計就是受Windows影響的緣故。

2、多動手,勤於實踐。

本人也經常遇到初學者問我有什麼好的方法學好Linux。我基本上每次都類似回答他們:沒有什麼好辦法,只有多動手,勤於實踐。學習計算機有一個非常好的優勢就是,你測試環境下或虛擬機上搞測試不需要太擔心把機器搞壞,即使把系統搞壞了,大不了重裝系統就是了。

計算機方面的知識很多都是非常抽象的,很多時候如果我們只是看書,往往是看得雲里霧裡,只有通過不斷的實踐,測試,驗證才能真正搞懂一個概念。

3、要有不畏懼困難和強烈的研究精神。

經常看到許多新手一遇到問題就論壇上去發帖,向高手求教。而且許多時候這些人似乎要求所謂的高手擁有靈丹妙藥,對於他們的問題給出詳細的解決方法甚至完善的步驟。其實這是最要不得的對待問題的態度。雖然,高手給我們提供的解決問題的建議或許對我們有很大的參考價值,但是僅僅只能作為參考,我們不能不加思考的照搬他們的方法。

4、善於整理和總結

知識是要通過不斷的整理和總結才能升化和系列化的。當我們每次遇到問題時,都能記錄當時的場景以及解決方法,隨著我們學習的不斷深入,那麼我們所積累的知識也就越來越豐富。

5、要有很強的責任心和使命感。

基本上運維是系統對外提供服務的最後的把關者。因此,一個系統對用戶來說是不是穩定跟運維有很大的關係。特別是,當系統不出現問題的時候,許多運維都不重視容災備份和數據安全,這樣一旦系統出現了故障,系統的恢復就需要花很長的時間。

6、要有不斷的學習精神

計算機的發展真是太快了,新的知識、新的技術層出不窮。如果不持續的保持不斷學習,那麼很快知識就會老化,跟不上時代發展的需要。

7、要有精益求精的精神

應該說運維的工作的彈性還是很大的。即可以非常粗造的運維一個系統,也可以持續改進、優化系統,使系統越來越高效的運行。而如何讓一個系統越來越高效的運行,就需要我們具有精益求精的精神,持繼地進行改進。

這幾條里,最重要的是第2和第4條,一定要養成動手和總結的習慣!

除此之外,了解一下職位的必須技能,在學校的時候針對性的進行強化。去一些招聘網站,搜集一下運維工程師的職位要求,將這些職位要求進行匯總後,得出一條學習路線。

題主不必著急,你已經有相當的計算機基礎了,入門只會比別人快。

學習最忌心焦氣燥,調整一下心態,多和同道交流,爭取早日成為一名Linux運維工程師!


你想更深入了解學習Linux知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:

【超全整理】《Linux雲計算從入門到精通》系列實戰筆記全放送


嗯,回憶一下我學Linux的時候吧。

那個時候錄取結果剛剛公布,我從家裡跑到北京看看未來四年要生活和學習的學校。

結果好失望啊~人大真的好小,我一個妹子走了一圈感覺臉不紅氣不喘,本來分配了半天時間各處轉轉的,結果沒辦法,只好坐在籃球場看別人打球。┐(′~`;)┌悲傷辣么大

然後就完蛋了嘛~一個男生,扣籃好帥呀~

仗著自己臉皮厚,問人家要了手機號碼,聊了一個暑假,知道他是大三的學長,計算機系的。

所以我一個法學生就去學計算機課程了,什麼編程語言沒學好,用Linux倒是玩出了一手花活( ′﹀` )禮貌的微笑

所以,題主,你不是學不會,你是沒有動力呀


編程能力只是linux運維一個錦上添花的技能。

先給你看個運維工程師招聘的廣告,

崗位職責:

1. 負責伺服器的規劃和調配;

2. 負責運維繫統架構的調研、規劃和維護;

3. 負責伺服器安全防護和審計、日誌分析處理;

4. 負責應用部署、優化和監控;

5. 擔負開發與運營的資料庫顧問角色。

任職要求:

1.計算機或相關專業,統招本科及以上學歷;

2. 精通Linux系統配置與管理,了解Linux安全審計、入侵檢測;

3. 熟練掌握 Shell/Python中一種腳本語言,能根據運維需求快速開發相應腳本和自動工具;

4. 熟悉MySql、redis和mongodb資料庫的配置、管理和優化;

5. 精通nginx等環境安裝配置及調優;

6. 熟悉常用集群服務(LVS、KEEPALIVED、HAPROXY)的搭建、維護和優化,以及問題處理等經驗優先;

7. 有Kettle使用工作經驗優先;

8. 熟悉開源的監控平台工具,比如:zabbix、Nagios等優先;

9. 具有團隊合作精神,思維清晰,細緻耐心,責任心強,能獨立完成工作,承受較大工作壓力;有乙方技術支持經驗者優先考慮。

如上所示,編程只是其中一項技能,建議你多逛逛招聘廣告,市場才是硬道理,不要自己埋頭學,根據公司的需求來針對性訓練自己的能力。

另外,具體學習的時候,不要看,一定要練習。如下圖:

關於運維的編程能力

如果你要從事Linux運維工作,你應該先掌握類似上面的基礎的技能,然後找到一個公司肯願意offer你,進入企業實戰運維,不然一切都是空談,對於運維來說,經驗真的非常非常重要。

等你慢慢的做運維工作,你會發現,運維其實有很多重複性單調的勞動,到企業你就會發現,老人已經寫了一些shell腳本、Python腳本或者其他更大更複雜的系統等來自動化一些工作,從而提高效率,當你走到這一步的時候,你甚至已經和公司同事們會產生交流,和同業的朋友也會有交流,你就知道自己該怎麼去發展自己的編程能力。

現在運維一般就是使用Python、Perl、Shell、Go多一些,簡單的就寫寫腳本,複雜的就是像基於Django的一些自動化web系統,相信你入行了一段時間,自己也會有心得,起碼大方向知道該怎麼走了。

運維的編程能力就像人學跑步一樣,學會了你會進步很快,但是你現在還沒有走動起來呢。所以,先把路走起來,再學跑步。

"The way to get started is to quit talking and begin doing." - Walt Disney


作為一個從化學專業轉來的我來回答一下你的問題

1、彆氣餒。既然你已經選擇了這個方向,就一直去學吧。任何的新知識都需要一個過程,可能現在你懵懵懂懂的,但是某一下你會頓悟的。剛開始我也是這樣迷茫,不知道該去做什麼。但是一直看書自學,網上搜索「老男『』等這些培訓機構的視頻。看看還可以,畢竟有些東西書上可能講的沒那麼快。

2、強烈推薦你去關注智聯招聘、拉鉤、直聘等招聘網站對於linux運維工程師的要求。這個會給你一個學習的方向,沒有必要的東西可以先不學,比如,shell編程裡面比較難一些的東西。工作中研究吧。那時候還有具體環境給你練手。簡單些的那些東西都會了就好了,這些才是用的最多的。
3、如果有時間,推薦你去看看《linux就該這樣學》(應該是這個名字),找一個本系統介紹linux系統的書,這樣你能稍微系統的去學一下,不然感覺有些東西丟失了也不太好。實在不行的話,你也可以報個遠程班什麼的,也不貴。遠程班關鍵的是你不會的地方,可以問老師,有人給你指點。

4、說一些廢話。當時我是做化學醫療藥水什麼的,時間多太無聊自己就學網工,感覺網工不怎麼樣,就網上搜其他的,看別人說linux運維還行,就自己學了,後來辭職脫產去學linux運維。不過現在覺得脫產去學linux運維被坑了。個人覺得,給自己收益最大得還是我買的那些書給我得收益是最大得。培訓機構給我頓悟的感覺。

5、學linux一定要練習,比如剛開始的那些簡單地如:ls、cd、rsync、smb服務什麼的,一定要動手去做。後面自己搭建一個lnmp平台、lamp平台,也需要你自己去操作,去練習,跟著書或者網上視頻去做。shell腳本這個,我感覺跟學一門語言一樣,別著急,先能簡單的用就好了,慢慢地在去往深了學。你現在不想先工作嘛,碰到太難的啃不動了,就不啃了,跳過去。知識廣度夠了,再去深度學啃不動的東西。

個人的一寫學習心得。希望會對你有幫助


運維領域的基本概念要清楚,

1.運維首要解決的問題是維護系統的穩定性,包括熟悉Linux系統,熟悉常用的伺服器,搭建高可用架構,部署監控,等等,

2.其次是解決運維效率問題,比如利用各種自動工具,shell,python等等,所有還是要先理清楚最重要的概念,有針對性的學習,不要一開始就投入到shell這種很容易讓人感覺挫折的地方

附上一張廣為流傳的技能圖

ps,早點找個地方實習下是王道,學會的有多廣,大公司對畢業生要求並不是很多,主要關注的還是你學過的東西,學的有多深入,理解的有多透徹


入門階段 認真學三個月 可以 有很明顯的提升

《跟阿銘學linux》 這本書挺好的,如果你是認真看完並做下裡面的實驗,多敲下裡面的常用命令,對帶你入門相信收穫會很大。

看書的過程中可以配合看相關文檔,或者看看他人總結的經驗。在這個學習研究的過程中,你肯定或多或少會遇到問題,把它們記錄下來,每個問題點和相應解決方案都總結出一篇博客,收穫會很大。

Shell,剛開始可以找一個網上的入門文章大致過一下常用語法(這個應該頂多一天),有精力可以直接掃一遍man手冊。

Python,入門比較容易,Google搜下入門文章和書籍,或者看官方文檔。

不論是Linux,或是Shell和Python,前期入門都差不多,後面主要就是實踐,積累經驗和技巧。

我覺得三個月時間,安心把我上面提到的做完,應該差不多了。


第一章 構建本地 YUM 源伺服器 6

1.1 YUM 概述 7

1.2 構建本地 YUM 源伺服器 7

1.2.1 為什麼要構建本地源 7

1.2.2 如何構建本地源 7

1.3 使用 yum 工具安裝軟體 9

1.3.1 設置 YUM 源位置 9

1.3.2 使用 yum 命令 10

1.3.3 使用圖形工具「添加刪除程序」 11

第二章 sed 和 awk 工具的應用 12

2.1 正則表達式 13

1. 元字元 13

2. 正則表達式應用示例 13

2.2 sed 工具 14

2.2.1 sed 工作原理 14

2.2.2 sed 的調用方式 14

2.2.3 sed 選項 15

2.2.4 sed 編輯命令 15

2.2.5 sed 應用舉例 15

2.3 awk 工具 18

2.3.1 awk 工作原理 18

2.3.2 awk 調用方式 19

2.3.3 awk 應用舉例 20

第三章 Snort 網路入侵檢測系統 22

3.1 IDS 介紹 23

3.2 Snort 介紹 23

3.3 構建 Snort+Base NIDS 系統 25

3.3.1 系統結構 25

3.3.2 安裝前的準備工作 25

3.3.3 安裝 Snort 26

3.3.4 設置報警信息記錄到 MySQL 資料庫 28

3.3.5 構建安全圖形分析引擎 29

3.4 簡單的測試 31

······

Linux最佳運維手冊_


看視頻自學的方法不是看了就算,你先看一次過去,然後再看第二次,第二次講到關鍵的地方,要動手碼代碼了,就跟著碼。靜下心,很快就學會的。不要給太遠的目標,一個個小目標慢慢來。


也是作為一隻正在找運維實習的大三狗 的確存在說學不進去或者一知半解的狀態 然後剛渡過了又一個學習瓶頸期 個人感覺起初學不進去的話可以學習一下基本的工作原理什麼的會更好理解 然後你說到的編程 其實我也有注意到說編程的重要性(其實就是腳本啦) 不過正如上面有的答主提到的 編程只是錦上添花的東西 基礎沒打好只搞編程 為什麼不去當碼農呢

答完了 (逃~


我也大三,可是是非計算機專業的,和你同一樣,目標linux運維,現在在一直看視頻自學,我認為自學的話一定要動手做,看完視頻後,自已再動手做一下,然後記筆記,去年學了快半年吧,結果過年的時候,電腦格了,筆記全沒了, ,心塞,

一起加油,


要麼是沒有足夠的興趣,要麼是在這方面沒有一點天賦,而恰恰這兩點對於一個IT從業者來說都是很重要的,要麼感興趣,要麼有天賦,起碼得佔一樣,要不然你在這一行里會很平庸很平庸。

我覺得做運維,常用的東西並不多,也就那些東西。我是用 Linux 作為主力系統的,工作生活都用它,這幾年積攢下來的經驗差不多也能做個中級運維了吧。說實話,我覺得我對計算機沒有太大的天賦,但是我感興趣,興趣會促使我去學習,去做很多東西。

既然想走這條路就培養下興趣吧,平時多練習,多思考,多做筆記。冰凍三尺,非一日之寒,沒有速成法,不要著急,靜下心,慢慢學。

Shell 腳本可以參考下我寫的教程,還算簡單易懂吧:http://opus.konghy.cn/shell-tutorial/


學不懂?是沒有努力去學?還是努力學了搞不明白?

對理論不清楚的去看視頻,現在網上免費的視頻很多,如果說是太多東西記不住,那是懶,理論結合實踐,自己提出問題,反覆反覆反覆折騰!!


bash是程序員技能樹的,我建議你點一點c語言再學bash,大三這個階段先把基礎打好就行了


思科,華為的證書考了嗎?如果對Linux沒感覺,也可以試試走網路設備配置管理這條路上。


運維是一項非常講究實際動手的工作,樓主哭訴運維學不懂搞不會,有沒有反思一下自己的學習方法有問題呢?命令、腳本、工具的使用都離不開在工作實際中的應用,否則真心學不會。

結合個人的經驗,我建議如下:
1、網上的視頻教學可以放一放,先從&<鳥哥的私房菜&>起步,在虛機上一點點一步步扎紮實實把LINUX的基本命令和系統特性搞清楚。

2、在虛機或是樹莓派上把常用的服務自己配一遍,在宿舍里搭一個小型的WEB服務或文件服務,既給室友提供點資源共享福利又能實際上手做點看得見的事情。理論還能結合個實際不是?

3、跟著LFS自己從頭搭建一個核心系統。

以上三步做完之前不要多想以後的路怎麼走,是否與風雲變幻的前沿技術對接得上。就是把這三個目標達成,在向目標努力的過程中會有很多問題,這時候你可以按遇到的問題再決定查一下哪方面的資料、讀一下哪方面的書,或者怎麼描述這些問題以在網上獲得大家的幫助。

當以上目標達成後,我相信你將不再迷茫,心中自有新的目標。加油!!!


玩命的學唄,能有什麼好辦法


這位客官,不用絕望。

運維乃至技術相關的學習都是需要大量實踐的學科,過程肯定都是枯燥甚至無聊的,同時學習曲線也都不是那麼平滑的。您感到絕望的原因,在我看來主要是信息渠道太多。

遙想當年,裝一個系統要換N張軟盤,曾幾何時,沉醉於反覆重裝系統中給我帶來的極大快感。

為解決一個問題在新華書店、圖書館裡泡一天。信息相對匱乏的年代,和您所想一樣,大部分情況下只能無功而返。

現在隨著網路的普及,信息的爆炸。想必應該要比當年的我們學習門檻要低很多了。回到您的問題本身,我前段時間的一篇文章或許能幫到您,我來摘取部分的內容:

想「系統」地學習某個方向的專業知識,建議最直接有效的辦法就是學習並參加這個方向的考試或者認證。比如,您想系統的學習法律,就嘗試去學習並參加司法考試。回到您的問題,如果您想主攻網路方向,就可以考慮參加Cisco的相應的認證培訓及考試(如CCNA至CCNP,再到CCIE)。其它方向也是一樣。不可否認,因為有太多Paper的存在,所以CCIE等認證含金量遠不如多年前。但結果不重要,在這個學習、準備考試的過程中您可以對相應的專業方向有著比較「系統化」的認識,更可以清楚相應專業的「邊界」,知道這個專業可以幹什麼,不可以幹什麼。而且可以很有效的避免在學習專業知識的過程中存在盲點,規避出現「盲人摸象」、「管中窺豹」的情況。要知道一點,所有專業性的認證及考試相應教材的編撰者都是這個行業最頂業的專家。這種專家比那些「21天學通XXX」的專家不知道高明到那裡去了。

對了,我這篇文章的地址在:【來信選登】運維工程師該如何入行? - 知乎專欄

希望能夠幫到您。


同大三,同運維,現在已經把鳥叔的基礎篇搞完了,正在弄伺服器篇,一起加油吧!


這些基礎命令什麼的只能算預科,網上看兄弟連的公開課就行,能考上大學不至於看不懂,踏下心看。


瀉藥,咋邀請我回答這個,我表示不懂的(°_°)


推薦閱讀:

如何評價 Windows 版「bash」(及其相關 *nix 子系統)?

TAG:學習 | Linux | 心態 | Bash | Linux運維 |