如今有很多關于Linux的書籍,博客。大多數都會比較“粗暴“的将一大堆的命令塞給讀者,從而使很多Linux初學者望而卻步,未入其門就路過了。
下面千鋒廣州小編給大家找了一下一個資深Linux用戶關于學習Linux的一些建議:
随着Linux應用的擴展許多朋友開始接觸Linux,根據學習Windwos的經驗往往有一些茫然的感覺:不知從何處開始學起。
作為一個 Linux系統管理員,我看了許多有關Linux的文檔和書籍,并為學習Linux付出了許多艱苦的努力。當真正獲得了一份正式的Linux系統管理工作後,我更加深刻地理解了Linux的靈魂:服務與多用戶。
Linux系統知識是非常廣博的,但是隻要掌握了重點知識,管理它并沒有想象中的那麼可怕。在下面我會将作為系統管理員的一些工作心得和總結出來的經驗系統地介紹給大家。
一、 學習的目的
通過Linux的學習掌握Unix的目的想必不用多說了,在這個網絡人才身價倍增的年代,想靠技術吃飯又不想掌握網絡和編程技術是不明智的。當一人第一次聽說Linux并躍躍欲試的時候,總會提出幾個?
它是什麼(What)? 為什麼要用它(Why)? 怎樣學習它(How)?做為開放源碼運動的主要組成部分,Linux的應用越來越廣泛,從我們平時的娛樂、學習,到商業、政府辦公,再到大規模計算的應用。為了滿足人們的需求,各種各樣的、基于Linux的應用軟件層出不窮。
隻要具備了LinuX的基本功,并具有了自學的能力之後,都可以通過長期的學習将專項内容予以掌握。
二、 從命令開始學習
常常有些朋友一接觸Linux 就是希望構架網站,根本沒有想到要先了解一下Linux 的基礎。這是相當困難的。雖然Linux桌面應用發展很快,但是命令在Linux中依然有很強的生命力。
Linux是一個命令行組成的操作系統,精髓在命令行,無論圖形界面發展到什麼水平這個原理是不會變的,Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行複雜的多媒體圖象和流媒體文件的制作。
這裡筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統中的作用分成幾個部分介紹給大家,通過這些基礎命令的學習我們可以進一步理解 Linux系統:
●安裝和登錄命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
●文件處理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
●系統管理相關命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
●網絡操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
●系統安全相關命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho
三、 選擇好的入門Linux書籍和相關視頻
在各個Linux論壇中,我們看到最多的問題往往是某個新手,在安裝或使用linux的過程中遇到一個具體的問題就開始提問,很多都是重複性的問題,甚至有不少人連基本的問題描述都不是很清楚。
這說明很多初學linux的人還沒有掌握基本功。怎樣才能快速提高掌握linux的基本功呢?
最有效的方法莫過于學習權威的linux工具書,工具書對于學習者而言是相當重要的。一本錯誤觀念的工具書卻會讓新手整個誤入歧途。編者不再這裡做過多推薦,建議入門的童鞋們多在網上搜搜相關書籍的評價以及介紹,切記零基礎的童鞋不要選擇内容過深的書籍。
目前網絡上也有很多免費的相關視頻,建議沒有接觸過或者剛接觸運維行業的童鞋先多去看看一些免費的基礎視頻或者參加一些線下的免費行業介紹講座,這樣才能知道該如何入門,如何着手學習或者選擇什麼方式學習,這都是很重要的。
四 、養成在命令行下工作的習慣
一定要養成在命令行下工作的習慣,要知道X-window隻是運行在命令行模式下的一個應用程序。在命令行下學習雖然一開始進度較慢,但是熟悉後,您未來的學習之路将是以指數增加的方式增長的。
從網管員來說,命令行實際上就是規則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的調制解調器線路,它也能操縱幾千公裡以外地遠程系統。
五、用Unix思維思考Linux
由于Linux是參照Unix的思想來設計的,理解和掌握它就必須以Unix的思維來進行,而不能以Windows思維。不可否認,windows 在市場上的成功很大一部分在于技術思想的獨到之處。
可是這個創新是在面對個人用戶的前提下進行的,而面對着企業級的服務應用,它還是有些力不從心。多年來在計算機操作系統領域一直是二者獨大:unix在服務器領域,Windows在個人用戶領域。
由此可見,用戶需求決定了所采用的操作系統。不管什麼原因,如果要學習Linux,那麼首先要将思維從Windows的“這個小河” 中拖出來,放入Unix的海洋。
六 、學習shell和Python
對于Shell(中文名稱殼),習慣Windows的讀者肯定是非常陌生的,因為Windows隻有一個“Shell”(如果可以說是Shell的話),那就是Windows自己。用一句話容易理解的解釋就是,shell是用戶輸入命令與系統解釋命令之間的中介。
最直觀的說法,一種Shell有一套自己的命令。舉一個容易理解的例子,Linux的标準Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表現出來的。讀者可能會不理解,Windows從命令行“進化”到了圖形界面,那麼Linux現在還使用命令行豈不是一種倒退?
當初剛剛接觸Linux時就曾有過這種想法。可是後來發現,如果使用圖形界面,那麼分配給應用軟件的資源就少了,在價格昂貴的服務器上,能夠以較低的硬件配置實現同樣的功能是非常重要的。
下面舉例說明:
一台服務器有1GB内存,假設其中512MB用于處理圖形界面,若要安裝一個需要784MB内存的數據庫軟件,惟一的辦法就是擴大内存。但是如果使用命令行,系統可能隻需要64MB内存,其它的内存就可以供數據庫軟件使用了。使用命令行,不僅是内存,而且CPU及硬盤等資源的占用都要節省很多。所以,作為服務器使用命令行是優點而不是缺點。既然Shell有這麼多優點,就必須要學習它。
七、關注行業趨勢更新技能
Linux運維的招聘要求感覺與往年同樣薪資的招聘要求高了許多,又得會各種開源工具.還得懂K8S和docker。但凡15K以上的工資,都必須要會python,而且是要有一定的pythonweb開發能力,2016年這個時候一般的運維都是要求: shell/python/php,三選一,會點就行,但是2017年不一樣了,python要具有一定的web開發能力才可以。如果不要求會python的,也勢必要求shell很精通。
這裡給出一點小的技能提升的建議: 大緻需要學習下這四個部分:
- 自動化運維(Ansible,Puppet,Saltstack等)
- Devops(Docker,K8s,Jenkins,Jira等),
- 雲服務技術(虛拟化、OpenStack、AWS及阿裡雲各種産品服務架構等)
- python
上面幾條僅供參考,不一定适合所有人,具體的學習方法還有自己取舍了!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!