我使用Linux(Ubuntu)的時間不長,卻一直在堅持使用,下定決心學習Linux的技術。雖然有時候用在某些方面的開發還是windows上面方便一些,我還是堅持使用Linux來解決問題,因為我想徹底放棄Windows而把Linux學好。
現在擺在我面前的一個問題是如何成為符合企業需求的Linux人才?
是精通Linux下的那一大堆的命令(or Shell指令碼編程)嗎?
還是能夠修改Linux核心的一些東西?
還是能夠熟練地用Linux部署企業的應用?
還是能夠高效地在Linux開台下進行軟體開發(Java,Php,ROR)?
...........
...........
我不知道,或者是說應該走一條什麼樣的路線才能達到題目所說的層級?
目前會Linux的人不少,但是精通的不多(這句話是從哪裡看到的,忘記了,我也感覺是這樣),而我想要達到的是做一個符合企業需求的Linux人才!
誠心請教,希望大家解開我心中的迷惘。
-----------更新分割線----------
非常感覺回貼的朋友們,從你們的文字中,我得到了非常多的寶貴意見,我心裏面有了一個明確的目標,我會做好我想做的事情。
再次感謝你們的協助,同時也希望有和我一樣想法的朋友,把樓下朋友們的回貼認真看完,相信你們會有收穫的。
===========================================================================
以下為部分網友回帖:
我玩了10年的Shell編程,還不敢說自己精通Shell。別說其他的,你能把shell真正搞通,已經比大部分拿1萬以上月薪的system admin強了。
-------------
從你的話,我得出
1.Shell博大精深.
2.僅Shell這一點在企業中就非常重要.
3.要學習的東西還有很多很多.
那麼請問我應該如何在這條路上(Linux)不斷成長,不斷提高自己呢?感覺方面不明朗啊.
-------------
Linux作業系統主要就是一些設定檔和一些命令列工具,要掌握作業系統的主要目錄結構和設定檔,運用系統的命令列工具完成常規的作業系統維護工作,監控工作。進而你可以安裝部署一些公司專屬應用程式,進行監控、管理等等。
把/etc目錄下面常用的配置你都搞懂,把 /bin /sbin /usr/bin /usr/sbin下面常用的命令搞懂 會用shell編寫常規的維護指令碼
這樣你已經非常厲害了。
-------------
qichunren 寫道從你的話,我得出
1.Shell博大精深.
2.僅Shell這一點在企業中就非常重要.
3.要學習的東西還有很多很多.
那麼請問我應該如何在這條路上(Linux)不斷成長,不斷提高自己呢?感覺方面不明朗啊.
來點實際的吧,我覺得linux有兩條明路可以走
1 嵌入式linux,把握好機會,從薪水這個角度講,這個方向是不錯的。
2 linux叢集, 瞄準這個方向也可以,但缺點是不太好學,需要一定的學習環境,只有抓住機會混到大公司去鍛煉下。
至於shell,我覺得搞這個東西更多的是靠經驗,你說沒事拿個shell瞎敲命令,我保證你敲一個星期就沒興趣了。在工作中碰到實際的問題,然後解決問題,這樣學習最有效。
總之想開一點,做出決定之前,請多考慮下自己能堅持學習多少時間。
--------------
Linux是一個好工具, 我也堅持用Linux - Ubuntu. 我們一般講的Linux高手應該就是那種可以代替Linux協助文檔的人.
與其成為這樣的"高手", 不如成為應用Linux為企業解決實際問題的能手.
--------------
linux 命令必須很熟悉,對find.sed,awk必須更熟悉,會正則。
瞭解unix編程,編譯,知道gnu下的很多著名軟體並會用。
example:m4,automake,autoconfig,binutils,gcc,...
能熟練試用vi,熟悉makefile...
可能的話掌握一種xwin開發方式gtk,qt等。
搞明白檔案系統,能掌握50%以上/dev下裝置幹嗎用的,並會用。
能知道/var下都有哪些重要東西。
熟悉/etc下的配置,瞭解常見的服務的配置
example:
squid,apache,natd,named,ftpd,sshd,xinetd
知道啟動的時候unix按哪些順序啟動,並佈建服務
C語言。
知道怎麼安裝軟體
不僅僅是pkg_add,rpm,
知道怎樣監控進程,網路
知道怎麼追蹤core
這些都熟悉了,基本算unix初通了,能做個unix初級使用者
---------------
建議你學習 LVS , 沒有機器環境可以使用VMEARE 。
---------------
makefile 寫道linux 命令必須很熟悉,對find.sed,awk必須更熟悉,會正則。
瞭解unix編程,編譯,知道gnu下的很多著名軟體並會用。
example:m4,automake,autoconfig,binutils,gcc,...
能熟練試用vi,熟悉makefile...
可能的話掌握一種xwin開發方式gtk,qt等。
搞明白檔案系統,能掌握50%以上/dev下裝置幹嗎用的,並會用。
能知道/var下都有哪些重要東西。
熟悉/etc下的配置,瞭解常見的服務的配置
example:
squid,apache,natd,named,ftpd,sshd,xinetd
知道啟動的時候unix按哪些順序啟動,並佈建服務
C語言。
知道怎麼安裝軟體
不僅僅是pkg_add,rpm,
知道怎樣監控進程,網路
知道怎麼追蹤core
這些都熟悉了,基本算unix初通了,能做個unix初級使用者
這些都會了之後,靠的就是解決問題的能力和經驗了吧
怎麼還算初通呢,感覺已經很不初級了
------------------
兩個方向:(1)伺服器;(2)嵌入式。看你的興趣了
------------------
看你想達到什麼層次了,我個人的理解是:
初級:熟練使用命令、熟悉Shell編程、能配置簡單的服務,清楚各類服務相關的設定檔的位置,
能看懂並可修改系統提供的配置指令碼(/etc/*.*)
推薦書籍:
《鳥哥的私房菜基礎篇、進階篇》
《Advanced Bash Shell》
中級:熟悉TCP/IP原理、OS原理、熟練使用C語言、Linux系統編程、網路編程。
推薦書籍:
《The C Programming Language》
《Unix環境進階編程》
《Linux程式設計》
《TCP/IP協議詳解卷一》
《Unix網路進階編程》
進階:
《Linux Device Driver》
《深入理解Linux核心》
《深入理解電腦系統》
《深入理解LINUX網路內幕》
上面這些書單中,是我們公司一個玩Kernel的牛人開出的。
任何知識的學習都不是一蹴而就的,需要反覆實踐,反覆理解。
祝你成功!
-------------------