??xml version="1.0" encoding="utf-8" standalone="yes"?>97久久国产露脸精品国产,国产69精品久久久久9999,久久久青草久久久青草http://www.shnenglu.com/aaxron/category/15297.html记录修行的印? zh-cnMon, 17 Aug 2015 04:20:00 GMTMon, 17 Aug 2015 04:20:00 GMT60NFS /etc/export配置http://www.shnenglu.com/aaxron/archive/2013/06/04/200796.html天下天下Tue, 04 Jun 2013 07:10:00 GMThttp://www.shnenglu.com/aaxron/archive/2013/06/04/200796.htmlhttp://www.shnenglu.com/aaxron/comments/200796.htmlhttp://www.shnenglu.com/aaxron/archive/2013/06/04/200796.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/200796.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/200796.html

NFS /etc/export配置
nfs服务器的配置Q配|文?etc/exportsQ?br />?
路径 L(d权限,映射选项,操作选项)
/ 192.168.3.*(rw,no_root_squash,sync)

d权限:
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有d权限

映射选项:
root_squash 客户机用root用户讉K该共享文件夹Ӟroot用户映射成匿名用?br />no_root_squash 客户机用root讉K该共享文件夹Ӟ不映root用户

操作选项:
sync 资料同步写入到内存与盘?br />async 资料会先暂存于内存中Q而非直接写入盘

重启NFS:
/etc/init.d/nfs restart

启动nfs后又修改?etc/exportsQ不用重启该服务Q用exports命o卛_Q?br />exports [-aruv]
-a 全部mount或umount文g/etc/exports中的内容
-r 重新mount文g/etc/exports中的׃n内容
-u umount目录
-v 在export的时候,详l的信息输出到屏q上

例:
exportfs –rv 全部重新export一?br />exportfs –au 全部卸蝲

客户端挂?
mount –t nfs -rw [-o 选项] <hostname/ip>:/directory /mount point

具体例子:
mount -t nfs -rw -o nolock 192.168.3.16:/ /mnt/s3c32416
卸蝲Q?br />umount /本地挂蝲目录
 



天下 2013-06-04 15:10 发表评论
]]>
每天一个linux命oQ?2Q:ifconfig命ohttp://www.shnenglu.com/aaxron/archive/2013/03/07/198263.html天下天下Thu, 07 Mar 2013 06:29:00 GMThttp://www.shnenglu.com/aaxron/archive/2013/03/07/198263.htmlhttp://www.shnenglu.com/aaxron/comments/198263.htmlhttp://www.shnenglu.com/aaxron/archive/2013/03/07/198263.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/198263.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/198263.html每天一个linux命oQ?2Q:ifconfig命o

许多windows非常熟悉ipconfig命o行工P它被用来获取|络接口配置信息q对此进行修攏VLinuxpȝ拥有一个类似的工具Q也是ifconfig(interfaces config)。通常需要以rootw䆾d或用sudo以便在Linux机器上用ifconfig工具。依赖于ifconfig命o中用一些选项属性,ifconfig工具不仅可以被用来简单地获取|络接口配置信息Q还可以修改q些配置?br />1Q命令格式:
ifconfig [|络讑֤] [参数]
2Q命令功能:
ifconfig 命o用来查看和配|网l设备。当|络环境发生改变时可通过此命令对|络q行相应的配|?br />3Q命令参敎ͼ
up 启动指定|络讑֤/|卡?br />down 关闭指定|络讑֤/|卡。该参数可以有效地阻止通过指定接口的IP信息,如果x久地关闭一个接口,我们q需要从核心路由表中该接口的\׃息全部删除?br />arp 讄指定|卡是否支持ARP协议?br />-promisc 讄是否支持|卡的promiscuous模式Q如果选择此参敎ͼ|卡接收网l中发给它所有的数据?br />-allmulti 讄是否支持多播模式Q如果选择此参敎ͼ|卡接收网l中所有的多播数据?br />-a 昄全部接口信息
-s 昄摘要信息Q类g netstat -iQ?br />add l指定网卡配|IPv6地址
del 删除指定|卡的IPv6地址
<g地址> 配置|卡最大的传输单元
mtu<字节?gt; 讄|卡的最大传输单?nbsp;(bytes)
netmask<子网掩码> 讄|卡的子|掩码。掩码可以是有前~0x?2位十六进制数Q也可以是用点分开?个十q制数。如果不打算网l分成子|,可以不管q一选项Q如果要使用子网Q那么请CQ网l中每一个系l必L相同子网掩码?br />tunel 建立隧道
dstaddr 讑֮一个远端地址Q徏立点对点通信
-broadcast<地址> 为指定网卡设|广播协?br />-pointtopoint<地址> 为网卡设|点对点通讯协议
multicast 为网卡设|组播标?br />address 为网卡设|IPv4地址
txqueuelen<长度> 为网卡设|传输列队的长度
4Q用实例:
实例1Q显C网l设备信息(Ȁzȝ态的Q?br />命oQ?br />ifconfig
输出Q?/p>

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:20  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)

 

说明Q?br />eth0 表示W一块网卡, 其中 HWaddr 表示|卡的物理地址Q可以看到目前这个网卡的物理地址(MAC地址Q是 00:50:56:BF:26:20
inet addr 用来表示|卡的IP地址Q此|卡?nbsp;IP地址?nbsp;192.168.120.204Q广播地址Q?nbsp;Bcast:192.168.120.255Q掩码地址Mask:255.255.255.0 
lo 是表CZ机的回坏地址Q这个一般是用来试一个网l程序,但又不想让局域网或外|的用户能够查看Q只能在此台L上运行和查看所用的|络接口。比如把 HTTPD服务器的指定到回坏地址Q在览器输?nbsp;127.0.0.1 p看到你所架WEB|站了。但只是您能看得刎ͼ局域网的其它主机或用户无从知道?br />W一行:q接cdQEthernetQ以太网QHWaddrQ硬件mac地址Q?br />W二行:|卡的IP地址、子|、掩?br />W三行:UPQ代表网卡开启状态)RUNNINGQ代表网卡的|线被接上)MULTICASTQ支持组播)MTU:1500Q最大传输单元)Q?500字节
W四、五行:接收、发送数据包情况l计
W七行:接收、发送数据字节数l计信息?br />实例2Q启动关闭指定网?br />命oQ?br />ifconfig eth0 up
ifconfig eth0 down
输出Q?br />说明Q?br />ifconfig eth0 up 为启动网卡eth0 Qifconfig eth0 down 为关闭网卡eth0。ssh登陆linux服务器操作要心Q关闭了׃能开启了Q除非你有多|卡?br />实例3Qؓ|卡配置和删除IPv6地址
命oQ?br />ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64
输出Q?br />说明Q?br />ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0配置IPv6地址Q?br />ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0删除IPv6地址Q?br />l习的时候,ssh登陆linux服务器操作要心Q关闭了׃能开启了Q除非你有多|卡?br />实例4Q用ifconfig修改MAC地址
命oQ?br />ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
输出Q?/p>

[root@localhost ~]# ifconfig eth0 down //关闭|卡
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~]# ifconfig eth0 up //启动|卡
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AA:BB:CC:DD:EE  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)
[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //关闭|卡q修改MAC地址 
[root@localhost ~]# ifconfig eth0 up //启动|卡
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:20  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB) 

说明Q?br /> 

实例5Q配|IP地址
命oQ?br />输出Q?br />[root@localhost ~]# ifconfig eth0 192.168.120.56 
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
 

说明Q?br />ifconfig eth0 192.168.120.56 
leth0|卡配置IP圎ͼ192.168.120.56
 ifconfig eth0 192.168.120.56 netmask 255.255.255.0 
leth0|卡配置IP地址Q?92.168.120.56 Qƈ加上子掩码:255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
/leth0|卡配置IP地址Q?92.168.120.56Q加上子掩码Q?55.255.255.0Q加上个q播地址Q?nbsp;192.168.120.255
 

实例6Q启用和关闭ARP协议
命oQ?br />ifconfig eth0 arp
ifconfig eth0 -arp
输出Q?br />[root@localhost ~]# ifconfig eth0 arp 
[root@localhost ~]# ifconfig eth0 -arp
 

说明Q?br />ifconfig eth0 arp 开启网卡eth0 的arp协议Q?br />ifconfig eth0 -arp 关闭|卡eth0 的arp协议Q?br /> 

实例7Q设|最大传输单?br />命oQ?br />ifconfig eth0 mtu 1500
输出Q?/p>

[root@localhost ~]# ifconfig eth0 mtu 1480
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:1F  
          inet addr:192.168.120.203  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1480  Metric:1
          RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:597062089 (569.4 MiB)  TX bytes:2643973 (2.5 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:518096 (505.9 KiB)  TX bytes:518096 (505.9 KiB)

[root@localhost ~]# ifconfig eth0 mtu 1500
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:1F  
          inet addr:192.168.120.203  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:597072333 (569.4 MiB)  TX bytes:2650581 (2.5 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:518096 (505.9 KiB)  TX bytes:518096 (505.9 KiB)

[root@localhost ~]# 

 

说明Q?br />讄能通过的最大数据包大小?nbsp;1500 bytes
 

备注Q用ifconfig命o配置的网卡信息,在网卡重启后机器重启后,配置׃存在。要惛_上述的配|信息永q的存的电脑里,那就要修改网卡的配置文g了?/p>

转自:http://www.cnblogs.com/peida/archive/2013/02/27/2934525.html



天下 2013-03-07 14:29 发表评论
]]>
每天一个linux命oQ?3Q:route命ohttp://www.shnenglu.com/aaxron/archive/2013/03/07/198262.html天下天下Thu, 07 Mar 2013 06:25:00 GMThttp://www.shnenglu.com/aaxron/archive/2013/03/07/198262.htmlhttp://www.shnenglu.com/aaxron/comments/198262.htmlhttp://www.shnenglu.com/aaxron/archive/2013/03/07/198262.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/198262.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/198262.html每天一个linux命oQ?3Q:route命o
http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html

Linuxpȝ的route命o用于昄和操作IP路由表(show / manipulate the IP routing tableQ。要实现两个不同的子|之间的通信Q需要一台连接两个网l的路由器,或者同时位于两个网l的|关来实现。在Linuxpȝ中,讄路由通常是ؓ了解决以下问题:该Linuxpȝ在一个局域网中,局域网中有一个网养I能够让机器访问InternetQ那么就需要将q台机器的IP地址讄为Linux机器的默认\由。要注意的是Q直接在命o行下执行route命o来添加\由,不会怹保存Q当|卡重启或者机器重启之后,该\由就失效了;可以?etc/rc.local中添加route命o来保证该路由讄怹有效?br />1Q命令格式:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
2Q命令功能:
route命o是用于操作基于内核ip路由表,它的主要作用是创Z个静态\p指定一个主机或者一个网l通过一个网l接口,如eth0。当使用"add"或?del"参数Ӟ路由表被修改Q如果没有参敎ͼ则显C\p当前的内宏V?br />3Q命令参敎ͼ
-c 昄更多信息
-n 不解析名?br />-v 昄详细的处理信?br />-F 昄发送信?br />-C 昄路由~存
-f 清除所有网兛_口的路由表?
-p ?add 命o一起用时使\由具有永久性?br /> 
add:d一条新路由?br />del:删除一条\由?br />-net:目标地址是一个网l?br />-host:目标地址是一个主机?br />netmask:当添加一个网l\由时Q需要用网l掩码?br />gw:路由数据包通过|关。注意,你指定的|关必须能够辑ֈ?br />metricQ设|\p数?br />Command 指定您想q行的命?(Add/Change/Delete/Print)?
Destination 指定该\q|络目标?
mask Netmask 指定与网l目标相关的|络掩码Q也被称作子|掩码)?
Gateway 指定|络目标定义的地址集和子网掩码可以到达的前q或下一跃点 IP 地址?
metric Metric \由指定一个整数成本值标Q从 1 ?9999Q,当在路由?与{发的数据包目标地址最匚w)的多个\׃q行选择时可以用?
if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口烦引,使用 route print 命o的显C功能。可以用十q制或十六进制D行接口烦引?br />4Q用实例:
实例1Q显C当前\?br />命oQ?br />route
route -n

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
e192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
0.0.0.0         192.168.120.240 0.0.0.0         UG    0      0        0 eth0

说明Q?br />W一行表CZ机所在网l的地址?92.168.120.0Q若数据传送目标是在本局域网内通信Q则可直接通过eth0转发数据?
W四行表C数据传送目的是讉KInternetQ则由接口eth0Q将数据包发送到|关192.168.120.240
其中Flags\由标志,标记当前|络节点的状态?br />Flags标志说明Q?br />U Up表示此\由当前ؓ启动状?br />H HostQ表C此|关ZL
G GatewayQ表C此|关Z路由?br />R Reinstate routeQ用动态\由重新初始化的\?br />D Dynamically,此\由是动态性地写入
M ModifiedQ此路由是由路由守护E序或导向器动态修?br />! 表示此\由当前ؓ关闭状?br />备注Q?br />route -n (-n 表示不解析名?列出速度会比route ?

实例2Q添加网?讄|关
命oQ?br />route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
输出Q?br />[root@localhost ~]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# 
说明Q?br />增加一?到达244.0.0.0的\?/p>

实例3Q屏蔽一条\?br />命oQ?br />route add -net 224.0.0.0 netmask 240.0.0.0 reject
输出Q?br />[root@localhost ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       -               240.0.0.0       !     0      -        0 -
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0

说明Q?br />增加一条屏蔽的路由Q目的地址?224.x.x.x 被拒绝

实例4Q删除\p?br />命oQ?br />route del -net 224.0.0.0 netmask 240.0.0.0
route del -net 224.0.0.0 netmask 240.0.0.0 reject
输出Q?br />[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       -               240.0.0.0       !     0      -        0 -
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# route del -net 224.0.0.0 netmask 240.0.0.0
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       -               240.0.0.0       !     0      -        0 -
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# route del -net 224.0.0.0 netmask 240.0.0.0 reject
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]#

说明Q?/p>


实例5Q删除和d讄默认|关
命oQ?br />route del default gw 192.168.120.240
route add default gw 192.168.120.240
输出Q?br />[root@localhost ~]# route del default gw 192.168.120.240
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
[root@localhost ~]# route add default gw 192.168.120.240
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]#



天下 2013-03-07 14:25 发表评论
]]>
linux route命o使用http://www.shnenglu.com/aaxron/archive/2013/03/07/198261.html天下天下Thu, 07 Mar 2013 06:12:00 GMThttp://www.shnenglu.com/aaxron/archive/2013/03/07/198261.htmlhttp://www.shnenglu.com/aaxron/comments/198261.htmlhttp://www.shnenglu.com/aaxron/archive/2013/03/07/198261.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/198261.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/198261.html
linux route命o使用

转自
:http://linux008.blog.51cto.com/2837805/550596

说明Qroute命o是打印和操作ip路由?br />描述Qroute操作Z内核ip路由表,它的主要作用是创Z个静态\p指定一个主机或者一个网l通过一个网l接口,如eth0。当使用
"add"或?/span>"del"参数Ӟ路由表被修改Q如果没有参敎ͼ则显C\p当前的内宏V?br />参数说明Qadd:d一条新路由?br /> del:删除一条\由?br /> -net:目标地址是一个网l?br /> -host:目标地址是一个主机?br /> netmask:当添加一个网l\由时Q需要用网l掩码?br /> gw:路由数据包通过|关。注意,你指定的|关必须能够辑ֈ?br /> metricQ设|\p数?br />实例Q?br /> 1、route add -net 192.168.2.0 netmask 255.255.255.0 dev eth0
 d一条到?92
.168.2.0|络的\由,指定|络掩码?55.255.255.0,数据包通过|络接口eth0?br />
 
2、route add -net 192.57.66.0 netmask 255.255.255.0 gw 192.168.2.1
 d一条到?92
.57.66.0|络的\由,指定|络掩码?55.255.255.0,数据包通过|关地址192.168.2.1?br />
 
3、route add -host 192.57.66.200 gw 192.168.2.1
 所有去往192
.57.66.200L的数据包发往|关地址192.168.2.1?br />
 
4、route add default gw 192.168.1.1
 d一条默认网养I所有的数据包将被{发到192
.168.1.1?br />
路由表内容说明:
查看路由 
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric 
Ref Use Iface
192.57.66.200 192.168.1.1 255.255.255.255 UGH 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
DestinationQ目标网l或L?br />GatewayQ网兛_址?br />GenmaskQ目标网l的|络掩码?/span>"255.255.255.255"表示一个主机?/span>"0.0.0.0"表示|关?br />FlagsQ标记?br />U、\p启用?br />H、目标是一个主?br />G、用网兟?br />


天下 2013-03-07 14:12 发表评论
]]>
ldconfig和ldd用法http://www.shnenglu.com/aaxron/archive/2012/08/02/185995.html天下天下Thu, 02 Aug 2012 01:50:00 GMThttp://www.shnenglu.com/aaxron/archive/2012/08/02/185995.htmlhttp://www.shnenglu.com/aaxron/comments/185995.htmlhttp://www.shnenglu.com/aaxron/archive/2012/08/02/185995.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/185995.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/185995.html
一、ldconfig

ldconfig --help
Usage: ldconfig [OPTION...]
Configure Dynamic Linker Run Time Bindings.

  -c, --format=FORMAT        Format to use: new, old or compat (default)
  -C CACHE                   Use CACHE as cache file
  -f CONF                    Use CONF as configuration file
  -i, --ignore-aux-cache     Ignore auxiliary cache file
  -l                         Manually link individual libraries.
  -n                         Only process directories specified on the command
                             line.  Don't build cache.
  -N                         Don't build cache
  -p, --print-cache          Print cache
  -r ROOT                    Change to and use ROOT as root directory
  -v, --verbose              Generate verbose messages
  -X                         Don't generate links
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

ldconfig是一个动态链接库理命oQؓ了让动态链接库为系l所׃n,q需q行动态链接库的管理命?-ldconfig?ldconfig 命o的用?主要是在默认搜寻目录(/lib?usr/lib)以及动态库配置文g/etc/ld.so.conf内所列的目录?搜烦出可׃n的动态链接库(格式如前介绍,lib*.so*),q而创建出动态装入程?ld.so)所需的连接和~存文g.~存文g默认?/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.


linux下的׃n库机刉用了cM于高速缓存的机制Q将库信息保存在/etc/ld.so.cache里边?br />
E序q接的时候首先从q个文g里边查找Q然后再到ld.so.conf的\径里边去详细找?br />
q就是ؓ什么修改了ld.so.conf要重新运行一下ldconfig的原?br />
补充一点,ldconfig?sbin里面?br />

ldconfig几个需要注意的地方
1. 往/lib?usr/lib里面加东西,是不用修?etc/ld.so.conf的,但是完了之后要调一下ldconfigQ不然这个library会找不到
2. 惛_上面两个目录以外加东西的时候,一定要修改/etc/ld.so.confQ然后再调用ldconfigQ不然也会找不到
比如安装了一个mysql?usr/local/mysqlQmysql有一大堆library?usr/local/mysql/lib下面Q这时就需要在/etc/ld.so.conf下面加一?usr/local/mysql/libQ保存过后ldconfig一下,新的library才能在程序运行时被找到?br />3. 如果惛_q两个目录以外放libQ但是又不想?etc/ld.so.conf中加东西Q或者是没有权限加东西)。那也可以,是export一个全局变量LD_LIBRARY_PATHQ然后运行程序的时候就会去q个目录中找library。一般来讲这只是一U时的解决ҎQ在没有权限或旉要的时候用?br />4. ldconfig做的q些东西都与q行E序时有养I跟编译时一点关p都没有。编译的时候还是该?L得加,不要h了?br />5. MQ就是不做了什么关于library的变动后Q最好都ldconfig一下,不然会出C些意想不到的l果。不会花太多的时_但是会省很多的事?br />

二、ldd

作用Q用来查看程序运行所需的共享库,常用来解决程序因~少某个库文件而不能运行的一些问题?br />ldd命o原理(摘自|络)
1、首先ldd不是一个可执行E序Q而只是一个shell脚本
2、ldd能够昄可执行模块的dependencyQ其原理是通过讄一pd的环境变量,如下QLD_TRACE_LOADED_OBJECTS?br />LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE{。当
LD_TRACE_LOADED_OBJECTS环境变量不ؓI时QQ何可执行E序在运行时Q它都会只显C模块的dependencyQ而程序ƈ不真正执行。要不你可以在shelll端试一下,如下Q?br />(1) export LD_TRACE_LOADED_OBJECTS=1
(2) 再执行Q何的E序Q如ls{,看看E序的运行结?br />3、ldd昄可执行模块的dependency的工作原理,其实质是通过ld-linux.soQelf动态库的装载器Q来实现的。我们知道,ld-
linux.so模块会先于executable模块E序工作Qƈ获得控制权,因此当上q的那些环境变量被设|时Qld-linux.so选择了显C可?br />行模块的dependency?br />4、实际上可以直接执行ld-linux.so模块Q如Q?lib/ld-linux.so.2 --list programQ这相当于ldd programQ?img src ="http://www.shnenglu.com/aaxron/aggbug/185995.html" width = "1" height = "1" />

天下 2012-08-02 09:50 发表评论
]]>
理解login shell和non-login shellhttp://www.shnenglu.com/aaxron/archive/2012/07/31/185719.html天下天下Tue, 31 Jul 2012 01:38:00 GMThttp://www.shnenglu.com/aaxron/archive/2012/07/31/185719.htmlhttp://www.shnenglu.com/aaxron/comments/185719.htmlhttp://www.shnenglu.com/aaxron/archive/2012/07/31/185719.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/185719.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/185719.html
用户交互式login的时候,׃初始化profile相关的脚本,q就是所谓的login shell?br />
当在已经存在的shell里面启动另外一个shell的时候,比如使用"bash"或?su"Q启动的q个新shell׃初始化rc相关 的脚本。这个shellq为non-login shell?br />
login shell会执行的脚本?/etc/profile和~/.bash_profile?br />non-login shell会执行的脚本通常?etc/bashrc Q在debian/ubuntu上是/etc/bash.bashrcQ和~/.bashrc?br />
在tty下loginq去Q得到的是一个login shell。之后用bash或者su命o得到的是non-login shell?br />而在debian/ubuntu下的GNOME用terminal启动出来的shell是non-login shell。退non-login shell的话Q只需要exit卛_?br />
login shell d /etc/profile ?~/.bash_profile , q且?先读?profile 后读?.bash_profile, 2个文件必读,
至于 bash.bashrc ?.bashrc 则看 profile ?.bash_profile 是否明确指定诅R?

天下 2012-07-31 09:38 发表评论
]]>
debian配置sambahttp://www.shnenglu.com/aaxron/archive/2012/04/05/170113.html天下天下Thu, 05 Apr 2012 00:41:00 GMThttp://www.shnenglu.com/aaxron/archive/2012/04/05/170113.htmlhttp://www.shnenglu.com/aaxron/comments/170113.htmlhttp://www.shnenglu.com/aaxron/archive/2012/04/05/170113.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/170113.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/170113.htmldebian配置samba
读音['sæmbə]
Samba协议基础
    在Windows NT服务器系l中Q实C同计机之间׃n打印机和文在NetBIOS出现之后QMicrosoft׃用NetBIOS实现了一个网l文?打印服务pȝQ这个系l基于NetBIOS讑֮了一套文件共享协议,MicrosoftUC为SMBQServer Message BlockQ协议。这个协议被Microsoft用于他们Lan Manager件?/p>

    Samba是用来实现SMB的一UYӞ它的工作原理是,让NETBIOSQWindows95|络d的通讯协议Q和SMBQServer Message BlockQ这两个协议q行于TCP/IP通信协议之上Qƈ且用Windows的NETBEUI协议让Unix计算机可以在|络d上被Windows计算机看到?br />它的功能有:
׃nLinux盘lWindowns
׃nWindowns盘lLinux机器
׃nLinux打印机给Windowns
׃nWindowns打印机给Linux机器?/p>

    Samba的核心是两个守护q程smbd和nmbdE序Q在服务器启动到停止期间持箋q行。smbd和nmbd使用的全部配|信息全都保存在smb.conf文g中。smb.conf向smbd和nmbd两个守护q程说明输出什么以便共享,׃n输出l谁及如何进行输出。smbdq程的作用是处理到来的SMB软g包,Z用该软g包的资源与Linuxq行协商Qnmbdq程使其它主机(或工作站Q能览Linux服务器?br />Samba的主配置文g位置?etc/samba目录中,文g名ؓsmb.conf?/p>

首先是安装sambaQ?br />apt-get install samba

跟着修改配置文g:
vim /etc/samba/smb.conf

[可选]加入如下配置
#display charset = UTF-8
#unix charset = UTF-8
#dos charset = cp936

useradd
smbpasswd -a meaglith
/etc/init.d/samba restart

查当前配|?br />#testparm

?讄目录׃n及权?br />[share]
comment = a comment #目录的注解说?br />path = /data/temp  #要共享目录的l对位置
browseable =   no  #目录是否可见,预设为可?br />writable = yes     #目录是否为可?br />read only = no     #目录是否为只?br />guest ok = yes     #来宾是否可以讉K,?public = yes" 作用相同
write list =user,@group   #可写用户列表,@后表C某个群l?br />valid users = validusername      #允许讉K的用者清?br />read list   =  readusename       #只可ȝ使用者清?br />invalid users = invalidusername  #止讉K的用者清?br />admin users = adminuser          #有管理权限用者清?br />create mask = 0755               #使用者徏立档案的权限,预设?744
printable = no

[global] #全局配置
workgroup = LinuxSir #定义该Samba服务器所在的工作l或者域Q如果下面的security=domain的话Q?br />netbios name = LinuxSir05 #在Windows中显C出来的计算机名
server string = Linux Samba Server TestServer #讑֮机器的描qͼ当我们通过|络d讉K的时候可以在备注里面看见q个内容?br />security = security_level #定义Samba的安全?br />说明:
定义Samba的安全别,按从低到高分为四U:shareQuserQserverQdomain。它们对应的验证方式如下Q?br />shareQ没有安全性的U别QQ何用户都可以不要用户名和口o讉K服务器上的资源?br />UserQsamba的默认配|,要求用户在访问共享资源之前资源必d提供用户名和密码q行验证?br />ServerQ和user安全U别cMQ但用户名和密码是递交到另外一个服务器去验证,比如递交l一台NT服务器。如果递交p|Q就退到user安全U?br />DomainQ这个安全别要求网l上存在一台Windows的主域控制器Qsamba把用户名和密码递交l它去验证?br />后面三种安全U都要求用户在本Linux机器上也要系l帐戗否则是不能讉K的?/p>

hosts allow = |络或者主?br />说明:
q里可以讄允许讉K的网l和LIP.
比如允许整个192.168.1.0q个|段Q?92.168.1.0/24Q和192.168.2.1q台LQ?92.168.2.1/32)讉KQ就用host allow = 192.168.1. 192.168.2.1 127.0.0.1(|络注意后面?#8221;.”P各个目间用I格隔开Q记得把本机也加q去)

samba命o使用:
假定:
windows下IP?92.168.0.7
debian下的IP ?192.168.0.8

debian~#smbclient -L 192.168.0.7 -U sunday
在windows下输入:\\192.168.0.8   讉Kdebian

最samba配置
一、通过用户讉K
1.apt-get install samba
2.修改/etc/samba/smb.conf文g
security = user #讄安全U别为user
3.d用户q设|samba讉K密码
smbpasswd -a username

二、不需要用户都可以直接讉K
1.修改/etc/samba/smb.conf文g
讄security = share

4.重启一下samba服务Q?br />/etc/init.d/smb restart
/etc/init.d/samba restart

?suse 下重启samba
rcsmb restart



天下 2012-04-05 08:41 发表评论
]]>
debian 配置?amp;安装字体http://www.shnenglu.com/aaxron/archive/2011/09/20/156329.html天下天下Tue, 20 Sep 2011 08:11:00 GMThttp://www.shnenglu.com/aaxron/archive/2011/09/20/156329.htmlhttp://www.shnenglu.com/aaxron/comments/156329.htmlhttp://www.shnenglu.com/aaxron/archive/2011/09/20/156329.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/156329.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/156329.html?
vi /etc/apt/sources.list

deb http://mirrors.163.com/debian squeeze main contrib non-free
deb-src http://mirrors.163.com/debian squeeze main contrib non-free

deb http://ftp.hk.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.hk.debian.org/debian squeeze main contrib non-free




debian 安装字体
mkdir - p /usr/share/fonts/zh_cn
拯 c:\windows\simsun.ttc /usr/share/fonts/zh_cn/simsun.ttf
cd /usr/share/fonts/zh_cn
mkfontscale
mkfontdir
fc-cache

天下 2011-09-20 16:11 发表评论
]]>
lvm扩容http://www.shnenglu.com/aaxron/archive/2011/09/10/155504.html天下天下Sat, 10 Sep 2011 04:31:00 GMThttp://www.shnenglu.com/aaxron/archive/2011/09/10/155504.htmlhttp://www.shnenglu.com/aaxron/comments/155504.htmlhttp://www.shnenglu.com/aaxron/archive/2011/09/10/155504.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/155504.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/155504.htmlfdisk -l
pvdisplay
pvcreate 
/dev/sda3
pvdisplay
vgdisplay
vgextend VolGroup00 
/dev/sda3
vgdisplay
lvdisplay
lvextend 
-L+10G /dev/VolGroup00/LogVol00
resize2fs 
-/dev/VolGroup00/LogVol00
lvdisplay
df 
-lh


[可选]
lvreduce 
-L-10G /dev/VolGroup00/LogVol01
lvdisplay

一、准备物理硬盘和分区
1?br />$ fdisk /dev/sdb
2、将该硬盘做成extended分区Qƈwrite分区?br />3、用fdisk -l可以看到该盘了?br />
二、安装ƈ配置lvm
1?br />$ aptitude lvm2
2、初始化物理?br />$ pvcreate /dev/sdb5
$ pvcreate /dev/sdb3
3、创建卷l?br />$ vgcreate vg0 /dev/sdb5

4、激zdl?br />$ vgscan

[可选]
vg0通过d物理h扩充LQ?br />$ vgextend /dev/vg0 /dev/sdb3

5、创建逻辑?br />$ lvcreate -n lv0 --size 500M vg0
6、格式化qmount该逻辑?br />$ mkfs.ext3 /dev/vg0/lv0
$ mkdir /home/lv0
$ mount -t ext3 /dev/vg0/lv0 /home/lv0
7、查看逻辑?br />$ lvdisplay
8、改变逻辑L大小
$ umount /home/lv0  #lvm2好像不需要umount
$ lvextend -L +40M /dev/vg0/lv0
改变之后Q在lvdisplay可以看到大小已经改变Q但是实际的文gpȝq是500MQ所以还需要做以下的操?br />9、改变物理卷大小
$ e2fsck -f /dev/vg0/lv0
$ resize2fs /dev/vg0/lv0
10、重新mount该逻辑?br />$ mount -t ext3 /dev/vg0/lv0 /home/lv0
$ df -h
使用df -h可以看到该分区的大了?br />11、去除逻辑?br />$ lvremove /dev/vg0/lv0
前提Q先umount该逻辑?/div>


天下 2011-09-10 12:31 发表评论
]]>
shell~程W记http://www.shnenglu.com/aaxron/archive/2011/09/08/155357.html天下天下Thu, 08 Sep 2011 07:54:00 GMThttp://www.shnenglu.com/aaxron/archive/2011/09/08/155357.htmlhttp://www.shnenglu.com/aaxron/comments/155357.htmlhttp://www.shnenglu.com/aaxron/archive/2011/09/08/155357.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/155357.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/155357.html脚本不是复杂的程?/span>,它是按行解释?/span>,脚本的第一行L?/span>#!/bin/sh开?
q行代码通知书shell使用pȝ上的Bourne shell解析?

shell语法
test 命o
1.条g试
test命o用于试字符?/span>,文g状态和数字.

工作原理
test 命o最短的定义可能是评C个表辑ּQ如果条件ؓ真,则返回一?nbsp;
0 倹{如果表辑ּ不ؓ真,q回?

test一般有两种格式
:

test 条g表达?br />?br />[ 条g表达?nbsp;]

使用Ҏh
,要注意在条g两边加上I格.

文gq算W?br />利用q些q算W,您可以在E序中根据对文gcd的评估结果执行不同的操作Q?br />
-b file 如果文gZ个块Ҏ文gQ则为真
-c file 如果文gZ个字W特D文Ӟ则ؓ?br />-d file 如果文gZ个目录,则ؓ?br />-e file 如果文g存在Q则为真
-f file 如果文gZ个普通文Ӟ则ؓ?br />-g file 如果讄了文件的 SGID 位,则ؓ?br />-G file 如果文g存在且归该组所有,则ؓ?br />-k file 如果讄了文件的_着位,则ؓ?br />-O file 如果文g存在q且归该用户所有,则ؓ?br />-p file 如果文gZ个命名管道,则ؓ?br />-r file 如果文g可读Q则为真
-s file 如果文g的长度不为零Q则为真
-S file 如果文gZ个套接字Ҏ文gQ则为真
-t fd    如果 fd 是一个与l端相连的打开的文件描q符Qfd 默认?nbsp;1Q,则ؓ?br />-u file 如果讄了文件的 SUID 位,则ؓ?br />-w file 如果文g可写Q则为真
-x file 如果文g可执行,则ؓ?br />
字符串比较运符
如标题所C,q组函数比较字符串的倹{您可以查它们是否存在、是否相同或者是否不同?br />string 试以判断字W串是否不ؓI?br />
-n string 试以判断字W串是否不ؓI;
-z string 试以判断字W串是否为空Q?br />string1 = string2 试以判?nbsp;string1 是否?nbsp;string2 相同
string1 
!= string2 试以判?nbsp;string1 是否?nbsp;string2 不同

整数比较q算W?br />正如字符串比较运符验证字符串相{或不同一P整数比较q算W对数字执行相同的功能?br />如果变量的值匹配则表达式测试ؓ真,如果不匹配,则ؓ假。整数比较运符不处理字W串Q正如字W串q算W不处理数字一PQ?br />
-eq    {于
-ge    大于或等?br />-gt    大于
-le    于或等?br />-lt    于
-ne    不等?br />?/span>:
# [ 2 -gt 3 ]
# echo $?

1

# [ 2 -lt 3 ]
# echo $?

0

布尔q算W?br />布尔q算W在几乎每种语言中的工作方式都相?nbsp;— 包括 shell 脚本。在 nutshell 中,它们查多个条件ؓ真或为假Q或者针对假的条件而不是真的条仉取操作。与 test 搭配使用的运符?/span>:
!    条g?br />-a    条g?br />-o    条g?br />


控制l构
无论什么编E语a都离不开条g判断。SHELL也不例外?br />条g分支

if语句

语法1
:
if 条g表达?br />    then    命o
fi

语法2
:
if 条g表达? then
    
do something here
elif 条g表达?nbsp;then
    
do another thing here
else
    
do something else here
fi

使用if?/span>,必须then部分攑֜新行,否则会报?/span>.
如果要不分行
,必须使用命o分隔W?/span>.
$ vi testsh.sh
#!/bin/sh
if
cat 111-tmp.txt | grep ting1
then
echo found
else
echo "no found"
fi

$ vi testsh.sh
#!/bin/sh
cat 111-tmp.txt | grep ting1
if [ $? -eq 0 ]
then
echo $?
echo found
else
echo $?
echo "no found"
fi

#!/bin/sh

#函数
gw()
{
echo "do function gw()"
return 0
}

if gw
then
        echo "run succeed"
        echo "run succeed"
else
        echo "run failed"
        echo "run failed"
fi

说明Q?br />if 命o/函数 0为真Q走then
if 多条指o,q些命o之间相当?#8220;and”Q与Q?br />



case语句
case命o可类比C语言的switch
/case语句Qesac表示case语句块的l束?br />每个匚w分支可以有若q条命oQ末ֿM;;l束Q执行时扑ֈW一个匹配的分支q执行相应的命oQ然后直接蟩到esac之后Q不需要像C语言一Lbreak跛_?br />?/span>:
#! /bin/sh
echo "Is it morning? Please answer yes or no."
read YES_OR_NO
case 
"$YES_OR_NO" in
yes
|y|Yes|YES)
  echo 
"Good Morning!";;
[nN]
*)
  echo 
"Good Afternoon!";;
*)
  echo 
"Sorry, $YES_OR_NO not recognized. Enter yes or no."
  
exit 1;;
esac
exit 0


for语句
for 变量?nbsp;in 列表
do
    命o1
    命o2
done

Shell脚本的for循环l构和C语言很不一P它类似php~程语言的foreach循环。例如:
#!/bin/sh
for FRUIT in apple banana pear; do
  echo 
"I like $FRUIT"
done

while/do/done
while的用法和C语言cM。比如一个验证密码的脚本Q?br />
#!/bin/sh
echo "Enter password:"
read TRY
while [ "$TRY" != "secret" ]; do
  echo 
"Sorry, try again"
  
read TRY
done


位置参数和特D变?br />$
0    相当于C语言main函数的argv[0]
$
1?2    q些UCؓ位置参数QPositional ParameterQ,相当于C语言main函数的argv[1]、argv[2]
$
#    参数个数,不包括程序自w?相当于C语言main函数的argc-1
$@    表示参数列表"$1" "$2" Q例如可以用在for循环中的in后面?br />$?    上一条命令的Exit Status
$$    当前Shell的进E号

位置参数可以用shift命o左移?br />比如shift 3表示原来?4现在变成$
1Q原来的$5现在变成$2{等Q原来的$1?2?3丢弃Q?0不移动。不带参数的shift命o相当于shift 1?br />

函数

和C语言cMQShell中也有函数的概念Q但是函数定义中没有q回g没有参数列表。例如:

#!/bin/sh

foo(){ echo 
"Function foo is called";}
echo 
"-=start=-"
foo
echo 
"-=end=-"

注意函数体的左花括号{和后面的命o之间必须有空格或换行Q如果将最后一条命令和双括号}写在同一行,命o末尾必须?受?br />
在定义foo()函数时ƈ不执行函C中的命oQ就像定义变量一P只是lfooq个名字一个定义,到后面调用foo函数的时候(注意Shell中的函数调用不写括号Q才执行函数体中的命令。Shell脚本中的函数必须先定义后调用Q一般把函数定义都写在脚本的前面Q把函数调用和其它命令写在脚本的最后(cMC语言中的main函数Q这才是整个脚本实际开始执行命令的地方Q?br />
Shell函数没有参数列表q不表示不能传参敎ͼ事实上,函数像是迷你脚本,调用函数时可以传L个参敎ͼ在函数内同样是用$
0?1?2{变量来提取参数Q函C的位|参数相当于函数的局部变量,改变q些变量q不会媄响函数外面的$0?1?2{变量。函C可以用return命oq回Q如果return后面跟一个数字则表示函数的Exit Status?br />
until语句
  until循环执行一pd命o直至条g为真时停止。注?/span>,q里是直到条件是真时才停?br />until格式为:
until 条g
  命o1
  

done


i
=0
until [ $i -gt 3 ]
do
    i
=`expr "$i" + 1`
    
#i=$(($i + 1))
    echo $i
done


天下 2011-09-08 15:54 发表评论
]]>
Linux usermod -p 修改用户密码http://www.shnenglu.com/aaxron/archive/2010/12/02/135251.html天下天下Thu, 02 Dec 2010 03:07:00 GMThttp://www.shnenglu.com/aaxron/archive/2010/12/02/135251.htmlhttp://www.shnenglu.com/aaxron/comments/135251.htmlhttp://www.shnenglu.com/aaxron/archive/2010/12/02/135251.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/135251.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/135251.htmlLinux usermod -p 修改用户密码

passwd也可以修改口令,但是q是一U交互式的方式,需要用户干预。当然也可以使用重定向或者管道向passwd喂数据,暂且不提?br>
linux下增加用L命o是useraddQ修改用L命o是usermodQ二者都有一个参?nbsp;–pQ这个参数可以直接指定用L口oQ但是需要注意的是,q个口oq不是明文,而是l过加密的一个字丌Ӏ?br>
linux下可以用python~辑器通过~程的方法得到加密字Ԍlinux下用python命o启动~辑器)Q?br>
下面是一个完整的q程Q蓝色字体的是用戯入的命oQ而红色的是系l输出?br>
============================================

[root@linux 
~]# python

Python 
2.3.4 (#1, Oct 26 2004, 16:42:40) 

[GCC 
3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2

Type 
"help""copyright""credits" or "license" for more information.

>>> import crypt;print(crypt.crypt("your password","ab"));

ab62Jfo2yjBEo

>>> 

============================================

上面用户输入信息中的“your password”可以替换为需要加密的口oQ?#8220;ab”可替换ؓL的两个大写字符或者数字,?#8220;ab62Jfo2yjBEo”是加密后的密文?br>

一个简单的例子如下Q?br>
useradd –p ab62Jfo2yjBEo testuser

usermod –p ab62Jfo2yjBEo testuser 
 



天下 2010-12-02 11:07 发表评论
]]>
非纯VC/C++/python񔾟?88028655 ,Ƣ迎加入.http://www.shnenglu.com/aaxron/archive/2010/10/28/131633.html天下天下Thu, 28 Oct 2010 07:21:00 GMThttp://www.shnenglu.com/aaxron/archive/2010/10/28/131633.htmlhttp://www.shnenglu.com/aaxron/comments/131633.htmlhttp://www.shnenglu.com/aaxron/archive/2010/10/28/131633.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/131633.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/131633.htmlVC/C++/python交流() ?88028655
Ƣ迎资深或即资qC++技术h员,
c/c++/vc/mfc/python

UC/C++技?普??
43568864








天下 2010-10-28 15:21 发表评论
]]>
Ĺ˾Ʒþ޾ƷA뾫Ʒ| 97þþƷˬ| ޹þþþþþ| ˾þ뾫ƷĻ| 18ƾþþAAAƬ| ƷƷþþþ | AVһȾþ| 99ƷþþƷ| þþþ޹| ŷƷһƷþ| պƷþһ| ޺ݺۺϾþѿ| þþù| þþƷһWWW| ƷƷþþþ| ٸִִˬëƬþú| ٸþþþþþþþ| ˾þô߽| þþþžоƷ| ޹Ʒһþhs| ۿƷþ| AAAþþþƷƬ| Ʒþˬ| ˾þ| 91þþþþۺ| þþþþ޾Ʒ| ŷ޾Ʒ˾þ| ƷƵþ| þþþþaëƬ| ҹƷþþþþ| պþþþƷӰԺҳ| þˬˬƬav| þAV뾫Ʒɫҹ鶹| Ʒþþþþҹҹ| Ʒ99þþþ91gav| ҹþþƷ| þˬˬƬAV| þþþùAV鶹| žȾþƵ| þøƬ| þþùƵ|