新手學習Linux系統的一點見解

        最近這幾天,我開始學習Linux,由於在網上很那找到喜歡的書學習,只能去書店買了本書,同時今天在http://blog.chinaunix.net/u/29515/showart_317307.html看到了前輩的介紹,所以我也想和大家分享一些 Linux 學習方法。 
 
一、從基礎開始:常常有些朋友在Linux論壇問一些問題,不過,其中大多數的問題都是很基礎的。例如:爲什麼我使用一個命令的時候,系統告訴我找不到該目錄,我要如何限制使用者的權限等問題,這些問題其實都不是很難的,只要瞭解了 Linux 的基礎之後,應該就可以很輕易的解決掉這方面的問題。而有些朋友們常常一接觸Linux 就是希望構架網站,根本沒有想到要先了解一下Linux 的基礎。這是相當困難的。這個我覺得很對,由於我面對別人問JAVA或者.NET的基礎問題都有類似的感覺。所以要多自己研究。
 
二、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
 
四、選擇一個適合你的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高手的舞臺,如果在探討高級技巧的論壇張貼非常初級的問題經常會沒有結果。還有一些非常豐富的學習資料及社區的綜合站點,如:www.xxlinux.com學習文章和資料非常的充足,也有社區供大家交流.初學這可以得到很大的幫助。
 
七、勤於實踐: 要增加自己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環境下的組網。

0

收藏

jackieban

27篇文章,4W+人氣,0粉絲

Ctrl+Enter 發佈

發佈

取消

掃一掃,領取大禮包

0

分享
jackieban
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章