淺談如何學習linux

一.為什么要學linux?

當然最重要是愛好和興趣!如果你這種必要學,或者根本不喜歡,請不要浪費時間,你學也學不好!

二.起步

你應該為自己創造一個學習linux的環境--在電腦上裝一個linux或unix
問題1:版本的選擇

北美用redhat,歐洲用SuSE,桌面mandrake較多,而debian是技術最先進的linux
開發人員中用debian的最多,其次是redhat,從全球linux各應用領域市場份額來看
無疑redhat是最多的,此外還有很多出名的發行版本,不再列舉。
對于初學linux的人來說,我建議是使用redhat,原因如下:
1)現在很多書都是以redhat為例講的,為了與書本協調一致
2)周圍的人都用redhat,交流比較方便
3)redhat應用范圍廣,有典型性和代表性
4)它易于使用和安裝,我們沒有必要把時間浪費在“裝系統”上
而應集中精力學習最有用的東西。

//注:現在覺得RH很死板,AS,ES等用在服務器上或許不錯,
Personal desktop用mandrake,debian,suse都不錯,筆者現在用Mandrake,因為她長得漂亮

如果你并不打算深入學習linux,而是有諸如適應北京市政府辦公平臺遷移到
linux上這種需要,那么中軟,紅旗等中文linux是不錯的選擇

我強烈建議:自己親自動手把linux裝到你的硬盤上,
你必須學會獨立安裝linux系統的技能,對于現在的版本來說,其實跟裝WinXP一樣簡單

從此現在開始,請不要以windows的工作方式來考慮問題,
應該嘗試挖掘linux身上的“天才unix”的氣質。

三.進階
掌握至少50個以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面環境操作
掌握.tgz.rpm.biz等軟件包的常用安裝方法
學習添加外設,安裝設備驅動程序(比如modem)
熟悉Grub/Lilo引導器及簡單的修復操作
熟悉系統固有目錄的名稱及公用
學會用mount命令訪問其他文件系統
了解vi,gcc,gdb等常用編輯器,編譯器,調試器
學習linux環境下的簡單組網

建議:買一本不需要太厚的linux教材,大致可以滿足要求
//現在的書越來越多了,還帶很多圖,我當時可沒這么多書:)

四.高級應用

澄清一些概念:
linux的普通操作與真正的系統管理不能相提并論,后者需要很多知識

我個人認為比較重要幾種linux語言
1.英語
即使你不學linux,我也強烈建議你學好英文[U.S.english]
因為實質上計算機語言就是英文和字符,所謂的多國語言只是外部包裝
你必須能無障礙的閱讀大量的英文技術文檔
在搜索引擎找到的英文網站和網頁中熟練的檢索
最好能有用英文直接交流的能力,
擺脫了這個障礙,你的學習和理解速度就能快很多,你就有機會拉開和別人的差距

2.shell[sed/awk]
shell是命令解釋器,是內核與用戶界面交流通道,shell寫的小腳本有點類似于win下的.bat
但shell比.bat強大的多,shell不只是解釋命令,更是一種編程語言,有時候幾百行的c用shell
幾十行就能代替完成工作,因為shell的工作方式建立在系統已有的眾多應用程序之上
這也是CS中的一個重要思想。
此外,shell可以實現工作自動化,這個概念也比較重要
sed,awk用來處理文本,歷來很常用

3.Perl/PHP
漂亮的腳本, CGI的首選,比ASP好,應用面很廣

4.C/C++
C、C++是linux/unix的核心語言,系統代碼都是C寫的

5.ASM
系統底層及內核,硬件,設備驅動程序,嵌入式開發都需要
//走核心路線的話,才c/c++,asm最重要

6.Java,Python,Tcl,XML

*系統管理篇
在熟悉linux的基礎上還需要掌握至少一種unix
我首推Solaris,其次是FreeBSD
比如運營級系統一般是Solaris+Oracle/DB2之類的
學習apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind
等各種應用服務器的構架及電子商務的應用
熟悉TCP/IP協議族,學習諸如apache+php+proftp+mysql+quota的實現以及大型局域網,分布式集群
等各種企業級應用解決方案
熟悉多用戶管理,數據庫管理,文件系統,邏輯存儲管理,日志分析,備份與災難數據修復
系統補丁,內核升級,以及在此基礎上的防火墻構架等以保障系統安全在內的各種系統管理技能

我覺得,如果在此基礎上再掌握路由/交換設備便是一個不錯的系統管理員??

各種基于linux的解決方案可參考相關書籍和文獻,必要時用google或各大linux站點站內
搜索引擎尋找最新文檔,以避免錯誤和漏洞
有幾本技術大全和技術內幕我認為都是這方面不錯的書

*深入學習linux

我個人理解的讀linux內核需要的基礎:
在此之前,希望先把應用層的東西學一下,那樣會比較好理解
1.C
如果學過潭浩強的大學教科書(除了編幾個數學模型好像什么也做不了的那種),
建議再看一下
《The C Programming Language》Second Edition這本圣經
/*如果想學緩沖區溢出,這點C的功力可能是不夠的*/
還有,<C陷阱與缺陷>,<C專家編程>,<C/C++深層探索>
反正經典書看多了是沒有壞處的

2.asm (AT&T語法,保護模式)
保護模式下的比較復雜,基本上每本講內核的書都會有介紹
有80x86 Intel語法的基礎就行,
有興趣可以看看Intel的官方****

3.數據結構(離散數學)
計算機專業的核心課程,重要性我就不說了

4.操作系統原理
看懂這個再去讀linux吧

5.微機原理/組成原理(數字電路)
底層直接和硬件打交道,所以這個也要

6.了解linux/unix
我想至少你要會操作吧,了解unix的API

7.軟件工程/編譯原理

這方面的經典書去www.china-pub.com可以搜到很多
我覺得APUE這種書不適合初學者,還是先看看UPE之類的吧

APUE:
《advanced programming in the unix environment》
《unix環境高級編程》
作者:W.Richard.Stevens共有6本經典書,尊為“圣經”
他的書為全世界黑客所拜讀!

UPE:《unix programming environment》
《unix編程環境》比較適合初學者的,深入淺出,
其中有一些比較重要的思想
另外,介紹linux下應用層編程的書也有很多,比如
<GNU/Linux編程指南>,redhat,redflag出的書...........
經典書還有很多很多......
操作系統:設計與實現 //交大的考研參考書目,講Minix的
unix操作系統設計
4.4BSD操作系統設計與實現
昂萊氏unix源代碼分析
ulk:understanding the linux kernel (2nd)深入理解linux內核
linux設備驅動程序 (2nd)
linux內核源代碼情景分析
保護方式下的80386及其編程(次書已絕版,只有超星的電子版,如果誰能搞到紙書,清一定告訴我一下,非常感激!!!)

在這里你能明白"黑客"及"haching"一詞所代表的真正意義
希望我寫的這篇文章能造就更多的黑客,而不是駭客

五.一些資源 www.linuxforum.net //國內最高水平GNU站點www.chinaunix.net //unix、系統管理的不錯www.linuxeden.com //下載軟件不錯www.linuxaid.com.cnwww.linuxsir.org

其實還有很多,包括國外的


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453725.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453725.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453725.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python的datetime函數_Python連載8-datetime包函數介紹

一、datetime包(上接連載7內容)1.函數&#xff1a;datetime(1)用法&#xff1a;輸入一個日期&#xff0c;來返回一個datetime類?(2)格式&#xff1a;datetime.datetime(年&#xff0c;月&#xff0c;日&#xff0c;hour&#xff0c;minute&#xff0c;second)其中hour,minute,…

深度學習之 soft-NMS

論文&#xff1a;《Improving Object DetectionWith One Line of Code》soft-NMS 英文論文鏈接&#xff1a;https://arxiv.org/pdf/1704.04503.pdfsoft-NMS github 鏈接&#xff1a;https://github.com/bharatsingh430/soft-nms 絕大部分目標檢測方法&#xff0c;最后都要用到…

項目微管理 - 總結也是新的開始

時間都去哪了&#xff1f;聽著這首耳熟能詳的旋律&#xff0c;感嘆著飛速流逝的年華&#xff0c;我漸漸的陷入到沉思之中。時間過的真的很快&#xff0c;從一名程序員到接手一個一線項目團隊一晃已經2年多了。在這段時間里&#xff0c;我接觸了各種各樣的人&#xff0c;處理了各…

一維二維_Excel二維數據轉一維,2種方法輕松搞定

今天是2020年1月1日&#xff0c;祝各位小伙伴們新年快樂&#xff0c;開心每一天~如下所示&#xff0c;左邊是二維交叉數據表&#xff0c;我們希望快速轉換成右邊的一維數據表如果復制粘貼&#xff0c;效率太低了&#xff0c;今天分享兩種方法&#xff0c;實現快速轉換1、powerq…

數百種 Windows 軟件的免費替代品列表

程序所執行任務的描述WindowsLinux1) 網絡連接網頁瀏覽器微軟 IE&#xff0c;網景 Netscape / Mozilla&#xff0c; Opera [私有]&#xff0c;Firebird&#xff0c;……1) Netscape/Mozilla 2) Galeon. 3) Konqueror. 4) Opera.[私有] 5) Firebird. 6) Nautilus 7) Epiphany 8)…

深度學習之 Cascade R-CNN

Zhaowei Cai, Nuno Vasconcelos. 《Cascade R-CNN: Delving into High Quality Object Detection》. CVPR 2018.論文鏈接&#xff1a;https://arxiv.org/abs/1712.00726代碼鏈接&#xff1a;https://github.com/zhaoweicai/cascade-rcnn 前言 IOU閾值被用來定義正負例&#x…

轉換文檔參數_明明2秒可以搞定Word、Excel相互轉換,你卻用了半小時!真虧了...

我們在用office三件套工作的時候&#xff0c;經常都需要對文件的格式進行轉換&#xff0c;像是Word文檔和Excel表格的轉換&#xff0c;很多小伙伴都要花上半個小時甚至以上的時間才能搞定&#xff0c;效率實在不行。別擔心&#xff0c;今天小編將分享能快速完成Word、Excel轉換…

深度學習之 DCN(Deformable Convolution)-可變形卷積

Paper link: http://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Deformable_Convolutional_Networks_ICCV_2017_paper.pdfhttps://arxiv.org/pdf/1703.06211 Code link: https://github.com/msracver/Deformable-ConvNets Abstract 如何有效地對幾何圖形的變化進行…

軟件開發 項目進展 軟件架構 指南

軟件開發&#xff0c;標準化流水線式開發的實施構想 軟件開發&#xff0c;標準化流水線式開發的實施構想 近日看到一篇博文&#xff0c;討論標準化流水線開發模式的話題&#xff0c;但是這篇博文僅僅提出這個問題&#xff0c;未見回應。 這其實是一個很大的問題&#xff0c;我…

linux 下php多版本安裝

php-multi-version ubuntu apt-get 安裝php5.6 添加軟件源sudo add-apt-repository ppa:ondrej/php sudo apt-get updatesudo apt-get install php5.6sudo apt-get install php5sudo apt-get install php7 /usr/local/bin 與/usr/bin echo $PATH/usr/local/sbin:/usr/local/bin…

c++ 舞伴配對問題_挑戰新物體描述問題,視覺詞表解決方案超越人類表現

編者按&#xff1a;最近&#xff0c;研究者們發布了 nocaps 挑戰&#xff0c;用以測量在沒有對應的訓練數據的情況下&#xff0c;模型能否準確描述測試圖像中新出現的各種類別的物體。針對挑戰中的問題&#xff0c;微軟 Azure 認知服務團隊和微軟研究院的研究員提出了全新解決方…

深度學習之雙線性插值(Bilinear interpolation)

1. 什么是插值 Interpolation is a method of constructing new data points within the range of a discrete set of known data points. Image interpolation refers to the“guess”of intensity values at missing locations. 圖片放大是圖像處理中的一個特別基礎的操作。…

div table 超出了_div包裹的table,table的寬度超出了的寬度,出現的滾動條的在windows下無法拖動...

1.父級div是否設置了寬度&#xff0c;只有設置了寬度且滾動條在div內才是你想要控制的滾動2.僅憑你說的這些屬性不知道滾動條怎么不能動&#xff0c;可以貼一下代碼&#xff1f;3.橫向需要滾動條的話必須設置table的確定寬度做了一個demo:.table{table-layout:fixed; width:…

第二階段站立會議7

昨天&#xff1a;美化頁面 今天&#xff1a;進行項目上傳 問題&#xff1a;阿里云服務器上的mysql出現連接問題轉載于:https://www.cnblogs.com/sdysyhj/p/8301489.html

深度學習之 OHEM (Online Hard Example Mining)

論文 《Training Region-based Object Detectors with Online Hard Example Mining》鏈接 https://arxiv.org/pdf/1604.03540.pdf Astract 摘要主要講了四點&#xff1a; (1) 訓練過程需要進行參數的空間搜索(2) 簡單樣本與難分辨樣本之間的類別不平衡是亟需解決的問題(3) 自…

音視頻 詳解

avi文件格式詳解 AVI是音頻視頻交錯(Audio Video Interleaved)的英文縮寫&#xff0c;它是Microsoft公司開發的一種符合RIFF文件規范的數字音頻與視頻文件格式&#xff0c;原先用于Microsoft Video for Windows (簡稱VFW)環境&#xff0c;現在已被Windows 95/98、OS/2等多數操…

c6011取消對null指針的引用_C++| 函數的指針參數如何傳遞內存?

函數的參數是一個一級指針&#xff0c;可以傳遞內存嗎&#xff1f;如果函數的參數是一個一級指針&#xff0c;不要指望用該指針去申請動態內存。看下面的實例&#xff1a;#include using namespace std;void GetMemory(char *p, int num){p (char *)malloc(sizeof(char) * num…

Servlet執行時要實現的方法

Servlet執行時要實現的方法 public void init(ServletConfig config) public ServletConfig getServletConfig() public String getServletInfo() public void service(ServletRequest request,ServletResponse response) public void destroy() 本文轉自sucre03 5…

axios 設置攔截器 全局設置帶默認參數(發送 token 等)

應用場景&#xff1a;1&#xff0c;每個請求都帶上的參數&#xff0c;比如token&#xff0c;時間戳等。2&#xff0c;對返回的狀態進行判斷&#xff0c;比如token是否過期代碼如下&#xff1a;[javascript] view plain copyaxios.interceptors.request.use( config &g…

深度學習目標檢測之 YOLO v2

論文名&#xff1a;《YOLO9000: Better, Faster, Stronger》原文&#xff1a;https://arxiv.org/pdf/1612.08242v1.pdf代碼&#xff1a;http://pjreddie.com/darknet/yolo/ YOLO v2 斬獲了CVPR 2017 Best Paper Honorable Mention。在這篇文章中&#xff0c;作者首先在YOLOv1的…