真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux寫入內(nèi)核命令,linux編譯內(nèi)核命令

在linux下如何向內(nèi)核命令行添加命令?

很容易加啊 要看你是什么系統(tǒng),比如debian或者redhat就在 /boot/grub/menu.lst里面找到kernel那一行然后添加就行了,如果不是這2個系統(tǒng)也可以到/boot/grub/下面去找,一般是menu.lst或者grub.conf這種的

我們提供的服務(wù)有:網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、義馬ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的義馬網(wǎng)站制作公司

如何在Linux上通過GRUB添加內(nèi)核參數(shù)

編輯修改grub引導(dǎo)配置文件,在加載內(nèi)核命令(對于grub legacy,為kernel,grub2為linux)那一行后面添加需要的參數(shù);或者直接在命令行界面輸入相應(yīng)命令后面添加參數(shù)。

一般優(yōu)化linux的內(nèi)核,需要優(yōu)化什么參數(shù)

Sysctl命令及l(fā)inux內(nèi)核參數(shù)調(diào)整

一、Sysctl命令用來配置與顯示在/proc/sys目錄中的內(nèi)核參數(shù).如果想使參數(shù)長期保存,可以通過編輯/etc/sysctl.conf文件來實(shí)現(xiàn)。

命令格式:

sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p (default /etc/sysctl.conf)

sysctl [-n] [-e] –a

常用參數(shù)的意義:

-w ?臨時改變某個指定參數(shù)的值,如

# sysctl -w net.ipv4.ip_forward=1

-a ?顯示所有的系統(tǒng)參數(shù)

-p從指定的文件加載系統(tǒng)參數(shù),默認(rèn)從/etc/sysctl.conf 文件中加載,如:

# echo 1 /proc/sys/net/ipv4/ip_forward

# sysctl -w net.ipv4.ip_forward=1

以上兩種方法都可能立即開啟路由功能,但如果系統(tǒng)重啟,或執(zhí)行了

# service network restart

命令,所設(shè)置的值即會丟失,如果想永久保留配置,可以修改/etc/sysctl.conf文件,將 net.ipv4.ip_forward=0改為net.ipv4.ip_forward=1

二、linux內(nèi)核參數(shù)調(diào)整:linux 內(nèi)核參數(shù)調(diào)整有兩種方式

方法一:修改/proc下內(nèi)核參數(shù)文件內(nèi)容,不能使用編輯器來修改內(nèi)核參數(shù)文件,理由是由于內(nèi)核隨時可能更改這些文件中的任意一個,另外,這些內(nèi)核參數(shù)文件都是虛擬文件,實(shí)際中不存在,因此不能使用編輯器進(jìn)行編輯,而是使用echo命令,然后從命令行將輸出重定向至 /proc 下所選定的文件中。如:將 timeout_timewait 參數(shù)設(shè)置為30秒:

# echo 30 /proc/sys/net/ipv4/tcp_fin_timeout

參數(shù)修改后立即生效,但是重啟系統(tǒng)后,該參數(shù)又恢復(fù)成默認(rèn)值。因此,想永久更改內(nèi)核參數(shù),需要修改/etc/sysctl.conf文件

方法二.修改/etc/sysctl.conf文件。檢查sysctl.conf文件,如果已經(jīng)包含需要修改的參數(shù),則修改該參數(shù)的值,如果沒有需要修改的參數(shù),在sysctl.conf文件中添加參數(shù)。如:

net.ipv4.tcp_fin_timeout=30

保存退出后,可以重啟機(jī)器使參數(shù)生效,如果想使參數(shù)馬上生效,也可以執(zhí)行如下命令:

# sysctl ?-p

三、sysctl.conf 文件中參數(shù)設(shè)置及說明

proc/sys/net/core/wmem_max

最大socket寫buffer,可參考的優(yōu)化值:873200

/proc/sys/net/core/rmem_max

最大socket讀buffer,可參考的優(yōu)化值:873200

/proc/sys/net/ipv4/tcp_wmem

TCP寫buffer,可參考的優(yōu)化值: 8192 436600 873200

/proc/sys/net/ipv4/tcp_rmem

TCP讀buffer,可參考的優(yōu)化值: 32768 436600 873200

/proc/sys/net/ipv4/tcp_mem

同樣有3個值,意思是:

net.ipv4.tcp_mem[0]:低于此值,TCP沒有內(nèi)存壓力.

net.ipv4.tcp_mem[1]:在此值下,進(jìn)入內(nèi)存壓力階段.

net.ipv4.tcp_mem[2]:高于此值,TCP拒絕分配socket.

上述內(nèi)存單位是頁,而不是字節(jié).可參考的優(yōu)化值是:786432 1048576 1572864

/proc/sys/net/core/netdev_max_backlog

進(jìn)入包的最大設(shè)備隊(duì)列.默認(rèn)是300,對重負(fù)載服務(wù)器而言,該值太低,可調(diào)整到1000

/proc/sys/net/core/somaxconn

listen()的默認(rèn)參數(shù),掛起請求的最大數(shù)量.默認(rèn)是128.對繁忙的服務(wù)器,增加該值有助于網(wǎng)絡(luò)性能.可調(diào)整到256.

/proc/sys/net/core/optmem_max

socket buffer的最大初始化值,默認(rèn)10K

/proc/sys/net/ipv4/tcp_max_syn_backlog

進(jìn)入SYN包的最大請求隊(duì)列.默認(rèn)1024.對重負(fù)載服務(wù)器,可調(diào)整到2048

/proc/sys/net/ipv4/tcp_retries2

TCP失敗重傳次數(shù),默認(rèn)值15,意味著重傳15次才徹底放棄.可減少到5,盡早釋放內(nèi)核資源.

/proc/sys/net/ipv4/tcp_keepalive_time

/proc/sys/net/ipv4/tcp_keepalive_intvl

/proc/sys/net/ipv4/tcp_keepalive_probes

這3個參數(shù)與TCP KeepAlive有關(guān).默認(rèn)值是:

tcp_keepalive_time = 7200 seconds (2 hours)

tcp_keepalive_probes = 9

tcp_keepalive_intvl = 75 seconds

意思是如果某個TCP連接在idle 2個小時后,內(nèi)核才發(fā)起probe.如果probe 9次(每次75秒)不成功,內(nèi)核才徹底放棄,認(rèn)為該連接已失效.對服務(wù)器而言,顯然上述值太大. 可調(diào)整到:

/proc/sys/net/ipv4/tcp_keepalive_time 1800

/proc/sys/net/ipv4/tcp_keepalive_intvl 30

/proc/sys/net/ipv4/tcp_keepalive_probes 3

/proc/sys/net/ipv4/ip_local_port_range

指定端口范圍的一個配置,默認(rèn)是32768 61000,已夠大.

net.ipv4.tcp_syncookies = 1

表示開啟SYN Cookies。當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時,啟用cookies來處理,可防范少量SYN攻擊,默認(rèn)為0,表示關(guān)閉;

net.ipv4.tcp_tw_reuse = 1

表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認(rèn)為0,表示關(guān)閉;

net.ipv4.tcp_tw_recycle = 1

表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認(rèn)為0,表示關(guān)閉。

net.ipv4.tcp_fin_timeout = 30

表示如果套接字由本端要求關(guān)閉,這個參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時間。

net.ipv4.tcp_keepalive_time = 1200

表示當(dāng)keepalive起用的時候,TCP發(fā)送keepalive消息的頻度。缺省是2小時,改為20分鐘。

net.ipv4.ip_local_port_range = 1024 65000

表示用于向外連接的端口范圍。缺省情況下很?。?2768到61000,改為1024到65000。

net.ipv4.tcp_max_syn_backlog = 8192

表示SYN隊(duì)列的長度,默認(rèn)為1024,加大隊(duì)列長度為8192,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)。

net.ipv4.tcp_max_tw_buckets = 5000

表示系統(tǒng)同時保持TIME_WAIT套接字的最大數(shù)量,如果超過這個數(shù)字,TIME_WAIT套接字將立刻被清除并打印警告信息。默認(rèn)為 180000,改為 5000。對于Apache、Nginx等服務(wù)器,上幾行的參數(shù)可以很好地減少TIME_WAIT套接字?jǐn)?shù)量,但是對于Squid,效果卻不大。此項(xiàng)參數(shù)可以控制TIME_WAIT套接字的最大數(shù)量,避免Squid服務(wù)器被大量的TIME_WAIT套接字拖死。

Linux上的NAT與iptables

談起Linux上的NAT,大多數(shù)人會跟你提到iptables。原因是因?yàn)閕ptables是目前在linux上實(shí)現(xiàn)NAT的一個非常好的接口。它通過和內(nèi)核級直接操作網(wǎng)絡(luò)包,效率和穩(wěn)定性都非常高。這里簡單列舉一些NAT相關(guān)的iptables實(shí)例命令,可能對于大多數(shù)實(shí)現(xiàn)有多幫助。

這里說明一下,為了節(jié)省篇幅,這里把準(zhǔn)備工作的命令略去了,僅僅列出核心步驟命令,所以如果你單單執(zhí)行這些沒有實(shí)現(xiàn)功能的話,很可能由于準(zhǔn)備工作沒有做好。如果你對整個命令細(xì)節(jié)感興趣的話,可以直接訪問我的《如何讓你的Linux網(wǎng)關(guān)更強(qiáng)大》系列文章,其中對于各個腳本有詳細(xì)的說明和描述。

# 案例1:實(shí)現(xiàn)網(wǎng)關(guān)的MASQUERADE

# 具體功能:內(nèi)網(wǎng)網(wǎng)卡是eth1,外網(wǎng)eth0,使得內(nèi)網(wǎng)指定本服務(wù)做網(wǎng)關(guān)可以訪問外網(wǎng)

EXTERNAL="eth0"

INTERNAL="eth1"

# 這一步開啟ip轉(zhuǎn)發(fā)支持,這是NAT實(shí)現(xiàn)的前提

echo 1 /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE

# 案例2:實(shí)現(xiàn)網(wǎng)關(guān)的簡單端口映射

# 具體功能:實(shí)現(xiàn)外網(wǎng)通過訪問網(wǎng)關(guān)的外部ip:80,可以直接達(dá)到訪問私有網(wǎng)絡(luò)內(nèi)的一臺主機(jī)192.168.1.10:80效果

LOCAL_EX_IP=11.22.33.44 #設(shè)定網(wǎng)關(guān)的外網(wǎng)卡ip,對于多ip情況,參考《如何讓你的Linux網(wǎng)關(guān)更強(qiáng)大》系列文章

LOCAL_IN_IP=192.168.1.1 ?#設(shè)定網(wǎng)關(guān)的內(nèi)網(wǎng)卡ip

INTERNAL="eth1" #設(shè)定內(nèi)網(wǎng)卡

# 這一步開啟ip轉(zhuǎn)發(fā)支持,這是NAT實(shí)現(xiàn)的前提

echo 1 /proc/sys/net/ipv4/ip_forward

# 加載需要的ip模塊,下面兩個是ftp相關(guān)的模塊,如果有其他特殊需求,也需要加進(jìn)來

modprobe ip_conntrack_ftp

modprobe ip_nat_ftp

# 這一步實(shí)現(xiàn)目標(biāo)地址指向網(wǎng)關(guān)外部ip:80的訪問都吧目標(biāo)地址改成192.168.1.10:80

iptables -t nat -A PREROUTING -d $LOCAL_EX_IP -p tcp --dport 80 -j DNAT --to 192.168.1.10

# 這一步實(shí)現(xiàn)把目標(biāo)地址指向192.168.1.10:80的數(shù)據(jù)包的源地址改成網(wǎng)關(guān)自己的本地ip,這里是192.168.1.1

iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp --dport 80 -j SNAT --to $LOCAL_IN_IP

# 在FORWARD鏈上添加到192.168.1.10:80的允許,否則不能實(shí)現(xiàn)轉(zhuǎn)發(fā)

iptables -A FORWARD -o $INTERNAL -d 192.168.1.10 -p tcp --dport 80 -j ACCEPT

# 通過上面重要的三句話之后,實(shí)現(xiàn)的效果是,通過網(wǎng)關(guān)的外網(wǎng)ip:80訪問,全部轉(zhuǎn)發(fā)到內(nèi)網(wǎng)的192.168.1.10:80端口,實(shí)現(xiàn)典型的端口映射

# 特別注意,所有被轉(zhuǎn)發(fā)過的數(shù)據(jù)都是源地址是網(wǎng)關(guān)內(nèi)網(wǎng)ip的數(shù)據(jù)包,所以192.168.1.10上看到的所有訪問都好像是網(wǎng)關(guān)發(fā)過來的一樣,而看不到外部ip

# 一個重要的思想:數(shù)據(jù)包根據(jù)“從哪里來,回哪里去”的策略來走,所以不必?fù)?dān)心回頭數(shù)據(jù)的問題

# 現(xiàn)在還有一個問題,網(wǎng)關(guān)自己訪問自己的外網(wǎng)ip:80,是不會被NAT到192.168.1.10的,這不是一個嚴(yán)重的問題,但讓人很不爽,解決的方法如下:

iptables -t nat -A OUTPUT -d $LOCAL_EX_IP -p tcp --dport 80 -j DNAT --to 192.168.1.10

獲取系統(tǒng)中的NAT信息和診斷錯誤

了解/proc目錄的意義

在Linux系統(tǒng)中,/proc是一個特殊的目錄,proc文件系統(tǒng)是一個偽文件系統(tǒng),它只存在內(nèi)存當(dāng)中,而不占用外存空間。它包含當(dāng)前系統(tǒng)的一些參數(shù)(variables)和狀態(tài)(status)情況。它以文件系統(tǒng)的方式為訪問系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口

通過/proc可以了解到系統(tǒng)當(dāng)前的一些重要信息,包括磁盤使用情況,內(nèi)存使用狀況,硬件信息,網(wǎng)絡(luò)使用情況等等,很多系統(tǒng)監(jiān)控工具(如HotSaNIC)都通過/proc目錄獲取系統(tǒng)數(shù)據(jù)。

另一方面通過直接操作/proc中的參數(shù)可以實(shí)現(xiàn)系統(tǒng)內(nèi)核參數(shù)的調(diào)節(jié),比如是否允許ip轉(zhuǎn)發(fā),syn-cookie是否打開,tcp超時時間等。

獲得參數(shù)的方式:

第一種:cat /proc/xxx/xxx,如 cat /proc/sys/net/ipv4/conf/all/rp_filter

第二種:sysctl ,如 sysctl net.ipv4.conf.all.rp_filter

改變參數(shù)的方式:

第一種:echo value /proc/xxx/xxx,如 echo 1 /proc/sys/net/ipv4/conf/all/rp_filter

第二種:sysctl [-w] variable=value,如 sysctl [-w] net.ipv4.conf.all.rp_filter=1

以上設(shè)定系統(tǒng)參數(shù)的方式只對當(dāng)前系統(tǒng)有效,重起系統(tǒng)就沒了,想要保存下來,需要寫入/etc/sysctl.conf文件中

通過執(zhí)行 man 5 proc可以獲得一些關(guān)于proc目錄的介紹

查看系統(tǒng)中的NAT情況

和NAT相關(guān)的系統(tǒng)變量

/proc/slabinfo:內(nèi)核緩存使用情況統(tǒng)計信息(Kernel slab allocator statistics)

/proc/sys/net/ipv4/ip_conntrack_max:系統(tǒng)支持的最大ipv4連接數(shù),默認(rèn)65536(事實(shí)上這也是理論最大值)

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established 已建立的tcp連接的超時時間,默認(rèn)432000,也就是5天

和NAT相關(guān)的狀態(tài)值

/proc/net/ip_conntrack:當(dāng)前的前被跟蹤的連接狀況,nat翻譯表就在這里體現(xiàn)(對于一個網(wǎng)關(guān)為主要功能的Linux主機(jī),里面大部分信息是NAT翻譯表)

/proc/sys/net/ipv4/ip_local_port_range:本地開放端口范圍,這個范圍同樣會間接限制NAT表規(guī)模

# 1. 查看當(dāng)前系統(tǒng)支持的最大連接數(shù)

cat /proc/sys/net/ipv4/ip_conntrack_max

# 值:默認(rèn)65536,同時這個值和你的內(nèi)存大小有關(guān),如果內(nèi)存128M,這個值最大8192,1G以上內(nèi)存這個值都是默認(rèn)65536

# 影響:這個值決定了你作為NAT網(wǎng)關(guān)的工作能力上限,所有局域網(wǎng)內(nèi)通過這臺網(wǎng)關(guān)對外的連接都將占用一個連接,如果這個值太低,將會影響吞吐量

# 2. 查看tcp連接超時時間

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

# 值:默認(rèn)432000(秒),也就是5天

# 影響:這個值過大將導(dǎo)致一些可能已經(jīng)不用的連接常駐于內(nèi)存中,占用大量鏈接資源,從而可能導(dǎo)致NAT ip_conntrack: table full的問題

# 建議:對于NAT負(fù)載相對本機(jī)的 NAT表大小很緊張的時候,可能需要考慮縮小這個值,以盡早清除連接,保證有可用的連接資源;如果不緊張,不必修改

# 3. 查看NAT表使用情況(判斷NAT表資源是否緊張)

# 執(zhí)行下面的命令可以查看你的網(wǎng)關(guān)中NAT表情況

cat /proc/net/ip_conntrack

# 4. 查看本地開放端口的范圍

cat /proc/sys/net/ipv4/ip_local_port_range

# 返回兩個值,最小值和最大值

# 下面的命令幫你明確一下NAT表的規(guī)模

wc -l /proc/net/ip_conntrack

#或者

grep ip_conntrack /proc/slabinfo | grep -v expect | awk '{print $1 ',' $2;}'

# 下面的命令幫你明確可用的NAT表項(xiàng),如果這個值比較大,那就說明NAT表資源不緊張

grep ip_conntrack /proc/slabinfo | grep -v expect | awk '{print $1 ',' $3;}'

# 下面的命令幫你統(tǒng)計NAT表中占用端口最多的幾個ip,很有可能這些家伙再做一些bt的事情,嗯bt的事情:-)

cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10

# 上面這個命令有點(diǎn)瑕疵cut -d' ' -f10會因?yàn)槊钶敵鲇行┬腥表?xiàng)而造成統(tǒng)計偏差,下面給出一個正確的寫法:

cat /proc/net/ip_conntrack | perl -pe s/^\(.*?\)src/src/g | cut -d ' ' -f1 | cut -d '=' -f2 | sort | uniq -c | sort -nr | head -n 10

linux內(nèi)核操作的主要命令及作用

cp命令

該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強(qiáng)大

語法: cp [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄

說明:該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個源文件復(fù)制到目標(biāo)目錄中

-r 若給出的源文件是一目錄文件,此時cp將遞歸復(fù)制該目錄下所有的子目錄和文件

mv命令

用戶可以使用mv命令來為文件或目錄改名或?qū)⑽募梢粋€目錄移入另一個目錄中。該命令如同MSDOS下的ren和move的組合

語法:mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄

rm命令

該命令的功能為刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除

rm命令的一般形式為:

rm [選項(xiàng)] 文件…

如果沒有使用-r選項(xiàng),則rm不會刪除目錄

該命令的各選項(xiàng)含義如下:

-f 忽略不存在的文件,從不給出提示

-r 指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除

Vi命令

插入模式

按「i」切換進(jìn)入插入模式「insert mode」,按“i”進(jìn)入插入模式后是從光標(biāo)當(dāng)前位置開始輸入文件

按「a」進(jìn)入插入模式后,是從目前光標(biāo)所在位置的下一個位置開始輸入文字

按「o」進(jìn)入插入模式后,是插入新的一行,從行首開始輸入文字

從插入模式切換為命令行模式

按「ESC」鍵

查找字符

「/關(guān)鍵字」:先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會往后尋找到您要的關(guān)鍵字為止

「?關(guān)鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關(guān)鍵字為止

離開vi

「q」:按「q」就是退出,如果無法離開vi,可以在「q」后跟一個「!」強(qiáng)制離開vi

「qw」:一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以保存文件

mkdir命令

功能:創(chuàng)建一個目錄(類似MSDOS下的md命令)

語法:mkdir [選項(xiàng)] dir-name

說明:該命令創(chuàng)建由dir-name命名的目錄。要求創(chuàng)建目錄的用戶在當(dāng)前目錄中(dir-name的父目錄中)具有寫權(quán)限,并且dirname不能是當(dāng)前目錄中已有的目錄或 文件名稱。

命令中各選項(xiàng)的含義為:

-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在, 加上此選項(xiàng)后, 系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄

cd 命令

功能:改變工作目錄

語法:cd [directory]

說明:該命令將當(dāng)前目錄改變至directory所指定的目錄。若沒有指定directory, 則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執(zhí)行和讀權(quán)限

ls 命令

功能: 列出目錄的內(nèi)容,該命令類似于DOS下的dir命令

語法:ls [選項(xiàng)] [目錄或是文件]

對于每個目錄,該命令將列出其中的所有子目錄與文件。對于每個文件,ls將輸出 其文件名以及所要求的其他信息。默認(rèn)情況下,輸出條目按字母順序排序。當(dāng)未給出目錄名或是文件名時,就顯示當(dāng)前目錄的信息。

命令中各選項(xiàng)的含義如下:

-a 顯示指定目錄下所有子目錄與文件,包括隱藏文件

-c 按文件的修改時間排序

-t 顯示時按修改時間(最近優(yōu)先)而不是按名字排序。若文件修改時間相同,則 按字典順序。修改時間取決于是否使用了c或u選頂。缺省的時間標(biāo)記是最后一次修改時間

tar命令

tar可以為文件和目錄創(chuàng)建檔案。利用tar,用戶可以為某一特定文件創(chuàng)建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創(chuàng)建檔案,現(xiàn)在,用戶可以在任何設(shè)備上創(chuàng)建檔案,如軟盤。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或?qū)讉€文件組合成為一個文件以便于網(wǎng)絡(luò)傳輸是非常有用的。Linux上的tar是GNU版本的。

語法:tar [主選項(xiàng)+輔選項(xiàng)] 文件或者目錄

使用該命令時,主選項(xiàng)是必須要有的,它告訴tar要做什么事情,輔選項(xiàng)是輔助使用的,可以選用。

主選項(xiàng):

-c 創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項(xiàng)。

-x 從檔案文件中釋放文件。

-f 使用檔案文件或設(shè)備,這個選項(xiàng)通常是必選的。

-v 詳細(xì)報告tar處理的文件信息。如無此選項(xiàng),tar不報告文件信息。

-z 用gzip來壓縮/解壓縮文件,加上該選項(xiàng)后可以將檔案文件進(jìn)行壓縮,但還原時也一定要使用該選項(xiàng)進(jìn)行解壓縮

文件或目錄的訪問權(quán)限

Linux系統(tǒng)中的每個文件和目錄都有訪問許可權(quán)限,用它來確定誰可以通過何種方式對文件和目錄進(jìn)行訪問和操作

文件或目錄的訪問權(quán)限分為只讀,只寫和可執(zhí)行三種。以文件為例,只讀權(quán)限表示只允許讀其內(nèi)容,而禁止對其做任何的更改操作??蓤?zhí)行權(quán)限表示允許將該文件作為一個程序執(zhí)行。文件被創(chuàng)建時,文件所有者自動擁有對該文件的讀、寫和可執(zhí)行權(quán)限,以便于對文件的閱讀和修改。用戶也可根據(jù)需要把訪問權(quán)限設(shè)置為需要的任何組合

有三種不同類型的用戶可對文件或目錄進(jìn)行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創(chuàng)建者。所有者可以允許同組用戶有權(quán)訪問文件,還可以將文件的訪問權(quán)限賦予系統(tǒng)中的其他用戶。在這種情況下,系統(tǒng)中每一位用戶都能訪問該用戶擁有的文件或目錄

每一文件或目錄的訪問權(quán)限都有三組,每組用三位表示,分別為文件屬主的讀、寫和執(zhí)行權(quán)限;與屬主同組的用戶的讀、寫和執(zhí)行權(quán)限;系統(tǒng)中其他用戶的讀、寫和執(zhí)行權(quán)限。當(dāng)用ls -l命令顯示文件或目錄的詳細(xì)信息時,最左邊的一列為文件的訪問權(quán)限。

例如:

$ ls -l sobsrc. tgz

-rw-r–r– 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

橫線代表空許可。r代表只讀,w代表寫,x代表可執(zhí)行。注意這里共有10個位置。第一個字符指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字符是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄

例如:

- rw- r– r–

普通文件 文件主 組用戶 其他用戶

是文件sobsrc.tgz 的訪問權(quán)限,表示sobsrc.tgz是一個普通文件;sobsrc.tgz的屬主有讀寫權(quán)限;與sobsrc.tgz屬主同組的用戶只有讀權(quán)限;其他用戶也只有讀權(quán)限。

chmod 命令

chmod命令是非常重要的,用于改變文件或目錄的訪問權(quán)限。用戶用它控制文件或目錄的訪問權(quán)限。

該命令有兩種用法。一種是包含字母和操作符表達(dá)式的文字設(shè)定法;另一種是包含數(shù)字的數(shù)字設(shè)定法。

文字設(shè)定法

chmod [who] [+ | - | =] [mode] 文件名

命令中各選項(xiàng)的含義為:

操作對象who可是下述字母中的任一個或者它們的組合:

u 表示“用戶(user)”,即文件或目錄的所有者。

g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。

o 表示“其他(others)用戶”

a 表示“所有(all)用戶”。它是系統(tǒng)默認(rèn)值。

操作符號可以是:

+ 添加某個權(quán)限。

- 取消某個權(quán)限。

= 賦予給定權(quán)限并取消其他所有權(quán)限(如果有的話)

設(shè)置mode所表示的權(quán)限可用下述字母的任意組合:

r 可讀

w 可寫

x 可執(zhí)行

X 只有目標(biāo)文件對某些用戶是可執(zhí)行的或該目標(biāo)文件是目錄時才追加x 屬性。

s 在文件執(zhí)行時把進(jìn)程的屬主或組ID置為該文件的文件屬主。方式“u+s”設(shè)置文件的用戶ID位,“g+s”設(shè)置組ID位。

t 保存程序的文本到交換設(shè)備上。

u 與文件屬主擁有一樣的權(quán)限。

g 與和文件屬主同組的用戶擁有一樣的權(quán)限。

o 與其他用戶擁有一樣的權(quán)限。

文件名:以空格分開的要改變權(quán)限的文件列表,支持通配符

在一個命令行中可給出多個權(quán)限方式,其間用逗號隔開。

例如:chmod g+r,o+r example

使同組和其他用戶對文件example 有讀權(quán)限

chgrp命令

功能:改變文件或目錄所屬的組。

語法:chgrp [選項(xiàng)] group filename

該命令改變指定指定文件所屬的用戶組。其中g(shù)roup可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。

該命令的各選項(xiàng)含義為:

-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組

chown 命令

功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶xu,為了讓用戶xu能夠存取這個文件,root用戶應(yīng)該把這個文件的屬主設(shè)為xu,否則,用戶xu無法存取這個文件。

語法:chown [選項(xiàng)] 用戶或組 文件

說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變權(quán)限的文件列表,支持通配符。

該命令的各選項(xiàng)含義如下:

-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的擁有者

-v 顯示chown命令所做的工作

passwd命令

出于系統(tǒng)安全考慮,Linux系統(tǒng)中的每一個用戶除了有其用戶名外,還有其對應(yīng)的用戶口令。因此使用useradd命令增加時,還需使用passwd命令為每一位新增加的用戶設(shè)置口令;用戶以后還可以隨時用passwd命令改變自己的口令

該命令的一般格式為: passwd [用戶名] 其中用戶名為需要修改口令的用戶名。只有超級用戶可以使用“passwd 用戶名”修改其他用戶的口令,普通用戶只能用不帶參數(shù)的passwd命令修改自己的口令

該命令的使用方法如下:

輸入passwd Enter;

在new password:提示下輸入新的口令(在屏幕上看不到這個口令):

系統(tǒng)提示再次輸入這個新口令

su命令

它可以讓一個普通用戶擁有超級用戶或其他用戶的權(quán)限,也可以讓超級用戶以普通用戶的身份做一些事情。普通用戶使用這個命令時必須有超級用戶或其他用戶的口令。如要離開當(dāng)前用戶的身份,可以打exit

該命令的一般形式為: su [選項(xiàng)] [使用者帳號]

說明:若沒有指定使用者帳號,則系統(tǒng)預(yù)設(shè)值為超級用戶root。 該命令中各選項(xiàng)的含義分別為:

-c 執(zhí)行一個命令后就結(jié)束

- 加了這個減號的目的是使環(huán)境變量和欲轉(zhuǎn)換的用戶相同

-m 保留環(huán)境變量不變

shutdown命令

shutdown 命令可以安全地關(guān)閉或重啟Linux系統(tǒng),它在系統(tǒng)關(guān)閉之前給系統(tǒng)上的所有登錄用戶提示一條警告信息。該命令還允許用戶指定一個時間參數(shù),可以是一個精確的時間,也可以是從現(xiàn)在開始的一個時間段。精確時間的格式是hh:mm,表示小時和分鐘;時間段由“+”和分鐘數(shù)表示。系統(tǒng)執(zhí)行該命令后,會自動進(jìn)行數(shù)據(jù)同步的工作

該命令的一般格式為: shutdown [選項(xiàng)] [時間] [警告信息] 命令中各選項(xiàng)的含義為:

-k 并不真正關(guān)機(jī),而只是發(fā)出警告信息給所有用戶。

-r 關(guān)機(jī)后立即重新啟動。

-h 關(guān)機(jī)后不重新啟動。

-f 快速關(guān)機(jī),重啟動時跳過fsck。

-n 快速關(guān)機(jī),不經(jīng)過init程序。

-c 取消一個已經(jīng)運(yùn)行的shutdown

需要特別說明的是,該命令只能由超級用戶使用

free命令

free命令的功能是查看當(dāng)前系統(tǒng)內(nèi)存的使用情況,它顯示系統(tǒng)中剩余及已用的物理內(nèi)存和交換內(nèi)存,以及共享內(nèi)存和被核心使用的緩沖區(qū)。

該命令的一般格式為: free [-b | -k | -m] 命令中各選項(xiàng)的含義如下:

-b 以字節(jié)為單位顯示。

-k 以K字節(jié)為單位顯示。

-m 以兆字節(jié)為單位顯示

df命令

功能:檢查文件系統(tǒng)的磁盤空間占用情況??梢岳迷撁顏慝@取硬盤被占用了多少空間,目前還剩下多少空間等信息

語法:df [選項(xiàng)]

說明:df命令可顯示所有文件系統(tǒng)對i節(jié)點(diǎn)和磁盤塊的使用情況。

該命令各個選項(xiàng)的含義如下:

-a 顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng),如/proc文件系統(tǒng)。

-k 以k字節(jié)為單位顯示。

-i 顯示i節(jié)點(diǎn)信息,而不是磁盤塊。

-t 顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。

du命令

du的英文原義為“disk usage”,含義為顯示磁盤空間的使用情況。

功能:統(tǒng)計目錄(或文件)所占磁盤空間的大小。

語法:du [選項(xiàng)] [Names…]

說明:該命令逐級進(jìn)入指定目錄的每一個子目錄并顯示該目錄占用文件系統(tǒng)數(shù)據(jù)塊(1024字節(jié))的情況。若沒有給出Names,則對當(dāng)前目錄進(jìn)行統(tǒng)計。

該命令的各個選項(xiàng)含義如下:

-s 對每個Names參數(shù)只給出占用的數(shù)據(jù)塊總數(shù)。

date命令

date命令的功能是顯示和設(shè)置系統(tǒng)日期和時間。

該命令的一般格式為: date [選項(xiàng)] 顯示時間格式(以+開頭,后面接格式)

date 設(shè)置時間格式

命令中各選項(xiàng)的含義分別為:

-s datestr, –set datestr 設(shè)置datestr 描述的日期

注意:只有超級用戶才有權(quán)限使用date命令設(shè)置時間,一般用戶只能使用date命令顯示時間。

ifconfig

作用

ifconfig用于查看和更改網(wǎng)絡(luò)接口的地址和參數(shù),包括IP地址、網(wǎng)絡(luò)掩碼、廣播地址,使用權(quán)限是超級用戶

格式

ifconfig -interface [options] address

主要參數(shù)

-interface:指定的網(wǎng)絡(luò)接口名,如eth0和eth1

up:激活指定的網(wǎng)絡(luò)接口卡

down:關(guān)閉指定的網(wǎng)絡(luò)接口

address:設(shè)置指定接口設(shè)備的IP地址

netmask address:設(shè)置接口的子網(wǎng)掩碼

應(yīng)用說明

ifconfig是用來設(shè)置和配置網(wǎng)卡的命令行工具。為了手工配置網(wǎng)絡(luò),這是一個必須掌握的命令。使用該命令的好處是無須重新啟動機(jī)器。

要賦給eth0接口IP地址207.164.186.2,并且馬上激活它,使用下面命令:

#fconfig eth0 210.34.6.89 netmask 255.255.255.128

該命令的作用是設(shè)置網(wǎng)卡eth0的IP地址、網(wǎng)絡(luò)掩碼和網(wǎng)絡(luò)的本地廣播地址。若運(yùn)行不帶任何參數(shù)的ifconfig命令,這個命令將顯示機(jī)器所有激活接口的信息。帶有“-a”參數(shù)的命令則顯示所有接口的信息,包括沒有激活的接口。注意,用ifconfig命令配置的網(wǎng)絡(luò)設(shè)備參數(shù),機(jī)器重新啟動以后將會丟失

如果要暫停某個網(wǎng)絡(luò)接口的工作,可以使用down參數(shù):

#ifconfig eth0 down

netstat

作用

檢查整個Linux網(wǎng)絡(luò)狀態(tài)

格式

netstat [-acCeFghilMnNoprstuvVwx][-A][–ip]

主要參數(shù)

-a–all:顯示所有連線中的Socket

-l–listening:顯示監(jiān)控中的服務(wù)器的Socket

-n–numeric:直接使用IP地址,而不通過域名服務(wù)器

-p–programs:顯示正在使用Socket的程序識別碼和程序名稱

-t–tcp:顯示TCP傳輸協(xié)議的連線狀況

-u–udp:顯示UDP傳輸協(xié)議的連線狀況

-apn 查看開啟的端口

應(yīng)用實(shí)例

netstat主要用于Linux察看自身的網(wǎng)絡(luò)狀況,如開啟的端口、在為哪些用戶服務(wù),以及服務(wù)的狀態(tài)等。此外,它還顯示系統(tǒng)路由表、網(wǎng)絡(luò)接口狀態(tài)等??梢哉f,它是一個綜合性的網(wǎng)絡(luò)狀態(tài)的察看工具。在默認(rèn)情況下,netstat只顯示已建立連接的端口。如果要顯示處于監(jiān)聽狀態(tài)的所有端口,使用-a參數(shù)即可:

#netstat -a

lsof

作用

顯示系統(tǒng)打開的文件

格式

lsof 〔options〕 filename

主要參數(shù)

lsof -a: 表示兩個參數(shù)都必須滿足時才顯示結(jié)果

lsof -c string: 顯示COMMAND列中包含指定字符的進(jìn)程所有打開的文件

lsof -u username: 顯示所屬user進(jìn)程打開的文件

lsof -g gid: 顯示歸屬gid的進(jìn)程情況

lsof +d /DIR/: 顯示目錄下被進(jìn)程打開的文件

lsof +D /DIR/: 同上,但是會搜索目錄下的所有目錄,時間相對較長

lsof -d FD: 顯示指定文件描述符的進(jìn)程

lsof -n: 不將IP轉(zhuǎn)換為hostname,缺省是不加上-n參數(shù)

lsof -i: 用以顯示符合條件的進(jìn)程情況

lsof -i:port: 查看端口運(yùn)行的程序。

例如:查看22端口所運(yùn)行的程序 #lsof -i:22

telnet

作用

telnet表示開啟終端機(jī)階段作業(yè),并登入遠(yuǎn)端主機(jī)。telnet是一個Linux命令,同時也是一個協(xié)議(遠(yuǎn)程登陸協(xié)議)

格式

telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主機(jī)名稱IP地址通信端口]

ftp

作用

ftp命令進(jìn)行遠(yuǎn)程文件傳輸。FTP是ARPANet的標(biāo)準(zhǔn)文件傳輸協(xié)議,該網(wǎng)絡(luò)就是現(xiàn)今Internet的前身,所以ftp既是協(xié)議又是一個命令。

格式

ftp [-dignv][主機(jī)名稱IP地址]

應(yīng)用說明

ftp命令是標(biāo)準(zhǔn)的文件傳輸協(xié)議的用戶接口,是在TCP/IP網(wǎng)絡(luò)計算機(jī)之間傳輸文件簡單有效的方法,它允許用戶傳輸ASCⅡ文件和二進(jìn)制文件。為了使用ftp 來傳輸文件,用戶必須知道遠(yuǎn)程計算機(jī)上的合法用戶名和口令。這個用戶名/口令的組合用來確認(rèn)ftp會話,并用來確定用戶對要傳輸?shù)奈募M(jìn)行什么樣的訪問。另外,用戶需要知道對其進(jìn)行ftp會話的計算機(jī)名字的IP地址

用戶可以通過使用ftp客戶程序,連接到另一臺計算機(jī)上;可以在目錄中上下移動、列出目錄內(nèi)容;可以把文件從遠(yuǎn)程計算機(jī)機(jī)拷貝到本地機(jī)上;還可以把文件從本地機(jī)傳輸?shù)竭h(yuǎn)程系統(tǒng)中。ftp內(nèi)部命令有72個,下面列出主要幾個內(nèi)部命令:

ls:列出遠(yuǎn)程機(jī)的當(dāng)前目錄

cd:在遠(yuǎn)程機(jī)上改變工作目錄

lcd:在本地機(jī)上改變工作目錄

close:終止當(dāng)前的ftp會話

get(mget):從遠(yuǎn)程機(jī)傳送指定文件到本地機(jī)

put(mput):從本地機(jī)傳送指定文件到遠(yuǎn)程機(jī)

quit:斷開與遠(yuǎn)程機(jī)的連接,并退出ftp

route

作用

route表示手工產(chǎn)生、修改和查看路由表

格式

#route [-add][-net|-host] targetaddress [-netmask Nm][dev]If]

#route [-delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]

主要參數(shù)

-add:增加路由

-delete:刪除路由

-net:路由到達(dá)的是一個網(wǎng)絡(luò),而不是一臺主機(jī)

-host:路由到達(dá)的是一臺主機(jī)

-netmask Nm:指定路由的子網(wǎng)掩碼

gw:指定路由的網(wǎng)關(guān)

[dev]If:強(qiáng)迫路由鏈指定接口。

應(yīng)用實(shí)例

route命令是用來查看和設(shè)置Linux系統(tǒng)的路由信息,以實(shí)現(xiàn)與其它網(wǎng)絡(luò)的通信。要實(shí)現(xiàn)兩個不同的子網(wǎng)之間的通信,需要一臺連接兩個網(wǎng)絡(luò)的路由器,或者同時位于兩個網(wǎng)絡(luò)的網(wǎng)關(guān)來實(shí)現(xiàn)

在Linux系統(tǒng)中,設(shè)置路由通常是為了解決以下問題:該Linux系統(tǒng)在一個局域網(wǎng)中,局域網(wǎng)中有一個網(wǎng)關(guān),能夠讓機(jī)器訪問Internet,那么就需要將這臺機(jī)器的IP地址設(shè)置為Linux機(jī)器的默認(rèn)路由。使用下面命令可以增加一個默認(rèn)路由:

route add 0.0.0.0 192.168.1.1

top

作用

top命令用來顯示執(zhí)行中的程序進(jìn)程,使用權(quán)限是所有用戶。

格式

top [-] [d delay] [q] [c] [S] [s] [i] [n]

主要參數(shù)

d:指定更新的間隔,以秒計算

q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優(yōu)先序執(zhí)行

c:顯示進(jìn)程完整的路徑與名稱

i:不顯示任何閑置(Idle)或無用(Zombie)的行程

n:顯示更新的次數(shù),完成后將會退出top。

說明

top命令是Linux系統(tǒng)管理的一個主要命令,通過它可以獲得許多信息。這里我們結(jié)合圖1來說明它給出的信息

下面列出了詳細(xì)解釋

PID(Process ID):進(jìn)程標(biāo)示號

USER:進(jìn)程所有者的用戶名

PR:進(jìn)程的優(yōu)先級別

NI:進(jìn)程的優(yōu)先級別數(shù)值

VIRT:進(jìn)程占用的虛擬內(nèi)存值

RES:進(jìn)程占用的物理內(nèi)存值

SHR:進(jìn)程使用的共享內(nèi)存值

S:進(jìn)程的狀態(tài),其中S表示休眠,R表示正在運(yùn)行,Z表示僵死狀態(tài),N表示該進(jìn)程優(yōu)先值是負(fù)數(shù)

%CPU:該進(jìn)程占用的CPU使用率

%MEM:該進(jìn)程占用的物理內(nèi)存和總內(nèi)存的百分比

TIME+:該進(jìn)程啟動后占用的總的CPU時間

Command:進(jìn)程啟動的啟動命令名稱,如果這一行顯示不下,進(jìn)程會有一個完整的命令行。


當(dāng)前題目:linux寫入內(nèi)核命令,linux編譯內(nèi)核命令
URL鏈接:http://weahome.cn/article/hsdjsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部