一步一步學(xué)linux LINUX教程
今天給各位分享一步一步學(xué)linux的知識,其中也會對LINUX教程進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!扣丁學(xué)堂淺談關(guān)于零基礎(chǔ)學(xué)習(xí)Lin...
今天給各位分享一步一步學(xué)linux的知識,其中也會對LINUX教程進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
扣丁學(xué)堂淺談關(guān)于零基礎(chǔ)學(xué)習(xí)Linux并如何命令
1.先安裝一個字符終端的linux系統(tǒng),注意一定要是字符終端的,不帶桌面版的
2.找本linuxshell的書籍,不停的練習(xí)。
3.總結(jié)一些常用的命令。
打完,手工。
學(xué)linux要多久啊
自學(xué)學(xué)習(xí)linux沒有一個標準時間,每個人的基礎(chǔ)知識掌握程度和學(xué)習(xí)能力不一樣,所以需要花費的時長也不同。有些人3個月就能入門,有些人要學(xué)半年才能摸清頭腦。
如果是報培訓(xùn)班的話,學(xué)習(xí)周期一般在4~6個月。
新手如何使用Linux
首先為自己創(chuàng)造一個學(xué)習(xí)linux的環(huán)境,個人電腦安裝Linux虛擬機或購買華為云、阿里云等云服務(wù)器,操作系統(tǒng)選型centos,國內(nèi)其他大部分都是centos版本,強烈建議親自動手把linux裝到你的硬盤上,熟悉整個安裝過程,磁盤劃分、IP設(shè)置、軟件包安裝等。建議買一本不需要太厚的linux教材,大致可以滿足要求。
然后自己練習(xí)Linux常用命令,很多命令不需要強制記錄,一定要記住基礎(chǔ)用法,Linux有個好處就是可以查看命令的詳細參數(shù)解釋,有助于處理實際工作遇到的問題,比如curl命令、grep命令等,
再經(jīng)常瀏覽網(wǎng)絡(luò)上的文章,學(xué)習(xí)他們的處理思路,比如ssh登錄不了,我們應(yīng)該怎么處理?網(wǎng)絡(luò)異常,我們要從哪方面入手?怎么通過tcpdump命令抓包?如果系統(tǒng)沒有tcpdump命令,需要安裝什么軟件等,這是個復(fù)雜的過程,需要工作經(jīng)驗來累計,祝您成功!
可以關(guān)注我的頭條號,日常工作中會記錄一些操作過程,一起學(xué)習(xí)Linux,加油##
簡述Linux系統(tǒng)過程
BIOS加電自檢,找啟動介質(zhì)則找到MBR找到MBR后,則根據(jù)bootloader(grub)設(shè)置找到內(nèi)核所在位置執(zhí)行Linux內(nèi)核映像代碼,檢測和加載硬件驅(qū)動驅(qū)動加載完成后,內(nèi)核把主動權(quán)交給了init進程init進程會根據(jù)系統(tǒng)設(shè)定的運行級別做系統(tǒng)初始化/etc/init/rcS.confexec/etc/rc.d/rc.sysinit->激活交換swap分區(qū),檢查磁盤,加載硬件模塊以及其它一些需要優(yōu)先執(zhí)行任務(wù)exec/etc/rc.d/rc$RUNLEVEL($RUNLEVEL==3)/etc/rc.d/rc3.d//etc/rc.d/rc.local建立終端:6個tty和1個圖形用戶登錄請參考《Linux就該這么學(xué)》入門教程。
自學(xué)Linux,怎樣才能學(xué)好
如果你之后想從事嵌入式行業(yè),根據(jù)自己經(jīng)驗,我覺得可以從以下幾個方面入手:
1.學(xué)會linux系統(tǒng)下的應(yīng)用程序開發(fā),這里以簡單的
hello.c
為例,假設(shè)你已經(jīng)安裝了Linux虛擬機了。
編譯:
運行:
一個十分簡單的Linux應(yīng)用程序就開發(fā)出來了,當然不要Linux應(yīng)用程序開發(fā)很簡單,涉及到具體應(yīng)用和算法,程序可以寫的很復(fù)雜。
在應(yīng)用程序開發(fā)的時候,Linux內(nèi)核對你來說就是個黑匣子,只需要使用內(nèi)核提供的功能即可。
2.熟悉Linux應(yīng)用程序開發(fā)后,建議嵌入式開發(fā)板,這里我不指定哪款開發(fā)板,以免有打廣告的嫌疑。熟悉一下裸機驅(qū)動開發(fā),所謂裸機驅(qū)動開發(fā),優(yōu)點類似單片機開發(fā)。主要熟悉寄存器配置等相關(guān)。
3.如果第二步熟悉的話,那就開始研究基于Linux操作系統(tǒng)下的驅(qū)動開發(fā)吧(主要涉及圖中的字符設(shè)備/塊設(shè)備驅(qū)動).
4.開始研究Linux內(nèi)核吧,內(nèi)核內(nèi)容太多了(下圖是內(nèi)核提供的功能)。
內(nèi)核主要分為以下幾個大塊:進程管理,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)協(xié)議棧,設(shè)備驅(qū)動。如果你想深入研究的話,每一個都需要傾注精力認真學(xué)習(xí)。
5.當然還有Linux的安全機制等等。。。
這個還是以后再談吧。
Linux系統(tǒng)究竟我要怎樣學(xué)
《linux技術(shù)談|linux系統(tǒng)內(nèi)核優(yōu)化案例之網(wǎng)絡(luò)服務(wù)參數(shù)》
linux系統(tǒng)可以學(xué)習(xí)的內(nèi)容可以讓人學(xué)習(xí)一生用上一生。本文只是談一談配置linux系統(tǒng)web服務(wù)器的注意事項。
linux系統(tǒng)是一個何以做服務(wù)器,還可以做工作站,更是嵌入式設(shè)備的功臣,今天的地球科技幾乎全部都搭建在linux系統(tǒng)之上。當然在桌面護操作系統(tǒng)領(lǐng)域,linux系統(tǒng)的ubuntu等等一批優(yōu)秀方案正在成為windows現(xiàn)macos的掘墓者。無所不能的linux系統(tǒng),在作為不同系統(tǒng)出現(xiàn)時,系統(tǒng)參數(shù)的個性化設(shè)置就成為linux調(diào)優(yōu)的關(guān)鍵手段。
本文重點:作為網(wǎng)絡(luò)服務(wù)器系統(tǒng)的linux調(diào)優(yōu)參數(shù)案例與實際意義。其實在命令窗口下,使用“sysctl-a”就可以顯示出所有的系統(tǒng)參數(shù)配置情況!
圖:使用sysctl來讀取調(diào)整系統(tǒng)參數(shù)
正如前文所言,默認的Linux系統(tǒng)其內(nèi)核參數(shù)考慮的是通用的場景。誰讓這linux系統(tǒng)有那么多應(yīng)用環(huán)境叫呢?但是這種通用型的默認配置卻是并不適合我們不同的應(yīng)用場景。linux系統(tǒng)最擅長的一個應(yīng)用場景之一--高可用高并發(fā)并Web服務(wù)器的定義,尤其是與nginx這種流行性互聯(lián)網(wǎng)服務(wù)器比起來,修改Linux內(nèi)核參數(shù)使之滿足現(xiàn)代web內(nèi)容服務(wù),其重要性就不言而喻了。當然如果是另外一種不同思想的web服務(wù)器,linux的服務(wù)參數(shù)就應(yīng)該另行調(diào)整了。在優(yōu)化內(nèi)核時,人們需要根據(jù)業(yè)務(wù)特點來進行調(diào)整,當Nginx作為靜態(tài)web內(nèi)容服務(wù)器、反向代理或者提供壓縮服務(wù)器的服務(wù)器時,期內(nèi)核參數(shù)的調(diào)整都是不同的。
圖:lvs集群思想
本案例中只為了使Nginx支持更多并發(fā)請求的TCP網(wǎng)絡(luò)參數(shù)做簡單的配置--學(xué)習(xí)linux系統(tǒng),特別是后臺服務(wù),操作linux系統(tǒng)的功夫都在敲鍵盤之外。
優(yōu)化調(diào)整linux系統(tǒng)內(nèi)核參數(shù),我們需要修改的文件實際上主要就是:/etc/sysctl.conf。
fs.file-max=999999
#表示單個進程較大可以打開的句柄數(shù);
net.ipv4.tcp_tw_reuse=1
#參數(shù)設(shè)置為1,表示允許將TIME_WAIT狀態(tài)的socket重新用于新的TCP鏈接,這對于服務(wù)器來說意義重大,因為總有大量TIME_WAIT狀態(tài)的鏈接存在;
ner.ipv4.tcp_keepalive_time=600
#當keepalive啟動時,TCP發(fā)送keepalive消息的頻度;默認是2小時,將其設(shè)置為10分鐘,可以更快的清理無效鏈接。
net.ipv4.tcp_fin_timeout=30
#當服務(wù)器主動關(guān)閉鏈接時,socket保持在FIN_WAIT_2狀態(tài)的較大時間
net.ipv4.tcp_max_tw_buckets=5000
#這個參數(shù)表示操作系統(tǒng)允許TIME_WAIT套接字數(shù)量的較大值,如果超過這個數(shù)字,TIME_WAIT套接字將立刻被清除并打印警告信息。
#該參數(shù)默認為180000,過多的TIME_WAIT套接字會使Web服務(wù)器變慢。
net.ipv4.ip_local_port_range=102465000
#定義UDP和TCP鏈接的本地端口的取值范圍。
net.ipv4.tcp_rmem=102408738012582912
#定義了TCP接受緩存的最小值、默認值、較大值。
net.ipv4.tcp_wmem=102408738012582912
#定義TCP發(fā)送緩存的最小值、默認值、較大值。
net.core.netdev_max_backlog=8096
#當網(wǎng)卡接收數(shù)據(jù)包的速度大于內(nèi)核處理速度時,會有一個列隊保存這些數(shù)據(jù)包。這個參數(shù)表示該列隊的較大值。
net.core.rmem_default=6291456
#表示內(nèi)核套接字接受緩存區(qū)默認大小。
net.core.wmem_default=6291456
#表示內(nèi)核套接字發(fā)送緩存區(qū)默認大小。
net.core.rmem_max=12582912
#表示內(nèi)核套接字接受緩存區(qū)較大大小。
net.core.wmem_max=12582912
#表示內(nèi)核套接字發(fā)送緩存區(qū)較大大小。
注意:以上的四個參數(shù),需要根據(jù)業(yè)務(wù)邏輯和實際的硬件成本來綜合考慮;
net.ipv4.tcp_syncookies=1
#與性能無關(guān)。用于解決TCP的SYN攻擊。
net.ipv4.tcp_max_syn_backlog=8192
#這個參數(shù)表示TCP三次握手建立階段接受SYN請求列隊的較大長度,默認1024,將其設(shè)置的大一些可以使出現(xiàn)Nginx繁忙來不及accept新連接的情況時,Linux不至于丟失客戶端發(fā)起的鏈接請求。
net.ipv4.tcp_tw_recycle=1
#這個參數(shù)用于設(shè)置啟用timewait快速回收。
net.core.somaxconn=262114
選項默認值是128,這個參數(shù)用于調(diào)節(jié)系統(tǒng)同時發(fā)起的TCP連接數(shù),在高并發(fā)的請求中,默認的值可能會導(dǎo)致鏈接超時或者重傳,因此需要結(jié)合高并發(fā)請求數(shù)來調(diào)節(jié)此值。
net.ipv4.tcp_max_orphans=262114
#選項用于設(shè)定系統(tǒng)中最多有多少個TCP套接字不被關(guān)聯(lián)到任何一個用戶文件句柄上。如果超過這個數(shù)字,孤立鏈接將立即被復(fù)位并輸出警告信息。這個限制指示為了防止簡單的DOS攻擊,不用過分依靠這個限制甚至認為的減小這個值,更多的情況是增加這個值。
為了方便使用,下方不帶注釋的可以直接復(fù)制
fs.file-max=999999
net.ipv4.tcp_tw_reuse=1
ner.ipv4.tcp_keepalive_time=600
net.ipv4.tcp_fin_timeout=30
附:如果是針對apache的環(huán)境,那上面的參數(shù)又應(yīng)該根據(jù)apache的服務(wù)思想進行調(diào)優(yōu)。
OK,本文到此結(jié)束,希望對大家有所幫助。
本文鏈接:http:///qianduan/7190.html