隨著linux應用的擴充套件許多朋友開始接觸linux,根據學習windwos的經驗往往有一些茫然的感覺:不知從何處開始學起。這裡介紹學習linux的一些建議。
一、從基礎開始:常常有些朋友在linux論壇問一些問題,不過,其中大多數的問題都是很基礎的。例如:為什麼我使用乙個命令的時候,系統告訴我找不到該目錄,我要如何限制使用者的許可權等問題,這些問題其實都不是很難的,只要了解了 linux 的基礎之後,應該就可以很輕易的解決掉這方面的問題。而有些朋友們常常一接觸linux 就是希望構架**,根本沒有想到要先了解一下linux 的基礎。這是相當困難的。
二、linux命令是必須學習的:雖然linux桌面應用發展很快,但是命令在linux中依然有很強的生命力。linux是乙個命令列組成的作業系統,精髓在命令列,無論圖形介面發展到什麼水平這個原理是不會變的,linux命令有許多強大的功能:從簡單的磁碟操作、檔案訪問、到進行複雜的多**圖象和流**檔案的製作。舉乙個例子:linux的常用命令find,察看man文件,初學者一定會覺得太複雜而不原意用,但是你一旦學會就愛不釋手.它的功能實在太強了,在配合exec引數或者通過管道重定向到xargs命令和grep命令,可以完成非常複雜的操作,如果同樣的操作用圖形介面的工具來完成,恐怕要多花十幾陪的時間. 不同版本的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的書籍有很多不過精品的不多,筆者強烈建議閱讀影印本的「o'reilly原版linux圖書 」,而且出版社還提供了乙個非常好的路線圖:guide/guide_linux.php。
五、養成在命令列下工作:一定要養成在命令列下工作的習慣,要知道x-window只是執行在命令列模式下的乙個應用程式。在命令列下學習雖然一開始進度較慢,但是熟悉後,您未來的學習之路將是以指數增加的方式增長的。從網管員來說,命令列實際上就是規則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的數據機線路,它也能操縱幾千公里以外地遠端系統。
六、選擇乙個適合你的linux社群:隨著linux應用的擴充套件,出現了不少linux社群。其中有一些非常優秀的社群:www.linuxforum.net(國內最高水平gnu站點)、 (中國最大的unix技術社群),但是這幾個論壇往往是linux高手的舞台,如果在**高階技巧的論壇張貼非常初級的問題經常會沒有結果。
七、勤於實踐:要增加自己linux 的技能,只有通過實踐來實現了。所以,趕快找一部計算機,趕快安裝乙個 linux 發行版本,然後進入精彩的linux世界。相信對於你自己的 linux 能力必然大有斬獲。此外,人腦不像計算機的硬碟一樣,除非硬碟壞掉了或者是資料被你抹掉了,否則儲存的資料將永遠而且立刻的記憶在硬碟中。在人類記憶的曲線中,你必須要不斷的重複練習才會將一件事情記得比較熟。同樣的,學習 linux 也一樣,如果你無法經常學習的話,學了後面的,前面的忘了。你對linux命令熟悉後你可以開始搭建乙個小的linux網路,這是最好的實踐方法。linux是網路的代名詞,linux網路服務功能非常強大,不論是郵件伺服器、web伺服器、dns伺服器等都非常完善。當然你不需搭建所有服務,可以慢慢來。需要說明的是這個linux網路對於初學者有兩三颱計算機即可,其中一台計算機最好安裝windows系統。自己多動手,不要非要等著別人幫你解決問題。
八、如何得到聯機幫助:和私有作業系統不同,各個linux的發行版本的技術支援時間都較短,這對於linux初學者是往往不夠的。其實當你安裝了乙個完整的linux系統後其中已經包含了乙個強大的幫助,只是可能你還沒有發現和使用它們的技巧。
1. 主流linux發行版都自帶非常詳細的文件(包括手冊頁和faq),從系統安裝到系統安全,針對不同層次的人的詳盡文件,仔細閱讀文件後40%問題都可在此解決。
2. 查閱經典工具書和howto,特別是howto是全球數以萬計的linux、unix的經驗總結非常有參考價值通常40%的問題同樣可以解決。
十、用unix思維學習linux:linux
是參照unix思想設計的,理解掌握linux必須按照unix思維來進行。思想性的轉變比暫時性的技術提高更有用,因為他能幫助你加快學習速度。
十
一、學習專業英文:如果你想深入學習linux,看不懂因為文件實在是太難了。寫的最好的,最全面的文件都是英語寫的,最先發布的技術資訊也都是用英語寫的。即便是非英語國家的人發布技術文件,也都首先翻譯成英語在國際學術雜誌和網路上發表。安裝乙個新的軟體時先看readme,再看install然後看faq,最後才動手安裝,這樣遇到問題就知道為什麼。如果說明文件不看,結果出了問題再去論壇來找答案反而浪費時間。
十
二、最後是linux學習的路線圖:
1. 掌握至少50個以上的常用命令。
2. 熟悉gnome/kde等x-windows桌面環境操作 。
3. 掌握.tgz、.rpm等軟體包的常用安裝方法
4. 學習新增外設,安裝裝置驅動程式(比如網絡卡)
5. 熟悉grub/lilo引導器及簡單的修復操作 。
6. 熟悉linux檔案系統和目錄結構。
7. 掌握vi,gcc,gdb等常用編輯器,編譯器,偵錯程式。linux下程式設計,主要是選用乙個文字編輯工具(如vi eclipse nano gedit等)編寫,再用gcc編譯鏈結,最後用gdb除錯。
8. 理解shell別名、管道、i/o重定向、輸入和輸出以及shell指令碼程式設計。
9. 學習linux環境下的組網。
十
三、深入學習linux的大致方向
1.檔案系統:linux的相關的系統設定,各種linux環境下的軟體的使用與除錯。這類知識是基礎,但並不簡單,學好了,絕對可以當講師的。
2.網路服務:linux這種類unix的作業系統其另乙個作用域是網路伺服器。linux本身自帶幾乎所有網路上的用得到的服務,可以充當任何網路伺服器,比如dns、dhcp、ftp、nfs、proxy等等。而且其特點是,所有這些服務的配置與設定都可以通過文字形式的配置檔案進行配置。所以學好linux下網路服務的配置與使用,完全可以當cio(首席資訊官)了,因為已經具備linux網路工程師的能力了。
3.軟體設計:linux是開源的大環境,也是較原始的編成環境,其下的c/c++、php等都是比windows下更純語言。但linux下高階的開發環境較少,不像vc等工具好使,所以linux下的軟體工程師要具備的知識更多。要是學好了linux下的軟體設計,也算編成是高手了。
linux這三大塊知識的學習不相互影響,但也有相互依賴和促進的作用,想深入某乙個領域,不見得要其它領域都掌握,但建議也對其它領域也有所涉及,會有事半功倍的效果。
十
四、學習嵌入式linux的三個方向
1、嵌入式linux應用軟體開發
2、linux核心的剪裁和移植
3、嵌入式linux底層驅動的開發
無論選擇哪一方向,基本的linux的知識是需要具備的,其他還需要掌握的知識有arm(最常用的一款嵌入式處理器)和c語言程式設計,每一方面知識的掌握熟練程度都最終決定了個人進行嵌入式linux開發的綜合能力。
怎樣才能學好linux
隨著linux應用的擴充套件許多朋友開始接觸linux,根據學習windwos的經驗往往有一些茫然的感覺 不知從何處開始學起。這裡介紹學習linux的一些建議。一 從基礎開始 常常有些朋友在linux論壇問一些問題,不過,其中大多數的問題都是很基礎的。例如 為什麼我使用乙個命令的時候,系統告訴我找不...
怎樣才能學好程式設計
本科四年,在碌碌無為中度過,不管是在誰的眼中,本科四年,渾渾噩噩就這麼走過,一路走來,想象自己到底學到了什麼,c語言就學會個printf,scanf語句,到了研究生,別人問,一涉及到自己的水平心就發虛,發現自己最大的缺點還是缺乏self confidence,從小就形成的壞毛病,怪不得自己屢戰屢敗,...
怎樣才能學好web前端
怎樣才能學好web前端,學習前端就好比如蓋房子 html就充當了房子結構這部分,也是房子的基礎。css呢,就好比咱們房子的裝修,牆面什麼顏色,什麼風格,什麼地板 這些給房子改變風格,樣式的,不管是web前端技術還是其他it技術也好,其實都是從零基礎開始的,你可以直接學習或者是通過相近經歷轉行。所以新...