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