-
1 # 技術宅老夏
-
2 # Robot5
這問題說簡單也簡單,說難也難,首先確定精通的等級!
如果只要會用並能完成日常的工作或需要!
其次是專項技術的學習,各種伺服器類軟的安裝使用。
我個人認為最後就是linux的開發,熟悉系統核心,可以開發並解決各種問題。
精通還是涵蓋的面太廣,逼近Linux中包含的東西太多,一般使用的軟體用多了也可以說是精通,維護伺服器時間長了也是精通,開發做的久了也是,任何人做不到全面的精通!
-
3 # 開心loveQQ
精通linux就是要精通linux作業系統原理,比如如何管理CPU,如何管理記憶體,如何管理網路,及其他IO裝置管理,可以開發裝置驅動程式,可以開發應用程式,可以定製核心,可以隨意裁剪系統。能做到嗎?
-
4 # skywalker18
沒有浸淫過10年,沒做過基於linux的大規模分散式系統,沒有深入效能調優過performance critical的應用,沒有深入調整過核心和網路,沒有碰到過linux的bug,何敢稱精通?
-
5 # shawn25
入門:
會安裝linux ,知道如何登入,新增使用者,修改密碼,重啟,關機。知道如何使用bash,熟悉基本命令如ls cd 。會安裝軟體,會用apt yum 之類的包管理軟體。
熟練 :
知道大多數linux目錄的用途,理解linux許可權的概念,熟練使用bash,熟練使用vim,熟練使用ssh,理解linux服務,可以調整linux各種設定。熟練使用mount掛載裝置,熟練實用crontab.
掌握:
熟悉大多數linux命令,並且會部署各種服務環境。會編寫bash指令碼,會安裝裝置驅動。會做raid,會最佳化cpu 記憶體,虛擬記憶體,會最佳化TCP效能。自己編譯各種軟體,會解決軟體相互依賴和衝突。熟練檢視日誌,操作記錄。知道各個發行版之間的差異。
精通:
能透過原始碼自己編譯linux.
大神級:
向linus提交程式碼,並被linus合併到下一個版本的核心升級中。
-
6 # 安界
我覺得學Linux的2個核心: 一個是命令; 另一個是shell, 而shell的核心則是正則。 我個人認為精通的標準有一條標準: 你能從網路上下載 kernel程式碼, 然後一步步給它加功能(XWindow)讓它成為屬於自己的獨一無二的作業系統。
-
7 # IT知識梳理
學習計算機知識,我個人認為學的是原理,學的是方法。所為精通,就是掌握原理,掌握使用的方法。原理通了,方法操作熟練了,個人認為就是精通。最忌背誦記憶,計算機最好的學習姿勢就是理論基礎上加強實踐,再回頭看理論,再實踐的過程,迴圈往復,可精通之。個人淺見。
-
8 # 技術簡說
1、至少安裝過不下10種linux發行版,瞭解各個發行版的特性和差異。
2、多年的linux作業系統使用經驗
使用linux可以讓你對linux的機制有一些外在的感覺
3、至少3年linux環境程式設計經驗
linux環境程式設計,可以讓你對linux的實現機制有了解。你就可以知道在linux系統上該怎麼玩,怎麼樣去實現自己的業務目的。
4、定製過linux核心和檔案系統
這樣的經歷可以讓你對linux核心的執行機制有更深刻的瞭解。你可以瞭解核心和檔案系統的界限是什麼?聯絡點是什麼?如何從核心態轉入應用態。
5、瞭解linux核心
linux環境程式設計告訴你怎麼做,讓你一步一步的呼叫函式來完成目標。
但是如果你想知道為什麼這麼做,或者說底層是怎麼做的?你就需要深入核心了,推薦下面這本核心學習的入門書籍,這本書很通俗的講解了linux核心的設計與實現。我透過這本書大粒度的瞭解了linux底層的實現機制。
6、深入linux核心
瞭解linux核心的基本運作原理對上層開發人員是夠了,但是如果要成為一個linux精通者遠遠不夠,我的做法是閱讀原始碼,但是linux的原始碼太多了,我選擇了趙炯的linux0.11的核心去對照學些,這樣對linux核心的細節有了很深的瞭解。
7、開發驅動
驅動開發會用到很多linux核心相關的機制,比如自旋鎖、訊號量、硬體中斷、軟中斷、執行緒、工作佇列、時鐘、DMA等。這些可以進一步加深對linux核心的理解。我開發過的驅動過包括,watchdog,gpio,lcd,串列埠,虛擬串列埠、網絡卡,pci/pcie,usb等。
8、從核心層面思考問題
現在我的一個習慣就是碰到問題,會從核心角度去思考,會從上層思考到核心層面是如何設計的、為什麼這樣設計。如果想不通,會自己閱讀核心原始碼找答案。
以上就是我的經歷,這個程度,算不算精通linux呢?
其實我是心虛的,因為linux核心博大精深,很多人窮其一生也只是研究了一個小模組。
在這樣的巨無霸面前,我們要學習和深究的地方還很多,慚愧呀慚愧!
-
9 # lehoon
底層核心剪裁,驅動程式編寫,網路通訊開發,從tcp,udp,到dpdk,應用層的qt,gtk開發。系統運維、調優就需要了解作業系統體系知識,工具類語言awk,sed,shell,python. 常見問題的debug,網路應用資料抓包。 系統安全加固相關知識更需要系統化得知識積累。
-
10 # ZER0S
能在命令列模式無障礙的應用於工作環境生產環境,熟悉檔案結構,能寫shell,小改並編譯過核心,製作過屬於自己的發行版 ... 感覺也只能算是入門不久的熟練使用吧?因為覺得Linux是在是太多東西可以研究了...根本看不過來...
回覆列表
如下:
1.掌握至少50個以上的常用命令。2.熟悉Gnome/KDE等X-windows桌面環境操作。
3.掌握.tgz、.rpm等軟體包的常用安裝方法。
4.學習新增外設,安裝裝置驅動程式(比如網絡卡)。
5.熟悉Grub/Lilo引導器及簡單的修復操作。
6.熟悉Linux檔案系統和目錄結構。
7.掌握vi,gcc,gdb等常用編輯器,編譯器,偵錯程式。
8.理解shell別名、管道、I/O重定向、輸入和輸出以及shell指令碼程式設計。
9.學習Linux環境下的組網。
10. 學習Linux環境下的叢集/核心。
這只是針對Linux,學好的定義請樓主自行判斷。我來說一下我的理解(學好linux的理解)
1. 掌握常用命令(包括grep、awk、sed、ps、find等等吧,熟練使用,基礎的選項不用man)
2. 第二項不解釋
3. 毫無壓力的安裝tgz,deb以及rpm包,這是基礎,學好的話理解rpm或是deb包的原理,不是很難的事情
4. 裝驅動,同上一條,主要也就是解決問題吧
5. 這個在你先裝了linux,後來又裝windows的時候就會遇到。瞭解下grub的程式碼,也還好,網上講解的比較多
6. 熟悉檔案系統和目錄結構,知道每個目錄都是幹嘛的。最好順帶了解下vfs,ext3檔案系統等等,檔案系統不屬於核心
7. 不解釋,基礎工具,vim的話熟練使用,不用滑鼠,知道高階技巧,別一味的想著配vimrc,沒意思
8. shell指令碼吧,學吧。最好再學個python或是perl
9. 組網,網路的知識,比如神馬netstat、route,ping等等,要是能在深入下了解socket程式設計最好
10. 核心,終極學習,無窮無盡。學好就是意味著你能對每一種driver熟悉,大概看看其他driver就知道思路。