{eval=Array;=+count(Array);}
新手學習linux方向大概如下:
1.先學習linux的基本命令,比如:cd,ls,cp,mv,mkdir,rm,cat,touch增刪改查等等命令。
2.熟悉基本的操作后學習linux相關(guān)文件權(quán)限命令,比如:useradd,groupadd,passwd,chmod等等命令。
3.然后在學習更進階一點的命令,比如:進程管理,磁盤管理,網(wǎng)絡(luò)管理,文件管理等等相關(guān)的命令。
4.最后再學習下linux的軟件安裝卸載和shell腳本等等吧!然后多實際操作下搭建各種軟件環(huán)境,基本就可以出師了。
我說說我是怎么學的,現(xiàn)在學到什么程度,遇到哪些問題,困擾在哪里這些問題。
我是怎么學的:我是18年初買的第一個樹莓派3B,刷了centos系統(tǒng)(我主要學習centos),刷系統(tǒng)比較簡單,后來又買了3B+,4,和miniPC都是裝的centos系統(tǒng),Windows虛擬機也做一個系統(tǒng)。用樹莓派0W做了兩個項目。第一本書一定是鳥叔的Linux私房菜,版本2和3,這本書比較全面。一年寫筆記20萬字左右。
現(xiàn)在學到什么程度:現(xiàn)在可以自己做FTP服務(wù)器;外掛硬盤;文件服務(wù)器;常用命令;systemctl用法;用戶操作;Vim操作比較熟練;可以寫一shell腳本;比較了解系統(tǒng)結(jié)構(gòu);了解個文件夾作用;會用top看系統(tǒng)情況等。
遇到那些問題:Linux的變量比較復雜,操作也復雜,難!正則表達式難!sed,grep,等命令用的不熟練。群組操作沒怎么練習,不熟練。
困擾:不知道現(xiàn)在該學什么,基本操作基本會了。現(xiàn)在處于不斷學習階段,下一步學什么不知道。(這期間學習了Python,基本入門)。
這就是我的學習歷程,算經(jīng)驗,深入運維學的不好,沒有環(huán)境,希望有機會提高。
您好,更高興為您回答問題。
LINUX,我學習了4年,目前我的職位是一名數(shù)據(jù)庫運維工程師,對于linux的學習,我想我這個從網(wǎng)絡(luò)畢業(yè),變成linux運維方面的工作者蠻有心得。
linux和蘋果系統(tǒng),微軟系統(tǒng)一樣,承載應(yīng)用服務(wù)的底層架構(gòu),我們要學習linux,首先一定要了解它的概念。
Linux是一種自由和開放源代碼的類UNIX操作系統(tǒng),該操作系統(tǒng)的內(nèi)核由林納斯·托瓦茲在1991年10月5日首次發(fā)布。在加上用戶空間的應(yīng)用程序之后,成為Linux操作系統(tǒng)。
linux有很多分支,redhat,debian等,根據(jù)不同的用戶需求,被包裝成不同的系統(tǒng),可基礎(chǔ)還是linux或者說unix。
linux使我感興趣,很重要的原因是命令,敲鍵盤可不是程序員的特權(quán)。
但使用linux,一定要明白命令的意義,否則,會造成無法彌補的后果。
linux主要的命令是文件系統(tǒng),操作系統(tǒng),程序管理相關(guān),其他命令都是由其他搭載在上面的服務(wù)器提供。
自學linux,最好是結(jié)合一個項目去學,比如docker,比如heartbert。
應(yīng)用程序部署,會讓你發(fā)現(xiàn)很多基本原理以及命令概念,其實linux并不復雜,只要用心,我們專注發(fā)現(xiàn)問題,就可以很快的切入其中。
開源程序是學習linux的輔助工具,我們在研究過程遇到的問題便是我們學習的內(nèi)容,怎么去克服報錯,怎么去分析報錯,怎么去處理報錯,層層揭開linux的秘密。
興趣決定我們學習的高度,如果你是因為工作或者其他需求要自學,一定要系統(tǒng)的學習,不要出現(xiàn)操作失誤。
但如果你是因為興趣學習,我想你回答發(fā)現(xiàn)linux十分有趣。
linux很雜的,所以初期階段你不用看學習什么內(nèi)容,基礎(chǔ)的都學就行了,這里可以看中國人寫的基礎(chǔ)書籍,上手快,外國翻譯過來的反正我是看的很吃力,不太適合初級的人去看
基本知道linux之后,一些安裝、權(quán)限等等操作后,就進階,比如搭建LAMP、LNMP、DNS等等軟件和服務(wù),這些也要懂,這部分需要教程,看書超級緩慢,教程為主、練習為輔、這時候可以看國外大神寫的書了,到這部分你就可以開始工作了,基本上企業(yè)也不會劃分的很細,當然想走的更遠,下面就是深度學習了,對了,python了解基本即可,但shell腳本一定要會,不說精通,至少要熟悉,一天2到5個shell腳本練習就夠了,也不用太多精力花在這
當你學的差不多,才是決定往哪個方向了,比如云服務(wù)器、自動化運維、linux安全之類的方向,但都離不開開發(fā),所以這時候你就要精通python語言了
自動化運維應(yīng)該是趨勢,云服務(wù)器也是熱門,一門精通,其它也要熟悉,你才能走的遠
還有個很重要的,原理一定要懂,每一個服務(wù)的運行原理比會安裝更重要,所以死記硬背也要背下來。網(wǎng)絡(luò)這塊不是服務(wù)器運維的強項,但基本的ip/tcp協(xié)議你需要懂,會抓包、會基本分析就可以了,往后有精力了再深度學習
1、Linux基礎(chǔ)你得挑一個適合你的系統(tǒng),然后在虛擬機安裝它,開始使用它。 如果你想快速學會Linux,我有一個建議就是忘記圖形界面,不要想圖形界面能不能提供你問題的答案, 而是滿世界的去找,去問,如何用命令行解決你的問題。在這個過程中,你最好能將Linux的命令掌握的不錯,起碼常用的命令得知道,同時建立了自己的知識庫, 里面是你積累的各項知識。2、Linux平臺的C/C++開發(fā),同時還有Bash腳本編程[JAVA]再下個階段,你需要學習的是Linux平臺的C/C++開發(fā),同時還有Bash腳本編程,如果你對Java興趣很深還有Java。 同樣,建議你拋棄掉圖形界面的IDE,從VIM開始,為什么是VIM,而不是Emacs, 我無意挑起編輯器大戰(zhàn),但我覺得VIM適合初學者,適合手比較笨,腦袋比較慢的開發(fā)者。 Emacs的鍵位太多,太復雜,我很畏懼。然后是GCC,Make,Eclipse(Java,C++或者)。雖然將C++列在了Eclipse中,但我并不推薦用IDE開發(fā)C++,因為這不是Linux的文化, 容易讓你忽略一些你應(yīng)該注意的問題。 IDE讓你變懶,懶得跟豬一樣。如果你對程序調(diào)試,測試工作很感興趣,GDB也得學的很好, 如果不是GDB也是必修課。這是開發(fā)的第一步,注意我并沒有提過一句Linux系統(tǒng)API的內(nèi)容, 這個階段也不要關(guān)心這個。你要做的就是積累經(jīng)驗,在Linux平臺的開發(fā)經(jīng)驗。我推薦的書如下:C語言程序設(shè)計。 C語言,白皮書當然更好。 C++推薦 C++ Primer Plus, Java我不喜歡,就不推薦了,附一個別人的書單:java 入門書籍。 工具方面推薦VIM的官方手冊,GCC中文文檔,GDB中文文檔,GNU開源軟件開發(fā)指導(電子書), 匯編語言程序設(shè)計(讓你對庫,鏈接,內(nèi)嵌匯編,編譯器優(yōu)化選項有初步了解,不必深度)。如果你這個階段過不了就不必往下做了,這是底線,最基礎(chǔ)的基礎(chǔ),否則離開,不要霍霍Linux開發(fā)。 不專業(yè)的Linux開發(fā)者作出的程序是與Linux文化或UNIX文化相背的,程序是走不遠的, 不可能像Bash,VIM這些神品一樣。 所以做不好干脆離開。3、UNIX環(huán)境高級編程(作者英年早逝,第3版即將出版,稍等)UNIX環(huán)境高級編程堪稱神作,經(jīng)典中的經(jīng)典。接下來進入Linux系統(tǒng)編程,不二選擇,APUE,UNIX環(huán)境高級編程,一遍一遍的看, 看10遍都嫌少,如果你可以在大學將這本書翻爛,里面的內(nèi)容都實踐過,有作品,你口頭表達能力夠強, 你可以在面試時說服所有的考官。(可能有點夸張,但APUE絕對是圣經(jīng)一般的讀物,即使是Windows程序員也從其中汲取養(yǎng)分, Google創(chuàng)始人的案頭書籍,扎爾伯克的床頭讀物。)這本書看完后你會對Linux系統(tǒng)編程有相當?shù)牧私猓繪inux與Windows平臺間開發(fā)的差異在哪? 它們的優(yōu)缺點在哪?我的總結(jié)如下:做Windows平臺開發(fā),很苦,微軟的系統(tǒng)API總在擴容, 想使用最新潮,最高效的功能,最適合當前流行系統(tǒng)的功能你必須時刻學習。 Linux不是,Linux系統(tǒng)的核心API就100來個,記憶力好完全可以背下來。 而且經(jīng)久不變,為什么不變,因為要同UNIX兼容,符合POSIX標準。 所以Linux平臺的開發(fā)大多是專注于底層的或服務(wù)器編程。這是其優(yōu)點,當然圖形是Linux的軟肋,但我站在一個開發(fā)者的角度,我無所謂,因為命令行我也可以適應(yīng), 如果有更好的圖形界面我就當作恩賜吧。另外,Windows閉源,系統(tǒng)做了什么你更本不知道, 永遠被微軟牽著鼻子跑,想想如果微軟說Win8不支持QQ,那ucloud不得哭死。 而Linux完全開源,你不喜歡,可以自己改,只要你技術(shù)夠。另外,Windows雖然使用的人多,但使用場合單一,專注與桌面。 而Linux在各個方面都有發(fā)展,尤其在云計算,服務(wù)器軟件,嵌入式領(lǐng)域, 企業(yè)級應(yīng)用上有廣大前景,而且兼容性一流,由于支持POSIX可以無縫的運行在UNIX系統(tǒng)之上, 不管是蘋果的Mac還是IBM的AS400系列,都是完全支持的。 另外,Linux的開發(fā)環(huán)境支持也絕對是一流的,不管是C/C++,Java,Bash,Python,PHP,Javascript,。。。。。。就連C#也支持。而微軟除Visual Stdio套件以外,都不怎么友好,不是嗎?如果你看完APUE的感觸有很多,希望驗證你的某些想法或經(jīng)驗,推薦UNIX程序設(shè)計藝術(shù), 世界頂級黑客將同你分享他的看法。4、選擇方向:網(wǎng)絡(luò),圖形,嵌入式,設(shè)備驅(qū)動網(wǎng)絡(luò)方向:服務(wù)器軟件編寫及高性能的并發(fā)程序編寫現(xiàn)在是時候做分流了。 大體上我分為四個方向:網(wǎng)絡(luò),圖形,嵌入式,設(shè)備驅(qū)動。如果選擇網(wǎng)絡(luò),再細分,我對其他的不是他熟悉,只說服務(wù)器軟件編寫及高性能的并發(fā)程序編寫吧。 相對來說這是網(wǎng)絡(luò)編程中技術(shù)含量最高的,也是底層的。 需要很多的經(jīng)驗,看很多的書,做很多的項目。我的看法是以下面的順序來看書:APUE再深讀 – 尤其是進程,線程,IPC,套接字多核程序設(shè)計 - Pthread一定得吃透了,你很NBUNIX網(wǎng)絡(luò)編程 – 卷一,卷二TCP/IP網(wǎng)絡(luò)詳解 – 卷一 再看上面兩本書時就該看了5.TCP/IP 網(wǎng)絡(luò)詳解 – 卷二 我覺得看到卷二就差不多了,當然卷三看了更好,努力,爭取看了6.Lighttpd源代碼 - 這個服務(wù)器也很有名了7.Nginx源代碼 – 相較于Apache,Nginx的源碼較少,如果能看個大致,很NB。看源代碼主要是要學習里面的套接字編程及并發(fā)控制,想想都激動。如果你有這些本事,可以試著往暴雪投簡歷,為他們寫服務(wù)器后臺,想一想全球的魔獸都運行在你的服務(wù)器軟件上。Linux內(nèi)核 TCP/IP協(xié)議棧 – 深入了解TCP/IP的實現(xiàn)如果你還喜歡驅(qū)動程序設(shè)計,可以看看更底層的協(xié)議,如鏈路層的,寫什么路由器,網(wǎng)卡, 網(wǎng)絡(luò)設(shè)備的驅(qū)動及嵌入式系統(tǒng)軟件應(yīng)該也不成問題了。當然一般的網(wǎng)絡(luò)公司,就算百度級別的也該毫不猶豫的雇用你。 只是看后面這些書需要時間與經(jīng)驗,所以35歲以前辦到吧!跳槽到給你未來的地方!圖形方向,我覺得圖形方向也是很有前途的,以下幾個方面。Opengl的工業(yè)及游戲開發(fā),國外較成熟。影視動畫特效,如皮克斯,也是國外較成熟。GPU計算技術(shù),可以應(yīng)用在瀏覽器網(wǎng)頁渲染上,GPU計算資源利用上,由于開源的原因,有很多的文檔程序可以參考。如果能進火狐開發(fā),或google做瀏覽器開發(fā),應(yīng)該會很好 。嵌入式方向:嵌入式方向沒說的,Linux很重要。掌握多個架構(gòu),不僅X86的,ARM的,單片機什么的也必須得懂。 硬件不懂我預見你會死在半路上,我也想走嵌入式方向,但我覺得就學校教授嵌入式的方法, 我連學電子的那幫學生都競爭不過。 奉勸大家,一定得懂硬件再去做,如果走到嵌入式應(yīng)用開發(fā),只能祝你好運, 不要碰上像Nokia,Hp這樣的公司,否則你會很慘的。驅(qū)動程序設(shè)計:軟件開發(fā)周期是很長的,硬件不同,很快。 每個月誕生那么多的新硬件,如何讓他們在Linux上工作起來,這是你的工作。 由于Linux的兼容性很好,如果不是太低層的驅(qū)動,基本C語言就可以搞定,系統(tǒng)架構(gòu)的影響不大, 因為有系統(tǒng)支持,你可能做些許更改就可以在ARM上使用PC的硬件了, 所以做硬件驅(qū)動開發(fā)不像嵌入式,對硬件知識的要求很高。可以從事的方向也很多,如家電啊,特別是如索尼,日立,希捷,富士康這樣的廠子,很稀缺的。
新手自學linux,需要制定詳細的學習路線和學習內(nèi)容,可以按照以下思路學習:第一階段:linux基礎(chǔ)入門Linux基礎(chǔ)入門主要包括: Linux硬件基礎(chǔ)、Linux發(fā)展歷史、Linux系統(tǒng)安裝、xshell連接、xshell優(yōu)化、SSH遠程連接故障問題排查、L inux基礎(chǔ)優(yōu)化、Linux目錄結(jié)構(gòu)知識、Linux文件屬性、Linux通配符、正則表達式、Linux系統(tǒng)權(quán)限等第二階段:linux系統(tǒng)管理進階linux系統(tǒng)管理進階包括:Linux定時任務(wù)、Linux用戶管理、Linux磁盤與文件系統(tǒng)、Linux三劍客之sed命令等。第三階段:Linux Shell基礎(chǔ)Linux Shell基礎(chǔ)包括:Shell編程基礎(chǔ)、Linux三劍客之a(chǎn)wk命令等。第四階段:Linux網(wǎng)絡(luò)基礎(chǔ)第五階段:Linux網(wǎng)絡(luò)服務(wù)Linux網(wǎng)絡(luò)服務(wù)包括:集群實戰(zhàn)架構(gòu)開始及環(huán)境準備、rsync數(shù)據(jù)同步服務(wù)、Linux全網(wǎng)備份項目、nfs網(wǎng)絡(luò)存儲服務(wù)精講、inotify/sersync實時數(shù)據(jù)同步/nfs存儲實時備份項目等。第六階段:Linux重要網(wǎng)絡(luò)服務(wù)Linux重要網(wǎng)絡(luò)服務(wù)包括:http協(xié)議/www服務(wù)基礎(chǔ)、nginx web介紹及基礎(chǔ)實踐、nginx web、lnmp環(huán)境部署/數(shù)據(jù)庫異機遷移/共享數(shù)據(jù)異機遷移到NFS系統(tǒng)、nginx負載均衡、keepalived高可用等。第七階段:Ansible自動化運維與Zabbix監(jiān)控Ansible自動化運維與Zabbix監(jiān)控包括: SSH服務(wù)秘鑰認證、ansible批量自動化管理集群、 zabbix監(jiān)控等。第九階段:大規(guī)模集群高可用服務(wù)(Lvs、Keepalived)第十階段:Java Tomcat服務(wù)及防火墻Iptables第十一階段:MySQL DBA高級應(yīng)用實踐MySQL DBA高級應(yīng)用實踐包括:MySQL數(shù)據(jù)庫入門基礎(chǔ)命令、MySQL數(shù)據(jù)庫進階備份恢復、MySQL數(shù)據(jù)庫深入事務(wù)引擎、MySQL數(shù)據(jù)庫優(yōu)化SQL語句優(yōu)化、MySQL數(shù)據(jù)庫集群主從復制/讀寫分離、MySQL數(shù)據(jù)庫高可用/mha/keepalved等。第十二階段:高性能數(shù)據(jù)庫Redis和Memcached課程第十三階段:Linux大規(guī)模集群架構(gòu)構(gòu)建(200臺)第十四階段:Linux Shell編程企業(yè)案例實戰(zhàn)第十五階段:企業(yè)級代碼發(fā)布上線方案(SVN和Git)第十六階段企業(yè)級Kvm虛擬化與OpenStack云計算第十七階段公有云8大組件構(gòu)建集群實戰(zhàn)第十八階段:Docker技術(shù)企業(yè)應(yīng)用實踐第十九階段:Python自動化入門及進階第二十階段:職業(yè)規(guī)劃與高薪就業(yè)指導Linux學習周期因人而異,如果您有比較好的學習規(guī)劃,每天堅持學習4至5個小時,堅持3至6個月,應(yīng)該可以熟練掌握Linux基本操作,但是,如果只有計劃,沒有實施,那就另當別論了,如果想更深入、更節(jié)省時間的學習Linux操作系統(tǒng),建議報班學習,效果會更加明顯
B站上面有很多Linux入門的一些視頻都可以看一看,推薦你一個https://www.bilibili.com/video/BV1va4y1t7Yb/
C語言基礎(chǔ)要打好,操作系統(tǒng),還有計算機網(wǎng)絡(luò),可以看看linux的書籍,里面的基本都是介紹的了。linux系統(tǒng)比較多,可以下載安裝紅帽子,ubuntu等等,可以自己找找視頻看看。涉及的后面開發(fā)就是嵌入式了,還有操作系統(tǒng)
沒有方向性,就是學習最大的阻礙了。
個人覺得最好先明確一個目標,比如通過Linux部署一個網(wǎng)絡(luò)服務(wù),或者部署一個網(wǎng)站。
自己的學習過程是這樣的,前期通過視頻只學習了自己感興趣的部分。后期遇到需要使用到的時候又反復學習了一下。
自己啃書還是算了,我是先看的視頻了解的差不多了,又買書看了一遍方便加深記憶。
最基本的一些指令,腳本運行指令./*.sh 關(guān)機指令reboot 更新源指令。你可以在網(wǎng)上找到一些教程。或者linux新手建議使用國產(chǎn)的深度系統(tǒng)。對新手友好。。Linux的書籍建議看一看鳥叔的Linux.私房菜。先學會怎么更新源,怎么運行這軟件腳本
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答