Linux系統(tǒng)新手學習的11點建議
Linux系統(tǒng)新手學習的11點建議
隨著Linux應用的擴展許多朋友開始接觸Linux,根據學習Windwos的經驗往往有一些茫然的感覺:不知從何處開始學起。這里介紹學習Linux的一些建議。
一、從基礎開始:常常有些朋友在Linux論壇問一些問題,不過,其中大多數的問題都是很基礎的。例如:為什么我使用一個命令的時候,系統(tǒng)告訴我找不到該目錄,我要如何限制使用者的權限等問題,這些問題其實都不是很難的,只要了解了 Linux 的基礎之后,應該就可以很輕易的解決掉這方面的問題。而有些朋友們常常一接觸Linux 就是希望構架網站,根本沒有想到要先了解一下Linux 的基礎。這是相當困難的。
二、Linux命令是必須學習雖然Linux桌面應用發(fā)展很快,但是命令在Linux中依然有很強的生命力。Linux是一個命令行組成的操作系統(tǒng),精髓在命令行,無論圖形界面發(fā)展到什么水平這個原理是不會變的,Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行復雜的多媒體圖象和流媒體文件的制作。舉一個例子: Linux的常用命令find,察看man文檔,初學者一定會覺得太復雜而不原意用,但是你一旦學會就愛不釋手.它的功能實在太強了,在配合exec參數或者通過管道重定向到xargs命令和grep命令,可以完成非常復雜的操作,如果同樣的操作用圖形界面的工具來完成,恐怕要多花十幾陪的時間. 不同版本的Linux命令數量不一樣,這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統(tǒng)中的作用分成幾個部分介紹給大家,通過這些基礎命令的學習我們可以進一步理解Linux系統(tǒng): 安裝和登錄命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh 文件處理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln 系統(tǒng)管理相關命令: 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 系統(tǒng)安全相關命令: 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。
四、選擇一個適合你的Linux發(fā)行版本目前全球有超過1百多個Linux發(fā)行版本,在國內也能找到十幾個常見版本。如何選擇請根據你的需求和能力,Redhat Linux 和Debian Linux是網絡管理員的理想選擇。對于英語不是很好的讀者紅旗Linux、中標Linux這些中文版本比較適合?,F(xiàn)在一些Linux網站有一些 Linux版本的免費下載,這里要說的是并不適合Linux初學者。
五、 養(yǎng)成在命令行下工作:一定要養(yǎng)成在命令行下工作的習慣,要知道X-window只是運行在命令行模式下的一個應用程序。在命令行下學習雖然一開始進度較慢,但是熟悉后,您未來的學習之路將是以指數增加的方式增長的。從網管員來說,命令行實際上就是規(guī)則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的調制解調器線路,它也能操縱幾千公里以外地遠程系統(tǒng)。
六、 選擇一個適合你的Linux社區(qū);隨著Linux應用的擴展,出現(xiàn)了不少Linux社區(qū)。其中有一些非常優(yōu)秀的社區(qū):www.linuxforum.net(國內最高水平GNU站點)、 http://www.chinaunix.net/ (中國最大的Unix技術社區(qū)),但是這幾個論壇往往是Linux高手的舞臺,如果在探討高級技巧的論壇張貼非常初級的問題經常會沒有結果。
七、勤于實踐: 要增加自己Linux 的技能,只有通過實踐來實現(xiàn)了。所以,趕快找一部計算機,趕快安裝一個 Linux 發(fā)行版本,然后進入精彩的Linux世界。相信對于你自己的 Linux 能力必然大有斬獲。此外,人腦不像計算機的硬盤一樣,除非硬盤壞掉了或者是資料被你抹掉了,否則儲存的資料將永遠而且立刻的記憶在硬盤中。在人類記憶的曲線中,你必須要不斷的重復練習才會將一件事情記得比較熟。同樣的,學習 Linux 也一樣,如果你無法經常學習的話,學了后面的,前面的忘了。你對Linux命令熟悉后你可以開始搭建一個小的Linux網絡,這是最好的實踐方法。 Linux是網絡的代名詞,Linux網絡服務功能非常強大,不論是郵件服務器、Web服務器、DNS服務器等都非常完善。當然你不需搭建所有服務,可以慢慢來。需要說明的是這個Linux網絡對于初學者有兩三臺計算機即可,其中一臺計算機最好安裝Windows系統(tǒng)。自己多動手,不要非要等著別人幫你解決問題。
八、 如何得到聯(lián)機幫助 和私有操作系統(tǒng)不同,各個Linux的發(fā)行版本的技術支持時間都較短,這對于Linux初學者是往往不夠的。其實當你安裝了一個完整的Linux系統(tǒng)后其中已經包含了一個強大的幫助,只是可能你還沒有發(fā)現(xiàn)和使用它們的技巧。
1. 主流Linux發(fā)行版都自帶非常詳細的文檔(包括手冊頁和FAQ),從系統(tǒng)安裝到系統(tǒng)安全,針對不同層次的人的詳盡文檔,仔細閱讀文檔后40%問題都可在此解決。
2. 查閱經典工具書和Howto,特別是Howto是全球數以萬計的Linux、Unix的經驗總結非常有參考價值通常40%的問題同樣可以解決。
九、在Linux論壇獲取幫助如果上面的措施沒有解決問題,此時你就需要Linux社區(qū)的幫助了。Linux的使用者一般都是專業(yè)人士,他們有著很好的電腦背景且愿意協(xié)助他人, Linux高手更具有鼓勵新手的文化精神。如何在Linux社區(qū)獲得幫助,需要說明的是你要有周全的思考,準備好你的問題,不要草率的發(fā)問,否則只會得到到草率的回答或者根本得不到任何答案。越表現(xiàn)出在尋求幫助前為解決問題付出的努力,你越能得到實質性的幫助。最好先搜尋一下論壇是否有您需要的文章。這樣可以獲得事半功倍的效果。 下面筆者在論壇看到的一個好問題:“安裝紅旗4.0 后,系統(tǒng)紫光輸入法自帶的雙拼方案和我的習慣不一樣,如何自定義雙拼方案解決?謝謝?”這個問題很簡練,筆者五分鐘后就給出了解決方法:“首先備份原文件到其他目錄,然后刪掉/usr/local/unispim/unispimsp.ksc,編輯 /usr/local/unispim/unispimsp.ini ,最后重啟動計算機,生成新的unispimsp.ksc”另外得到回復后如果問題解決,向幫助過你的人發(fā)個說明,讓他們知道問題是怎樣解決的,這種補充有助于他人在郵件列表/新聞組/論壇中搜索
對你有過幫助的完整解決方案,這可能對他們也很有用。下面看看一個讓人無法回答的問題:“救命各位高手,向你們請教一些問題:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、 Sendmail服務器,謝謝” 這樣的問題我想即使Linux高手也很難快速準確精練的回答你。你需要提供精確有效的信息。這并不是要求你簡單的把成噸的出錯代碼或者數據完全轉儲摘錄到你的提問中。如果你有龐大而復雜的測試條件,盡量把它剪裁得越小越好??赡苣銜龅竭@種情況,對于一個問題會出現(xiàn)不同內容回答,這時你需要通過實踐來驗證。另外把這個問題放在其他Linux社區(qū)請求幫助也是一種選擇。如果得不到答案,請不要以為我們覺得無法幫助你。有時只是看到你問題的人不知道答案罷了。這時換一個社區(qū)是不錯的選擇。另外發(fā)問的時候一定要注意到某些禮節(jié)。因為Linux社區(qū)是一個松散的組織、也不承擔回復每個帖子的義務。它不是技術支持。
十.用Unix思維學習Linux Linux是參照Uni思想設計的,理解掌握Linux必須按照Unix思維來進行。思想性的轉變比暫時性的技術提高更有用,因為他能幫助你加快學習速度。
十一.學習專業(yè)英文如果你想深入學習Linux,看不懂因為文檔實在是太難了。寫的最好的,最全面的文檔都是英語寫的,最先發(fā)布的技術信息也都是用英語寫的。即便是非英語國家的人發(fā)布技術文檔,也都首先翻譯成英語在國際學術雜志和網絡上發(fā)表。安裝一個新的軟件時先看README,再看INSTALL然后看FAQ,最后才動手安裝,這樣遇到問題就知道為什么。如果說明文檔不看,結果出了問題再去論壇來找答案反而浪費時間。 11.最后是Linux學習的路線圖:
1. 掌握至少50個以上的常用命令。
2. 熟悉Gnome/KDE等X-windows桌面環(huán)境操作 。
3. 掌握.tgz、.rpm等軟件包的常用安裝方法
4. 學習添加外設,安裝設備驅動程序(比如網卡)
5. 熟悉Grub/Lilo引導器及簡單的修復操作 。
6. 熟悉Linux文件系統(tǒng) 和目錄結構。
7. 掌握vi,gcc,gdb等常用編輯器,編譯器,調試器 。
8. 理解shell別名、管道、I/O重定向、輸入和輸出以及shell腳本編程。
9. 學習Linux環(huán)境下的組網。
以上是筆者學習Linux一些經驗,希望對你有些幫助。