新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Linux基础命令之: Linux常用命令

Linux基础命令之: Linux常用命令

作者:时间:2013-09-13来源:网络收藏

本文引用地址:http://www.amcfsurvey.com/article/257158.htm

2.patch

(1)作用。

命令跟diff配合使用,把生成的补丁文件应用到现有代码上。

(2)格式。

patch[选项][待patch的文件[patch文件]]。

常用的格式为:patch-pnum[patch文件],其中的-pnum是选项参数,在后面会详细介绍。

(3)常见参数。

patch主要选项参数如表2.27所示。

表2.27 patch命令常见参数列表

选项

参数含义

-b

生成备份文件

-d

把dir设置为解释补丁文件名的当前目录

-e

把输入的补丁文件看作是ed脚本

-pnum

剥离文件名中的前NUM个目录部分

-t

在执行过程中不要求任何输入

-v

显示patch的版本号

以下对-punm选项进行说明。

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

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

以下是patch文件的头标记。

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

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

这个patch如果直接应用,那么它会去找“xc.orig/config/cf”目录下的Makefile文件,假如用户源码树的根目录是缺省的xc而不是xc.orig,则除了可以把xc.orig移到xc处之外,还有什么简单的方法应用此patch吗?NUM就是为此而设的:patch会把目标路径名剥去NUM个“/”,也就是说,在此例中,-p1的结果是config/cf/Makefile,-p2的结果是cf/Makefile。因此,在此例中就可以用命令cdxc;patch_p1/pathname/xxx.patch完成操作。

(4)使用实例。

[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);

}

在该实例中,由于patch文件和源文件在同一目录下,因此直接给出了目标文件的目录,在应用了patch之后,hello1.c的内容变为了hello2.c的内容。

(5)使用说明。

n 如果patch失败,patch命令会把成功的patch行补上其差异,同时(无条件)生成备份文件和一个.rej文件。.rej文件里没有成功提交的patch行,需要手工打上补丁。这种情况在源码升级的时候有可能会发生。

n 在多数情况下,patch程序可以确定补丁文件的格式,当它不能识别时,可以使用-c、-e、-n或者-u选项来指定输入的补丁文件的格式。由于只有GNUpatch可以创建和读取新版上下文格式的patch文件,因此,除非能够确定补丁所面向的只是那些使用GNU工具的用户,否则应该使用旧版上下文格式来生成补丁文件。

n 为了使patch程序能够正常工作,需要上下文的行数至少是2行(即至少是有一处差别的文件)。

2.1.5网络相关命令

下网络相关的常见命令如表2.28所示,本书仅以ifconfig和ftp为例进行说明。

表2.28 下网络相关命令

选项

参数含义

常见选项格式

netstat

显示网络连接、路由表和网络接口信息

netstat[-an]

nslookup

查询一台机器的IP地址和其对应的域名

nslookup[IP地址/域名]

finger

查询用户的信息

finger[选项][使用者][用户@主机]

ping

用于查看网络上的主机是否在工作

ping[选项]主机名/IP地址

ifconfig

查看和配置网络接口的参数

ifconfig[选项][网络接口]

ftp

利用ftp协议上传和下载文件

在本节中会详细讲述

telnet

利用telnet协议访问主机

telent[选项][IP地址/域名]

ssh

利用ssh登录对方主机

ssh[选项][IP地址]

1.ifconfig

(1)作用。

用于查看和配置网络接口的地址和参数,包括IP地址、网络掩码、广播地址,它的使用权限是超级用户。

(2)格式。

ifconfig有两种使用格式,分别用于查看和更改网络接口。

①ifconfig[选项][网络接口]:用来查看当前系统的网络配置情况。

②ifconfig网络接口[选项]地址:用来配置指定接口(如eth0、eth1)的IP地址、网络掩码、广播地址等。

(3)常见参数。

ifconfig第二种格式的常见选项参数如表2.29所示。

表2.29 ftp命令选项的常见参数列表

选项

参数含义

-interface

指定的网络接口名,如eth0和eth1

up

激活指定的网络接口卡

down

关闭指定的网络接口

broadcastaddress

设置接口的广播地址

pointopoint

启用点对点方式

address

设置指定接口设备的IP地址

netmaskaddress

设置接口的子网掩码

(4)使用实例。

首先,在本例中使用ifconfig的第一种格式来查看网络接口配置情况。

[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的显示结果中详细列出了所有活跃接口的IP地址、硬件地址、广播地址、子网掩码、回环地址等。

[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

在此例中,通过指定接口显示出对应接口的详细信息。另外,用户还可以通过指定参数“-a”来查看所有接口(包括非活跃接口)的信息。

接下来的示例指出了如何使用ifconfig的第二种格式来改变指定接口的网络参数配置。

[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)

在此例中,通过将指定接口的状态设置为DOWN,暂时停止该接口的工作。

[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地址、子网掩码等,在之后的ifconfig查看中可以看出确实发生了变化。

(5)使用说明。

用ifconfig命令配置的网络设备参数不重启就可生效,但在机器重新启动以后将会失效,除非在网络接口配置文件中进行修改。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭