天天看點

系統學習Linux的12點建議

注:本文為轉載,非本人原創;原文出處:http://bbs.51cto.com/viewthread.php?tid=14007&fpage=1&highlight=%D0%C2%CA%D6%2BLINUX]http://bbs.51cto.com/viewthread.php?tid=14007&fpage=1&highlight=%D0%C2%CA%D6%2BLINUX

原創作者 

曹江華 

系統學習Linux11點建議

随着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圖書http://www.oreilly.com.cn/  ”,而且出版社還提供了一個非常好的路線圖:http://www.oreilly.com.cn/guide/guide_linux.php 見圖-1。

四、選擇一個适合你的Linux發行版本

目前全球有超過1百多個Linux發行版本,在國内也能找到十幾個常見版本。如何選擇請根據你的需求和能力,Redhat Linux 和 Debian Linux是網絡管理者的理想選擇。對于英語不是很好的讀者紅旗Linux、中标Linux這些中文版本比較适合。現在一些Linux網站有一些Linux版本的免費下載下傳,這裡要說的是并不适合Linux初學者。

五、 養成在指令行下工作:

一定要養成在指令行下工作的習慣,要知道X-window隻是運作在指令行模式下的一個應用程式。在指令行下學習雖然一開始進度較慢,但是熟悉後,您未來的學習之路将是以指數增加的方式增長的。從網管員來說,指令行實際上就是規則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的數據機線路,它也能操縱幾千公裡以外地遠端系統。

六、 選擇一個适合你的Linux社群;

随着Linux應用的擴充,出現了不少Linux社群。其中有一些非常優秀的社群:www.linuxforum.net(國内最高水準GNU站點)、http://www.chinaunix.net/ (中國最大的Unix技術社群),但是這幾個論壇往往是Linux高手的舞台,如果在探讨進階技巧的論壇張貼非常初級的問題經常會沒有結果。推薦适于初學者的Linux社群:

Linux伊甸園 http://www.linuxeden.com/ ,

中國Linux公社 http://www.linuxfans.org/nuke/index.php 。

七、勤于實踐: 

要增加自己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%的問題同樣可以解決。

九、在Linux論壇擷取幫助

如果上面的措施沒有解決問題,此時你就需要Linux社群的幫助了。Linux的使用者一般都是專業人士,他們有着很好的電腦背景且願意協助他人,Linux高手更具有鼓勵新手的文化精神。如何在Linux社群獲得幫助,需要說明的是你要有周全的思考,準備好你的問題,不要草率的發問,否則隻會得到到草率的回答或者根本得 不到任何答案。越表現出在尋求幫助前為解決問題付出的努力,你越能得到實質性的幫助。最好先搜尋一下論壇是否有您需要的文章。這樣可以獲得事半功倍的效果。

下面筆者在論壇看到的一個好問題:“安裝紅旗4.0 後,系統紫光輸入法自帶的雙拼方案和我的習慣不一樣,如何自定義雙拼方案解決?謝謝?”這個問題很簡練,筆者五分鐘後就給出了解決方法:“首先備份原檔案到其他目錄,然後删掉 /usr/local/unispim/unispimsp.ksc,編輯/usr/local/unispim/unispimsp.ini ,最後重新開機動計算機,生成新的unispimsp.ksc”另外得到回複後如果問題解決,向幫助過你的人發個說明,讓他們知道問題是怎樣解決的,這種補充有助于他人在郵件清單/新聞討論區/論壇中搜尋對你有過幫助的完整解決方案,這可能對他們也很有用。

下面看看一個讓人無法回答的問題:“救命各位高手,向你們請教一些問題:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail伺服器,謝謝” 這樣的問題我想即使Linux高手也很難快速準确精練的回答你。

你需要提供精确有效的資訊。這并不是要求你簡單的把成噸的出錯代碼或者資料完全轉儲摘錄到你的提問中。如果你有龐大而複雜的測試條件,盡量把它剪裁得越小越好。可能你會遇到這種情況,對于一個問題會出現不同内容回答,這時你需要通過實踐來驗證。另外把這個問題放在其他Linux社群請求幫助也是一種選擇。如果得不到答案,請不要以為我們覺得無法幫助你。有時隻是看到你問題的人不知道答案罷了。這時換一個社群是不錯的選擇。

另外發問的時候一定要注意到某些禮節。因為Linux社群是一個松散的組織、也不承擔回複每個文章的義務。它不是技術支援。

十.用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等常用編輯器,編譯器,調試器 。

8. 了解shell别名、管道、I/O重定向、輸入和輸出以及shell腳本程式設計。

9. 學習Linux環境下的組網。 

以上是筆者學習Linux一些經驗,希望對你有些幫助。

繼續閱讀