『壹』 怎麼學習linux
學習Linux有兩種方式:一種是參加培訓;另一種是自學。
Linux培訓學習周期為五個月,從0基礎開始教學,無論有沒有基礎,只要跟著老師堅持學下去,畢業後可以找到非常不錯的工作;自學的話,學習周期較長,對基礎和學習能力有要求,並且需要有合適的學習資料,否則很難掌握。
以下是Linux學習路線:
對於Linux的學習,可以分為四個階段,Linux初級入門階段→Linux中級進階→Linux高級進階→Linux資深方向細化階段
第一階段:初級階段
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
1. Linux基礎知識、基本命令;
2. Linux用戶及許可權基礎;
3. Linux系統進程管理進階;
4. linux高效文本、文件處理命令;
5. shell腳本入門
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1. TCP/IP網路基礎;
2. Linux企業常用服務;
3. Linux企業級安全原理和防範技巧;
4. 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎;
5. iptables安全策略構建;
6. shell腳本進階;
7. MySQL應用原理及管理入門
第三階段:Linux高級進階
1. http服務代理緩存加速;
2. 企業級負載集群;
3. 企業級高可用集群;
4. 運維監控zabbix詳解;
5. 運維自動化學習;
第四階段:Linux資深方向細化
1. 大數據方向;
2. 雲計算方向;
3. 運維開發;
4. 自動化運維;
5. 運維架構師
『貳』 求linux下shell的編寫書籍
Linux教程 Shell精華文章
http://www.linuxfans.org/nuke/moles.php?name=Site_Downloads&op=geninfo&did=4250
《LINUX與UNIX SHELL編程指南》讀書筆記
http://www.linuxfans.org/nuke/moles.php?name=Site_Downloads&op=geninfo&did=3907
LINUX與UNIX_SHELL編程指南(中文pdf格式)
http://www.linuxfans.org/nuke/moles.php?name=Site_Downloads&op=geninfo&did=247
這些教程都來自linux公社,這是在中國非常有名的linux論壇,可以去看看,有很多教程軟體下載,還可以學到很多東西
『叄』 推薦幾本好書:Unix||Linux下C編程
對你來說沒什麼難的``不會就問網路~問網路``
黑客就是這樣學習的~~
IT界最基本的心態和方法.
『肆』 林納斯·托瓦茲的成功讀後感
林納斯說,Linux所取得的許多成功其實可以歸結為他的缺點所致。「我很懶散,我喜歡授權給其他人。」就連Linux的企鵝形象標識也是林納斯的妻子,曾獲芬蘭空手道冠軍的托芙(Tove)想到的,因為林納斯曾經在澳大利亞被一隻企鵝咬過。「黑客們,不,程序員們,把在Linux和其它開放源代碼項目上的工作,放在比睡覺、鍛煉身體、娛樂和聚會更優先的地位。因為他們樂於成為一個全球協作努力活動的一部分—Linux是世界上最大的協作項目。
『伍』 怎樣學習linux
方法是多動手、動腦,學習時要經常與Windows進行對比。建議你先安裝RedHat Linux,然後練習如何配置它,如何使用Linux命令,如何在X—WINDOWS下操作,如何在Linux下安裝應用軟體,如何在Linux下上網、編輯文檔、播放多媒體文件、玩游戲等。
快速上手的方法只有一個,那就是多動手操作,看看你能否完成上面的工作。
2、Linux與Windows有哪些異同點?
Windows是圖形界面的,Linux類似以前的DOS,是文本界面的,如果你運行了圖形界面程序X-WINDOWS後,Linux也能顯示圖形界面,也有開始菜單、桌面、圖標等。
Windows有MS-DOS方式,在該方式下通過輸入DOS命令來操作電腦;而Linux與Windows類似,也有命令方式,Linux啟動後如果不執行X-WINDOWS,就會處於命令方式下,必須發命令才能操作電腦。另外Linux上也有很多的應用軟體,安裝運行了這些軟體後,你就可以在Linux上編輯文檔、圖片,玩游戲、上網、播放多媒體文件等。
不過Linux的分區格式和目錄結構,與Windows迥然不同,應用軟體的安裝方式也不同。
3、安裝Linux時的注意事項
安裝前確定好Linux安裝在哪個分區,Linux也有系統分區和Swap分區(類似Windows的虛擬分區,即交換文件)兩個分區。由於Linux支持的分區格式與Windows分區格式不同,所以如果安裝了Linux後,Windows還能繼續使用,Linux就應該安裝在硬碟分區的最後一個擴展分區;其次Linux的Swap分區必須保證有60MB,系統分區最少要保證240MB;此外安裝前搜集好PC硬體方面的信息,特別是顯示器信息,這將直接決定你安裝Linux後,使用圖形界面程序的效果;在安裝、使用中輸入命令時,請注意大小寫。
4、掌握Linux的目錄結構
Linux的目錄結構與Windows不同,而且在Windows下看不到Linux的目錄,反過來,Linux也看不到Windows下的目錄。Linux下各目錄的含義如下:
目錄名稱
意 義
/vmlinuz
該目錄中存放的是系統內核
/bin
該目錄中存放Linux的常用命令,在有的版本中是一些和根目錄下相同的目錄。
/boot
該目錄下存放的都是系統啟動時要用到的程序,當用lilo引導Linux時,會用到這里的一些信息
/dev
該目錄包含了Linux系統中使用的所有外部設備,它實際上是訪問這些外部設備的埠,你可以訪問這些外部設備,與訪問一個文件或一個目錄沒有區別。例如在系統中鍵入「cd /dev/cdrom」,就可以看到光碟機中的文件;鍵入「cd /dev/mouse」即可看滑鼠的相關文件。
/cdrom
該目錄在剛安裝系統時是空的,你可以將光碟機文件系統掛在這個目錄下, 例如「mount /dev/cdrom /cdrom」
/etc
該目錄存放了系統管理時要用到的各種配置文件和子目錄,例如網路配置文件、文件系統、X系統配置文件、設備配置信息、設置用戶信息等。
/sbin
該目錄用來存放系統管理員的系統管理程序。
/home
如果建立一個名為「xx」的用戶,那麼在/home目錄下就有一個對應的「/home/xx」路徑,用來存放該用戶的主目錄。
/lib
該目錄用來存放系統動態連接共享庫,幾乎所有的應用程序都會用到該目錄下的共享庫
/lost+found
該目錄在大多數情況下都是空的。但當突然停電、或者非正常關機後,有些文件就臨時存放在這里。
/mnt
該目錄在一般情況下也是空的,你可以臨時將別的文件系統掛在該目錄下。
/proc
可以在該目錄下獲取系統信息,這些信息是在內存中由系統自己產生的
/root
如果你是以超級用戶的身份登錄的,這個就是超級用戶的主目錄
/tmp
用來存放不同程序執行時產生的臨時文件
/usr
用戶的很多應用程序和文件都存放在該目錄下
5、Linux的常用命令
如果在Linux命令行模式下遇到不會用的命令,你可以打"man [command]"得到該命令的幫助,如果想知道一個命令有哪些參數,可以打command -help來得到。
注意:linux中的參數輸入形式和dos不一樣,在命令後面應該打一個空格,然後打"-",最後再跟一個或多個參數;另外linux下大小寫是有區別的!
下面介紹幾個linux下最常用的命令,每個命令都與對應的dos命令作比較,並列出一些常用的參數。
命令參數
意 義
Ls
-a列出系統中的隱含文件,linux下的隱含文件是靠文件名的格式來表示的,不同於dos是靠文件屬性來表示,即只要該文件以「.」開頭,那麼它就是隱含文件。
-l以長式列出。就是把該文件或目錄的所有信息都列出來,一個文件佔一行
相當於dos下的dir命令,是列文件列表的命令。
cd
和dos下的cd一樣,轉換目錄的命令。 注意:linux下轉到上級目錄要打"cd .."而不是dos下的"cd..",即"cd"後面要有個空格
pwd
列出當前目錄命令,相當於dos下沒有參數的cd命令。例如:
[root@ttqq bin]# pwd /usr/bin [root@ttqq bin]# 這表示目前在"/usr/bin"目錄下。
Mkdir
-m mode表示建立目錄時默認的目錄模式。這個是dos和Windows所沒有的功能,主要是關於許可權的問題。
建立新目錄,相當於dos的md命令。一般就用 mkdir [dirname]
rmdir
刪除目錄,相當於dos的rd命令。
用法:rmdir [dirname]
cp
-r相當於dos的x/s。用於拷貝一個目錄下的所有子目錄和文件
建立新目錄,相當於dos的md命令。一般就用 mkdir [dirname]
cat
在文件後面追加文件,或在屏幕上列印文件內容,追加功能相當於dos的 file1+file2,而在屏幕上列印文件內容可以和dos的typeml來類比。如果文件太大,在一屏上無法完全顯示,則可用more命令
more
分屏顯示文件內容,和dos下的more命令大致相同,但它可以和別的命令搭配使用。如:cat /home/eec/myfile | more。
參考資料:http://blog.donews.com/jgs/category/29817.aspx
『陸』 如何編譯linux內核內核 mint系統實現系統調用
《linux內核設計與實現》讀書筆記(五)-系統調用主要內容:什麼是系統調用linux上的系統調用實現原理一個簡單的系統調用的實現1ernel/sys.c我在sys.c中追加了2個函數:sys_foo和sys_bar如果是在x86_64的內核中增加一個系統調用,只需修改 arch/x86/include/asm/unistd_64.h,比如sys_bar。修改內容參見下面的diff文件:diff -r new/arch/x86/ia32/ia32entry.S old/arch/x86/ia32/ia32entry.S855d854< .quad sys_foodiff -r new/arch/x86/include/asm/unistd_32.h old/arch/x86/include/asm/unistd_32.h357d356< #define __NR_foo 349361c360< #define NR_syscalls 350--- > #define NR_syscalls 349diff -r new/arch/x86/include/asm/unistd_64.h old/arch/x86/include/asm/unistd_64.h689,692d688< #define __NR_foo 312< __SYSCALL(__NR_foo, sys_foo)< #define __NR_bar 313< __SYSCALL(__NR_bar, sys_bar)diff -r new/arch/x86/kernel/syscall_table_32.S old/arch/x86/kernel/syscall_table_32.S351d350< .long sys_foodiff -r new/include/asm-generic/unistd.h old/include/asm-generic/unistd.h694,695d693< #define __NR_foo 272< __SYSCALL(__NR_foo, sys_foo)698c696< #define __NR_syscalls 273---> #define __NR_syscalls 272diff -r new/kernel/sys.c old/kernel/sys.c1920,1928d1919<< asmlinkage long sys_foo(void)< {< return 1112223334444555;< }< asmlinkage long sys_bar(void)< {< return 1234567890;< } 3.3 編譯內核#cd linux-3.2.28#make menuconfig (選擇要編譯參數,如果不熟悉內核編譯,用默認選項即可)#make all (這一步真的時間很長......)#make moles_install#make install (這一步會把新的內核加到啟動項中)#reboot (重啟系統進入新的內核)3.4 編寫調用的系統調用的代碼#include <unistd.h>#include <sys/syscall.h>#include <string.h>#include <stdio.h>#include <errno.h>#define __NR_foo 312#define __NR_bar 313 int main(){ printf (result foo is %ld/n, syscall(__NR_foo)); printf(%s/n, strerror(errno)); printf (result bar is %ld/n, syscall(__NR_bar)); printf(%s/n, strerror(errno)); return 0;}編譯運行上面的代碼:#gcc test.c -o test#./test運行結果如下:result foo is 1112223334444555Successresult bar is 1234567890Success
『柒』 求一篇《鳥哥的Linux私房菜》的讀後感
自己在安裝linux的過程中,遇到了一些問題,我的台式機沒有光碟機,筆記本的光碟機也壞了。。加上我的台式機上已經裝了win7系統,想裝雙系統,於是選擇了在windows下硬碟安裝centOS,昨晚畢業一周年聚餐,回來路上下雨了,洗完澡已經是10點半,本想看本書的20章了解一些引導之類的知識,但發現第20章有許多內容跟前面的章節有關,而我才看到第4章,於是放棄,直接開始裝系統,當時自己打定主意不裝完不睡覺,結果直接就裝到凌晨三點半才裝完。。。不過還是蠻有成就感。。過程中也遇到了許多很白痴的錯誤,把這個記錄下來,一方面怕自己再忘了,一方面希望能夠幫助之後裝這個的童鞋。首先在網上之前就搜到了一篇很詳細的教程,非常詳細的教程,很感謝這位兄弟,但是在過程中,自己還是遇到了一些問題:1)把CentOs5.5的鏡像放在計算機的一個文件系統為fat32的分區中(不能是欲安裝centos的分區)。當然也可放在優盤、移動硬碟中,只要文件系統是fat32就行,因為linux不識別ntfs。這是遇到的第一個問題,我的所有硬碟都是ntfs格式的,而且我格式化磁碟的時候發現格式化都沒有fat32的選項。想了好幾個辦法,比如下partition magic軟體,結果發現win7下不能運行該軟體。。然後發現我的一個2G的U盤可以被格式化為fat32格式,於是果斷備份文件並格式化,把已經下好的鏡像文件CentOS-5.8-i386-bin-1of7(這個是接下來要講的白痴問題。。)放置到U盤中,然後按照教程的操作,解壓grub中的文件和鏡像中的相應文件到C盤根目錄。之後就遇到了另一個問題。2)教程要求找到C盤根目錄下的boot.ini文件,在文件最後添加一句話:c:\grldr="CentOS" 。但是我在我的C盤根目錄下找不到這個文件。。於是google之,然後找到另一個人在win7下用grub裝ubuntu的心得,他直接新建了個這個文件。。。於是我依葫蘆畫瓢,在根目錄下新建boot.ini,然後添加了該語句。重啟電腦,依照教程圖片以及《私房菜》書中的說明一步步設置分區以及引導裝載程序、網路、時區、root密碼等。等到最後安裝的時候,安裝了一小部分之後,發現出現一個錯誤missing ISO 9660 Image的錯誤。。無法安裝,於是選擇reboot來abort安裝。3)繼續上網查找該錯誤。發現很多人遇到同樣問題,都說是要把所有鏡像放到一個目錄下。我就納悶了,我就一個鏡像啊,然後再仔細看一下我的鏡像文件,然後就發現自己腦殘了,我那個iso鏡像文件名說的很明白,是1of7,說明還有6個其他鏡像啊。。!然後開始到官網下剩下的6個鏡像,這一來就已經兩點多了。。4)現在還有一個問題,就是U盤只有2G的空間,總共7個鏡像加起來有4G多,U盤無法裝下,必須用電腦或者移動硬碟才有足夠空間,但是移動硬碟和電腦硬碟格式化時都沒有fat32選項,又找不到合適的分區軟體,網上有人說直接格式化就可以,那為什麼我的不可以?於是繼續google該問題,發現原來超過35G的硬碟是不能被格式化為fat32的。。。。於是果斷在磁碟管理中分出一個20G的卷,再格式化其為fat32格式,接著把下好了的7個鏡像放置其中。重啟,在安裝選項選擇硬碟安裝,選擇放置鏡像的磁碟,然後一路設置,最後開始安裝,期間去客廳看英格蘭vs義大利,看完半場之後裝好了,於是點擊完成並重啟進行第一次設置,設置仍然是按照《私房菜》的教導,最後完成,一看時間,已經快凌晨4點了。。這次安裝linux的經歷說明,遇到問題不要害怕,網上能找到幾乎所有的答案,要善於利用教程,還有很重要的一點,我很久之前就下好了鏡像,一直不敢開始,反而浪費了大量時間做無效的工作,在計算機學習上,只有不斷地實踐、實踐,才能學到東西,記住這一點,加油!
『捌』 記事讀書筆記
樓主是想問什麼?
如果是想問應用的話推薦為知筆記。
我喜歡為知筆記的原因很簡單——支持多平台(安卓、Windows、Linux)雲上傳,而且可以在瀏覽器使用。
『玖』 深入理解計算機系統 讀後感
[深入理解計算機系統 讀後感]
從程序員的視角,看計算機系統!
本書適用於那些想要寫出更快、更可靠程序的程序員,深入理解計算機系統 讀後感。通過掌握程序是如何映射到系統上,以及程序是如何執行的,讀者能夠更好的理解程序的行為為什麼是這樣的,以及效率低下是如何造成的。粗略來看,計算機系統包括處理器和存儲器硬體、編譯器、操作系統和網路互連環境。而通過程序員的視角,讀者可以清晰地明白學習計算機系統的內部工作原理會對他們今後作為計算機科學研究者和工程師的工作有進一步的幫助。它還有助於為進一步學習計算機體系結構、操作系統、編譯器和網路互連做好准備。
本書的主要論題包括:數據表示、C程序的機器級表示、處理器結構,程序優化、存儲器層次結構、鏈接、異常控制流、虛擬存儲器和存儲器管理、系統級I/O、網路編程和並發編程。書中所覆蓋的內容主要是這些方面是如何影響應用和系統程序員的。例如,在講述數據表示時,本書說明了用來表示數字的表示方法是有限的,它能夠近似地表示整數和實數,但是這種表示方法是有限制的,程序員必須了解。在講述高速緩存時,本書討論了矩陣代碼中的循環變數的順序是如何影響程序的性能的。在討論網路互連時,本書描述了並發伺服器如何能有效地處理來自多個客戶端的請求。
本書基於Intel兼容(IA32)機器,在Unix或者相關的操作系統(例如,Linux)上執行C程序。雖然書中包括了一些幫助讀者將Java轉化成C的提示,但是還是要求讀者對C或者C++有一定的了解。
您可以通過本書的Web網站www.csapp.cs.cmu.e獲得完整的資料,包括實驗和作業,授課筆記和代碼示例,讀後感《深入理解計算機系統 讀後感》。
本書英文版久負盛名,被眾多專業人士稱為「最偉大的計算機教材」之一,著名的美國卡內基梅隆大學計算機科學系一直將本書作為教材使用,程序員眼中的透徹講述計算機系統的扛鼎之作。作者Randal
E.
Bryant是卡耐基梅隆大學的計算機科學系主任,ACM和IEEE雙院士(Fellow),其研究成果多次獲得ACM和IEEE頒發的大獎。
本書共分十三章,分別介紹了信息的表示和處理、程序的機器級表示、處理器體系結構、存儲器層次結構、靜態和動態鏈接、虛擬存儲器、系統級I/O、網路編程和並發編程等精彩內容。其目的是解釋計算機系統的所有本質概念,並向讀者展示這些概念是如何實際地影響應用程序的正確性、性能和實用性。與其他主要針對系統構造人員的系統類書籍不同,這本書是寫給程序員的,是從程序員的角度來描述的。本書為軟體和硬體之間搭起了一個橋梁,它給出了一種幫助讀者分別從硬體和軟體的角度去理解一個程序及其行為的途徑,這也填補了國內計算機系統教學中的一個空白。本書的最大優點是幫助讀者理解概念,讓讀者很清楚地在腦海中構造一個層次型的計算機系統,從最低層數據在內存中的表示(如我們一直陌生的浮點數表示),到流水線指令的構成,到虛擬存儲器,到編譯系統,到動態載入庫,到最後的用戶應用。
本書提供了大量的例子和練習及部分答案。尤其值得一提的是,對於每一個基本概念都有相應的筆頭或程序試驗,加深讀者的理解。
〔深入理解計算機系統 讀後感〕隨文贈言:【這世上的一切都借希望而完成,農夫不會剝下一粒玉米,如果他不曾希望它長成種粒;單身漢不會娶妻,如果他不曾希望有孩子;商人也不會去工作,如果他不曾希望因此而有收益。】