新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux基礎(chǔ)命令之: Linux常用命令

Linux基礎(chǔ)命令之: Linux常用命令

作者: 時(shí)間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/257158.htm

2.patch

(1)作用。

命令跟diff配合使用,把生成的補(bǔ)丁文件應(yīng)用到現(xiàn)有代碼上。

(2)格式。

patch[選項(xiàng)][待patch的文件[patch文件]]。

常用的格式為:patch-pnum[patch文件],其中的-pnum是選項(xiàng)參數(shù),在后面會詳細(xì)介紹。

(3)常見參數(shù)。

patch主要選項(xiàng)參數(shù)如表2.27所示。

表2.27 patch命令常見參數(shù)列表

選項(xiàng)

參數(shù)含義

-b

生成備份文件

-d

把dir設(shè)置為解釋補(bǔ)丁文件名的當(dāng)前目錄

-e

把輸入的補(bǔ)丁文件看作是ed腳本

-pnum

剝離文件名中的前NUM個(gè)目錄部分

-t

在執(zhí)行過程中不要求任何輸入

-v

顯示patch的版本號

以下對-punm選項(xiàng)進(jìn)行說明。

首先查看以下示例(對分別位于xc.orig/config/cf/Makefile和xc.bsd/config/cf/Makefile的文件使用patch命令)。

diff-ruNaxc.orig/config/cf/Makefilexc.bsd/config/cf/Makefile

以下是patch文件的頭標(biāo)記。

---xc.orig/config/cf/Imake.cfFriJul3012:45:471999

+++xc.new/config/cf/Imake.cfFriJan2113:48:442000

這個(gè)patch如果直接應(yīng)用,那么它會去找“xc.orig/config/cf”目錄下的Makefile文件,假如用戶源碼樹的根目錄是缺省的xc而不是xc.orig,則除了可以把xc.orig移到xc處之外,還有什么簡單的方法應(yīng)用此patch嗎?NUM就是為此而設(shè)的:patch會把目標(biāo)路徑名剝?nèi)UM個(gè)“/”,也就是說,在此例中,-p1的結(jié)果是config/cf/Makefile,-p2的結(jié)果是cf/Makefile。因此,在此例中就可以用命令cdxc;patch_p1/pathname/xxx.patch完成操作。

(4)使用實(shí)例。

[root@localhostdavid]#diffhello1.chello2.c>hello1.patch

[root@localhostdavid]#patch./hello1.chello1.patch

patchingfile./hello1.c

[root@localhostdavid]#vihello1.c

#includestdio.h>

voidmain()

{

printf(Hello!Thisisyourhome!n);

}

在該實(shí)例中,由于patch文件和源文件在同一目錄下,因此直接給出了目標(biāo)文件的目錄,在應(yīng)用了patch之后,hello1.c的內(nèi)容變?yōu)榱薶ello2.c的內(nèi)容。

(5)使用說明。

n 如果patch失敗,patch命令會把成功的patch行補(bǔ)上其差異,同時(shí)(無條件)生成備份文件和一個(gè).rej文件。.rej文件里沒有成功提交的patch行,需要手工打上補(bǔ)丁。這種情況在源碼升級的時(shí)候有可能會發(fā)生。

n 在多數(shù)情況下,patch程序可以確定補(bǔ)丁文件的格式,當(dāng)它不能識別時(shí),可以使用-c、-e、-n或者-u選項(xiàng)來指定輸入的補(bǔ)丁文件的格式。由于只有GNUpatch可以創(chuàng)建和讀取新版上下文格式的patch文件,因此,除非能夠確定補(bǔ)丁所面向的只是那些使用GNU工具的用戶,否則應(yīng)該使用舊版上下文格式來生成補(bǔ)丁文件。

n 為了使patch程序能夠正常工作,需要上下文的行數(shù)至少是2行(即至少是有一處差別的文件)。

2.1.5網(wǎng)絡(luò)相關(guān)命令

下網(wǎng)絡(luò)相關(guān)的常見命令如表2.28所示,本書僅以ifconfig和ftp為例進(jìn)行說明。

表2.28 下網(wǎng)絡(luò)相關(guān)命令

選項(xiàng)

參數(shù)含義

常見選項(xiàng)格式

netstat

顯示網(wǎng)絡(luò)連接、路由表和網(wǎng)絡(luò)接口信息

netstat[-an]

nslookup

查詢一臺機(jī)器的IP地址和其對應(yīng)的域名

nslookup[IP地址/域名]

finger

查詢用戶的信息

finger[選項(xiàng)][使用者][用戶@主機(jī)]

ping

用于查看網(wǎng)絡(luò)上的主機(jī)是否在工作

ping[選項(xiàng)]主機(jī)名/IP地址

ifconfig

查看和配置網(wǎng)絡(luò)接口的參數(shù)

ifconfig[選項(xiàng)][網(wǎng)絡(luò)接口]

ftp

利用ftp協(xié)議上傳和下載文件

在本節(jié)中會詳細(xì)講述

telnet

利用telnet協(xié)議訪問主機(jī)

telent[選項(xiàng)][IP地址/域名]

ssh

利用ssh登錄對方主機(jī)

ssh[選項(xiàng)][IP地址]

1.ifconfig

(1)作用。

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

(2)格式。

ifconfig有兩種使用格式,分別用于查看和更改網(wǎng)絡(luò)接口。

①ifconfig[選項(xiàng)][網(wǎng)絡(luò)接口]:用來查看當(dāng)前系統(tǒng)的網(wǎng)絡(luò)配置情況。

②ifconfig網(wǎng)絡(luò)接口[選項(xiàng)]地址:用來配置指定接口(如eth0、eth1)的IP地址、網(wǎng)絡(luò)掩碼、廣播地址等。

(3)常見參數(shù)。

ifconfig第二種格式的常見選項(xiàng)參數(shù)如表2.29所示。

表2.29 ftp命令選項(xiàng)的常見參數(shù)列表

選項(xiàng)

參數(shù)含義

-interface

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

up

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

down

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

broadcastaddress

設(shè)置接口的廣播地址

pointopoint

啟用點(diǎn)對點(diǎn)方式

address

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

netmaskaddress

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

(4)使用實(shí)例。

首先,在本例中使用ifconfig的第一種格式來查看網(wǎng)絡(luò)接口配置情況。

[root@localhost~]#ifconfig

eth0Linkencap:EthernetHWaddr00:08:02:E0:C1:8A

inetaddr:192.168.1.70Bcast:192.168.1.255

Mask:255.255.255.0

inet6addr:fe80::208:2ff:fee0:c18a/64Scope:Link

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:26931errors:0dropped:0overruns:0frame:0

TXpackets:3209errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:6669382(6.3MiB)TXbytes:321302(313.7KiB)

Interrupt:11

loLinkencap:LocalLoopback

inetaddr:127.0.0.1Mask:255.0.0.0

inet6addr:::1/128Scope:Host

UPLOOPBACKRUNNINGMTU:16436Metric:1

RXpackets:2537errors:0dropped:0overruns:0frame:0

TXpackets:2537errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:0

RXbytes:2093403(1.9MiB)TXbytes:2093403(1.9MiB)

可以看出,使用ifconfig的顯示結(jié)果中詳細(xì)列出了所有活躍接口的IP地址、硬件地址、廣播地址、子網(wǎng)掩碼、回環(huán)地址等。

[root@localhostworkplace]#ifconfigeth0

eth0Linkencap:EthernetHWaddr00:08:02:E0:C1:8A

inetaddr:192.168.1.70Bcast:192.168.1.255Mask:255.255.255.0

inet6addr:fe80::208:2ff:fee0:c18a/64Scope:Link

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:27269errors:0dropped:0overruns:0frame:0

TXpackets:3212errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:6698832(6.3MiB)TXbytes:322488(314.9KiB)

Interrupt:11

在此例中,通過指定接口顯示出對應(yīng)接口的詳細(xì)信息。另外,用戶還可以通過指定參數(shù)“-a”來查看所有接口(包括非活躍接口)的信息。

接下來的示例指出了如何使用ifconfig的第二種格式來改變指定接口的網(wǎng)絡(luò)參數(shù)配置。

[root@localhost~]#ifconfigeth0down

[root@localhost~]#ifconfig

loLinkencap:LocalLoopback

inetaddr:127.0.0.1Mask:255.0.0.0

inet6addr:::1/128Scope:Host

UPLOOPBACKRUNNINGMTU:16436Metric:1

RXpackets:1931errors:0dropped:0overruns:0frame:0

TXpackets:1931errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:0

RXbytes:2517080(2.4MiB)TXbytes:2517080(2.4MiB)

在此例中,通過將指定接口的狀態(tài)設(shè)置為DOWN,暫時(shí)停止該接口的工作。

[root@localhost~]#ifconfigeth0210.25.132.142netmask255.255.255.0

[root@localhost~]#ifconfig

eth0Linkencap:EthernetHWaddr00:08:02:E0:C1:8A

inetaddr:210.25.132.142Bcast:210.25.132.255Mask:255.255.255.0

inet6addr:fe80::208:2ff:fee0:c18a/64Scope:Link

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:1722errors:0dropped:0overruns:0frame:0

TXpackets:5errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:147382(143.9KiB)TXbytes:398(398.0b)

Interrupt:11

從上例可以看出,ifconfig改變了接口eth0的IP地址、子網(wǎng)掩碼等,在之后的ifconfig查看中可以看出確實(shí)發(fā)生了變化。

(5)使用說明。

用ifconfig命令配置的網(wǎng)絡(luò)設(shè)備參數(shù)不重啟就可生效,但在機(jī)器重新啟動以后將會失效,除非在網(wǎng)絡(luò)接口配置文件中進(jìn)行修改。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉