﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-天下-随笔分类-Linux使用</title><link>http://www.cppblog.com/aaxron/category/15297.html</link><description>记录修行的印记
</description><language>zh-cn</language><lastBuildDate>Mon, 17 Aug 2015 04:20:00 GMT</lastBuildDate><pubDate>Mon, 17 Aug 2015 04:20:00 GMT</pubDate><ttl>60</ttl><item><title>NFS /etc/export配置</title><link>http://www.cppblog.com/aaxron/archive/2013/06/04/200796.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Tue, 04 Jun 2013 07:10:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2013/06/04/200796.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/200796.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2013/06/04/200796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/200796.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/200796.html</trackback:ping><description><![CDATA[<p><font color="#000000" face="Verdana"></p>
<p>NFS /etc/export配置<br />nfs服务器的配置，配置文件/etc/exports：<br />如:<br />路径&nbsp;主机(读写权限,映射选项,操作选项)<br />/&nbsp;192.168.3.*(rw,no_root_squash,sync)</p>
<p>读写权限:<br />ro 该主机对该共享目录有只读权限<br />rw 该主机对该共享目录有读写权限</p>
<p>映射选项:<br />root_squash 客户机用root用户访问该共享文件夹时，将root用户映射成匿名用户<br />no_root_squash 客户机用root访问该共享文件夹时，不映射root用户</p>
<p>操作选项:<br />sync 资料同步写入到内存与硬盘中<br />async 资料会先暂存于内存中，而非直接写入硬盘</p>
<p>重启NFS:<br />/etc/init.d/nfs restart</p>
<p>启动nfs后又修改了/etc/exports，不用重启该服务，使用exports命令即可：<br />exports [-aruv]<br />-a 全部mount或umount文件/etc/exports中的内容<br />-r 重新mount文件/etc/exports中的共享内容<br />-u umount目录<br />-v 在export的时候，将详细的信息输出到屏幕上</p>
<p>例：<br />exportfs &#8211;rv 全部重新export一次<br />exportfs &#8211;au 全部卸载</p>
<p>客户端挂载:<br />mount &#8211;t nfs -rw [-o 选项] &lt;hostname/ip&gt;:/directory /mount point</p>
<p>具体例子:<br />mount -t nfs -rw -o nolock 192.168.3.16:/ /mnt/s3c32416<br />卸载：<br />umount /本地挂载目录<br />&nbsp;<br /></p>
<p></font></p><img src ="http://www.cppblog.com/aaxron/aggbug/200796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2013-06-04 15:10 <a href="http://www.cppblog.com/aaxron/archive/2013/06/04/200796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>每天一个linux命令（52）：ifconfig命令</title><link>http://www.cppblog.com/aaxron/archive/2013/03/07/198263.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 07 Mar 2013 06:29:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2013/03/07/198263.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/198263.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2013/03/07/198263.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/198263.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/198263.html</trackback:ping><description><![CDATA[<p>每天一个linux命令（52）：ifconfig命令</p>
<p>许多windows非常熟悉ipconfig命令行工具，它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具，也就是ifconfig(interfaces&nbsp;config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性，ifconfig工具不仅可以被用来简单地获取网络接口配置信息，还可以修改这些配置。<br />1．命令格式：<br />ifconfig&nbsp;[网络设备]&nbsp;[参数]<br />2．命令功能：<br />ifconfig&nbsp;命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。<br />3．命令参数：<br />up&nbsp;启动指定网络设备/网卡。<br />down&nbsp;关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流，如果想永久地关闭一个接口，我们还需要从核心路由表中将该接口的路由信息全部删除。<br />arp&nbsp;设置指定网卡是否支持ARP协议。<br />-promisc&nbsp;设置是否支持网卡的promiscuous模式，如果选择此参数，网卡将接收网络中发给它所有的数据包<br />-allmulti&nbsp;设置是否支持多播模式，如果选择此参数，网卡将接收网络中所有的多播数据包<br />-a&nbsp;显示全部接口信息<br />-s&nbsp;显示摘要信息（类似于&nbsp;netstat&nbsp;-i）<br />add&nbsp;给指定网卡配置IPv6地址<br />del&nbsp;删除指定网卡的IPv6地址<br />&lt;硬件地址&gt;&nbsp;配置网卡最大的传输单元<br />mtu&lt;字节数&gt;&nbsp;设置网卡的最大传输单元&nbsp;(bytes)<br />netmask&lt;子网掩码&gt;&nbsp;设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数，也可以是用点分开的4个十进制数。如果不打算将网络分成子网，可以不管这一选项；如果要使用子网，那么请记住，网络中每一个系统必须有相同子网掩码。<br />tunel&nbsp;建立隧道<br />dstaddr&nbsp;设定一个远端地址，建立点对点通信<br />-broadcast&lt;地址&gt;&nbsp;为指定网卡设置广播协议<br />-pointtopoint&lt;地址&gt;&nbsp;为网卡设置点对点通讯协议<br />multicast&nbsp;为网卡设置组播标志<br />address&nbsp;为网卡设置IPv4地址<br />txqueuelen&lt;长度&gt;&nbsp;为网卡设置传输列队的长度<br />4．使用实例：<br />实例1：显示网络设备信息（激活状态的）<br />命令：<br />ifconfig<br />输出：</p>
<p>[root@localhost&nbsp;~]#&nbsp;ifconfig<br />eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Ethernet&nbsp;&nbsp;HWaddr&nbsp;00:50:56:BF:26:20&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:192.168.120.204&nbsp;&nbsp;Bcast:192.168.120.255&nbsp;&nbsp;Mask:255.255.255.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;BROADCAST&nbsp;RUNNING&nbsp;MULTICAST&nbsp;&nbsp;MTU:1500&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:8700857&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:31533&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:1000&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:596390239&nbsp;(568.7&nbsp;MiB)&nbsp;&nbsp;TX&nbsp;bytes:2886956&nbsp;(2.7&nbsp;MiB)</p>
<p>lo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Local&nbsp;Loopback&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:127.0.0.1&nbsp;&nbsp;Mask:255.0.0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;LOOPBACK&nbsp;RUNNING&nbsp;&nbsp;MTU:16436&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:68&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:68&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:2856&nbsp;(2.7&nbsp;KiB)&nbsp;&nbsp;TX&nbsp;bytes:2856&nbsp;(2.7&nbsp;KiB)</p>
<p>&nbsp;</p>
<p>说明：<br />eth0&nbsp;表示第一块网卡，&nbsp;其中&nbsp;HWaddr&nbsp;表示网卡的物理地址，可以看到目前这个网卡的物理地址(MAC地址）是&nbsp;00:50:56:BF:26:20<br />inet&nbsp;addr&nbsp;用来表示网卡的IP地址，此网卡的&nbsp;IP地址是&nbsp;192.168.120.204，广播地址，&nbsp;Bcast:192.168.120.255，掩码地址Mask:255.255.255.0&nbsp;<br />lo&nbsp;是表示主机的回坏地址，这个一般是用来测试一个网络程序，但又不想让局域网或外网的用户能够查看，只能在此台主机上运行和查看所用的网络接口。比如把&nbsp;HTTPD服务器的指定到回坏地址，在浏览器输入&nbsp;127.0.0.1&nbsp;就能看到你所架WEB网站了。但只是您能看得到，局域网的其它主机或用户无从知道。<br />第一行：连接类型：Ethernet（以太网）HWaddr（硬件mac地址）<br />第二行：网卡的IP地址、子网、掩码<br />第三行：UP（代表网卡开启状态）RUNNING（代表网卡的网线被接上）MULTICAST（支持组播）MTU:1500（最大传输单元）：1500字节<br />第四、五行：接收、发送数据包情况统计<br />第七行：接收、发送数据字节数统计信息。<br />实例2：启动关闭指定网卡<br />命令：<br />ifconfig&nbsp;eth0&nbsp;up<br />ifconfig&nbsp;eth0&nbsp;down<br />输出：<br />说明：<br />ifconfig&nbsp;eth0&nbsp;up&nbsp;为启动网卡eth0&nbsp;；ifconfig&nbsp;eth0&nbsp;down&nbsp;为关闭网卡eth0。ssh登陆linux服务器操作要小心，关闭了就不能开启了，除非你有多网卡。<br />实例3：为网卡配置和删除IPv6地址<br />命令：<br />ifconfig&nbsp;eth0&nbsp;add&nbsp;33ffe:3240:800:1005::2/64<br />ifconfig&nbsp;eth0&nbsp;del&nbsp;33ffe:3240:800:1005::2/64<br />输出：<br />说明：<br />ifconfig&nbsp;eth0&nbsp;add&nbsp;33ffe:3240:800:1005::2/64&nbsp;为网卡eth0配置IPv6地址；<br />ifconfig&nbsp;eth0&nbsp;add&nbsp;33ffe:3240:800:1005::2/64&nbsp;为网卡eth0删除IPv6地址；<br />练习的时候，ssh登陆linux服务器操作要小心，关闭了就不能开启了，除非你有多网卡。<br />实例4：用ifconfig修改MAC地址<br />命令：<br />ifconfig&nbsp;eth0&nbsp;hw&nbsp;ether&nbsp;00:AA:BB:CC:DD:EE<br />输出：</p>
<p>[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;down&nbsp;//关闭网卡<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;hw&nbsp;ether&nbsp;00:AA:BB:CC:DD:EE&nbsp;//修改MAC地址<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;up&nbsp;//启动网卡<br />[root@localhost&nbsp;~]#&nbsp;ifconfig<br />eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Ethernet&nbsp;&nbsp;HWaddr&nbsp;00:AA:BB:CC:DD:EE&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:192.168.120.204&nbsp;&nbsp;Bcast:192.168.120.255&nbsp;&nbsp;Mask:255.255.255.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;BROADCAST&nbsp;RUNNING&nbsp;MULTICAST&nbsp;&nbsp;MTU:1500&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:8700857&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:31533&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:1000&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:596390239&nbsp;(568.7&nbsp;MiB)&nbsp;&nbsp;TX&nbsp;bytes:2886956&nbsp;(2.7&nbsp;MiB)</p>
<p>lo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Local&nbsp;Loopback&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:127.0.0.1&nbsp;&nbsp;Mask:255.0.0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;LOOPBACK&nbsp;RUNNING&nbsp;&nbsp;MTU:16436&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:68&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:68&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:2856&nbsp;(2.7&nbsp;KiB)&nbsp;&nbsp;TX&nbsp;bytes:2856&nbsp;(2.7&nbsp;KiB)<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;hw&nbsp;ether&nbsp;00:50:56:BF:26:20&nbsp;//关闭网卡并修改MAC地址&nbsp;<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;up&nbsp;//启动网卡<br />[root@localhost&nbsp;~]#&nbsp;ifconfig<br />eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Ethernet&nbsp;&nbsp;HWaddr&nbsp;00:50:56:BF:26:20&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:192.168.120.204&nbsp;&nbsp;Bcast:192.168.120.255&nbsp;&nbsp;Mask:255.255.255.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;BROADCAST&nbsp;RUNNING&nbsp;MULTICAST&nbsp;&nbsp;MTU:1500&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:8700857&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:31533&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:1000&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:596390239&nbsp;(568.7&nbsp;MiB)&nbsp;&nbsp;TX&nbsp;bytes:2886956&nbsp;(2.7&nbsp;MiB)</p>
<p>lo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Local&nbsp;Loopback&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:127.0.0.1&nbsp;&nbsp;Mask:255.0.0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;LOOPBACK&nbsp;RUNNING&nbsp;&nbsp;MTU:16436&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:68&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:68&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:2856&nbsp;(2.7&nbsp;KiB)&nbsp;&nbsp;TX&nbsp;bytes:2856&nbsp;(2.7&nbsp;KiB)&nbsp;</p>
<p>说明：<br />&nbsp;</p>
<p>实例5：配置IP地址<br />命令：<br />输出：<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;192.168.120.56&nbsp;<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;192.168.120.56&nbsp;netmask&nbsp;255.255.255.0&nbsp;<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;192.168.120.56&nbsp;netmask&nbsp;255.255.255.0&nbsp;broadcast&nbsp;192.168.120.255<br />&nbsp;</p>
<p>说明：<br />ifconfig&nbsp;eth0&nbsp;192.168.120.56&nbsp;<br />给eth0网卡配置IP地：192.168.120.56<br />&nbsp;ifconfig&nbsp;eth0&nbsp;192.168.120.56&nbsp;netmask&nbsp;255.255.255.0&nbsp;<br />给eth0网卡配置IP地址：192.168.120.56&nbsp;，并加上子掩码：255.255.255.0<br />ifconfig&nbsp;eth0&nbsp;192.168.120.56&nbsp;netmask&nbsp;255.255.255.0&nbsp;broadcast&nbsp;192.168.120.255<br />/给eth0网卡配置IP地址：192.168.120.56，加上子掩码：255.255.255.0，加上个广播地址：&nbsp;192.168.120.255<br />&nbsp;</p>
<p>实例6：启用和关闭ARP协议<br />命令：<br />ifconfig&nbsp;eth0&nbsp;arp<br />ifconfig&nbsp;eth0&nbsp;-arp<br />输出：<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;arp&nbsp;<br />[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;-arp<br />&nbsp;</p>
<p>说明：<br />ifconfig&nbsp;eth0&nbsp;arp&nbsp;开启网卡eth0&nbsp;的arp协议；<br />ifconfig&nbsp;eth0&nbsp;-arp&nbsp;关闭网卡eth0&nbsp;的arp协议；<br />&nbsp;</p>
<p>实例7：设置最大传输单元<br />命令：<br />ifconfig&nbsp;eth0&nbsp;mtu&nbsp;1500<br />输出：</p>
<p>[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;mtu&nbsp;1480<br />[root@localhost&nbsp;~]#&nbsp;ifconfig<br />eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Ethernet&nbsp;&nbsp;HWaddr&nbsp;00:50:56:BF:26:1F&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:192.168.120.203&nbsp;&nbsp;Bcast:192.168.120.255&nbsp;&nbsp;Mask:255.255.255.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;BROADCAST&nbsp;RUNNING&nbsp;MULTICAST&nbsp;&nbsp;MTU:1480&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:8712395&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:36631&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:1000&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:597062089&nbsp;(569.4&nbsp;MiB)&nbsp;&nbsp;TX&nbsp;bytes:2643973&nbsp;(2.5&nbsp;MiB)</p>
<p>lo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Local&nbsp;Loopback&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:127.0.0.1&nbsp;&nbsp;Mask:255.0.0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;LOOPBACK&nbsp;RUNNING&nbsp;&nbsp;MTU:16436&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:9973&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:9973&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:518096&nbsp;(505.9&nbsp;KiB)&nbsp;&nbsp;TX&nbsp;bytes:518096&nbsp;(505.9&nbsp;KiB)</p>
<p>[root@localhost&nbsp;~]#&nbsp;ifconfig&nbsp;eth0&nbsp;mtu&nbsp;1500<br />[root@localhost&nbsp;~]#&nbsp;ifconfig<br />eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Ethernet&nbsp;&nbsp;HWaddr&nbsp;00:50:56:BF:26:1F&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:192.168.120.203&nbsp;&nbsp;Bcast:192.168.120.255&nbsp;&nbsp;Mask:255.255.255.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;BROADCAST&nbsp;RUNNING&nbsp;MULTICAST&nbsp;&nbsp;MTU:1500&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:8712548&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:36685&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:1000&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:597072333&nbsp;(569.4&nbsp;MiB)&nbsp;&nbsp;TX&nbsp;bytes:2650581&nbsp;(2.5&nbsp;MiB)</p>
<p>lo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Local&nbsp;Loopback&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:127.0.0.1&nbsp;&nbsp;Mask:255.0.0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;LOOPBACK&nbsp;RUNNING&nbsp;&nbsp;MTU:16436&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:9973&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:9973&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;bytes:518096&nbsp;(505.9&nbsp;KiB)&nbsp;&nbsp;TX&nbsp;bytes:518096&nbsp;(505.9&nbsp;KiB)</p>
<p>[root@localhost&nbsp;~]#&nbsp;</p>
<p>&nbsp;</p>
<p>说明：<br />设置能通过的最大数据包大小为&nbsp;1500&nbsp;bytes<br />&nbsp;</p>
<p>备注：用ifconfig命令配置的网卡信息，在网卡重启后机器重启后，配置就不存在。要想将上述的配置信息永远的存的电脑里，那就要修改网卡的配置文件了。</p>
<p>转自:http://www.cnblogs.com/peida/archive/2013/02/27/2934525.html</p><img src ="http://www.cppblog.com/aaxron/aggbug/198263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2013-03-07 14:29 <a href="http://www.cppblog.com/aaxron/archive/2013/03/07/198263.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>每天一个linux命令（53）：route命令</title><link>http://www.cppblog.com/aaxron/archive/2013/03/07/198262.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 07 Mar 2013 06:25:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2013/03/07/198262.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/198262.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2013/03/07/198262.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/198262.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/198262.html</trackback:ping><description><![CDATA[<p>每天一个linux命令（53）：route命令<br /><a href="http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html">http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html</a></p>
<p>Linux系统的route命令用于显示和操作IP路由表（show / manipulate the IP routing table）。要实现两个不同的子网之间的通信，需要一台连接两个网络的路由器，或者同时位于两个网络的网关来实现。在Linux系统中，设置路由通常是为了解决以下问题：该Linux系统在一个局域网中，局域网中有一个网关，能够让机器访问Internet，那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是，直接在命令行下执行route命令来添加路由，不会永久保存，当网卡重启或者机器重启之后，该路由就失效了；可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。<br />1．命令格式：<br />route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] <br />2．命令功能：<br />route命令是用于操作基于内核ip路由表，它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口，如eth0。当使用"add"或者"del"参数时，路由表被修改，如果没有参数，则显示路由表当前的内容。<br />3．命令参数：<br />-c 显示更多信息<br />-n 不解析名字<br />-v 显示详细的处理信息<br />-F 显示发送信息<br />-C 显示路由缓存<br />-f 清除所有网关入口的路由表。 <br />-p 与 add 命令一起使用时使路由具有永久性。<br />&nbsp;<br />add:添加一条新路由。<br />del:删除一条路由。<br />-net:目标地址是一个网络。<br />-host:目标地址是一个主机。<br />netmask:当添加一个网络路由时，需要使用网络掩码。<br />gw:路由数据包通过网关。注意，你指定的网关必须能够达到。<br />metric：设置路由跳数。<br />Command 指定您想运行的命令 (Add/Change/Delete/Print)。 <br />Destination 指定该路由的网络目标。 <br />mask Netmask 指定与网络目标相关的网络掩码（也被称作子网掩码）。 <br />Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。 <br />metric Metric 为路由指定一个整数成本值标（从 1 至 9999），当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。 <br />if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引，使用 route print 命令的显示功能。可以使用十进制或十六进制值进行接口索引。<br />4．使用实例：<br />实例1：显示当前路由<br />命令：<br />route<br />route -n</p>
<p>[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />e192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />[root@localhost ~]# route -n<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0</p>
<p>说明：<br />第一行表示主机所在网络的地址为192.168.120.0，若数据传送目标是在本局域网内通信，则可直接通过eth0转发数据包;<br />第四行表示数据传送目的是访问Internet，则由接口eth0，将数据包发送到网关192.168.120.240<br />其中Flags为路由标志，标记当前网络节点的状态。<br />Flags标志说明：<br />U Up表示此路由当前为启动状态<br />H Host，表示此网关为一主机<br />G Gateway，表示此网关为一路由器<br />R Reinstate route，使用动态路由重新初始化的路由<br />D Dynamically,此路由是动态性地写入<br />M Modified，此路由是由路由守护程序或导向器动态修改<br />! 表示此路由当前为关闭状态<br />备注：<br />route -n (-n 表示不解析名字,列出速度会比route 快)</p>
<p>实例2：添加网关/设置网关<br />命令：<br />route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0<br />输出：<br />[root@localhost ~]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0<br />[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />224.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 240.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />[root@localhost ~]#&nbsp; <br />说明：<br />增加一条 到达244.0.0.0的路由</p>
<p>实例3：屏蔽一条路由<br />命令：<br />route add -net 224.0.0.0 netmask 240.0.0.0 reject<br />输出：<br />[root@localhost ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject<br />[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />224.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 240.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 -<br />224.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 240.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0</p>
<p>说明：<br />增加一条屏蔽的路由，目的地址为 224.x.x.x 将被拒绝</p>
<p>实例4：删除路由记录<br />命令：<br />route del -net 224.0.0.0 netmask 240.0.0.0<br />route del -net 224.0.0.0 netmask 240.0.0.0 reject<br />输出：<br />[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />224.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 240.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 -<br />224.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 240.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />[root@localhost ~]# route del -net 224.0.0.0 netmask 240.0.0.0<br />[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />224.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 240.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 -<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />[root@localhost ~]# route del -net 224.0.0.0 netmask 240.0.0.0 reject<br />[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />[root@localhost ~]# </p>
<p>说明：</p>
<p><br />实例5：删除和添加设置默认网关<br />命令：<br />route del default gw 192.168.120.240<br />route add default gw 192.168.120.240<br />输出：<br />[root@localhost ~]# route del default gw 192.168.120.240<br />[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />[root@localhost ~]# route add default gw 192.168.120.240<br />[root@localhost ~]# route<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags Metric Ref&nbsp;&nbsp;&nbsp; Use Iface<br />192.168.120.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />192.168.0.0&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.255.0.0&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />10.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.1&nbsp;&nbsp; 255.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.120.240 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 eth0<br />[root@localhost ~]# </p><img src ="http://www.cppblog.com/aaxron/aggbug/198262.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2013-03-07 14:25 <a href="http://www.cppblog.com/aaxron/archive/2013/03/07/198262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux route命令使用</title><link>http://www.cppblog.com/aaxron/archive/2013/03/07/198261.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 07 Mar 2013 06:12:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2013/03/07/198261.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/198261.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2013/03/07/198261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/198261.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/198261.html</trackback:ping><description><![CDATA[<div>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">linux&nbsp;route命令使用<br /><br />转自</span><span style="color: #000000">:</span><span style="color: #000000">http</span><span style="color: #000000">://</span><span style="color: #000000">linux008</span><span style="color: #000000">.</span><span style="color: #000000">blog</span><span style="color: #000000">.</span><span style="color: #000000">51cto</span><span style="color: #000000">.</span><span style="color: #000000">com</span><span style="color: #000000">/</span><span style="color: #800000">2837805</span><span style="color: #000000">/</span><span style="color: #800000">550596</span><span style="color: #000000"><br /><br />说明：route命令是打印和操作ip路由表<br />描述：route操作基于内核ip路由表，它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口，如eth0。当使用</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">add</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">或者</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">del</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">参数时，路由表被修改，如果没有参数，则显示路由表当前的内容。<br />参数说明：add</span><span style="color: #000000">:</span><span style="color: #000000">添加一条新路由。<br />&nbsp;del</span><span style="color: #000000">:</span><span style="color: #000000">删除一条路由。<br />&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">net</span><span style="color: #000000">:</span><span style="color: #000000">目标地址是一个网络。<br />&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">host</span><span style="color: #000000">:</span><span style="color: #000000">目标地址是一个主机。<br />&nbsp;netmask</span><span style="color: #000000">:</span><span style="color: #000000">当添加一个网络路由时，需要使用网络掩码。<br />&nbsp;gw</span><span style="color: #000000">:</span><span style="color: #000000">路由数据包通过网关。注意，你指定的网关必须能够达到。<br />&nbsp;metric：设置路由跳数。<br />实例：<br />&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">、route&nbsp;add&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">net&nbsp;</span><span style="color: #800000">192.168</span><span style="color: #000000">.</span><span style="color: #800000">2.0</span><span style="color: #000000">&nbsp;netmask&nbsp;</span><span style="color: #800000">255.255</span><span style="color: #000000">.</span><span style="color: #800000">255.0</span><span style="color: #000000">&nbsp;dev&nbsp;eth0<br />&nbsp;添加一条到达192</span><span style="color: #000000">.</span><span style="color: #800000">168.2</span><span style="color: #000000">.</span><span style="color: #000000">0网络的路由，指定网络掩码为255</span><span style="color: #000000">.</span><span style="color: #800000">255.255</span><span style="color: #000000">.</span><span style="color: #800000">0</span><span style="color: #000000">,</span><span style="color: #000000">数据包通过网络接口eth0。<br /><br />&nbsp;</span><span style="color: #800000">2</span><span style="color: #000000">、route&nbsp;add&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">net&nbsp;</span><span style="color: #800000">192.57</span><span style="color: #000000">.</span><span style="color: #800000">66.0</span><span style="color: #000000">&nbsp;netmask&nbsp;</span><span style="color: #800000">255.255</span><span style="color: #000000">.</span><span style="color: #800000">255.0</span><span style="color: #000000">&nbsp;gw&nbsp;</span><span style="color: #800000">192.168</span><span style="color: #000000">.</span><span style="color: #800000">2.1</span><span style="color: #000000"><br />&nbsp;添加一条到达192</span><span style="color: #000000">.</span><span style="color: #800000">57.66</span><span style="color: #000000">.</span><span style="color: #000000">0网络的路由，指定网络掩码为255</span><span style="color: #000000">.</span><span style="color: #800000">255.255</span><span style="color: #000000">.</span><span style="color: #800000">0</span><span style="color: #000000">,</span><span style="color: #000000">数据包通过网关地址192</span><span style="color: #000000">.</span><span style="color: #800000">168.2</span><span style="color: #000000">.</span><span style="color: #800000">1</span><span style="color: #000000">。<br /><br />&nbsp;</span><span style="color: #800000">3</span><span style="color: #000000">、route&nbsp;add&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">host&nbsp;</span><span style="color: #800000">192.57</span><span style="color: #000000">.</span><span style="color: #800000">66.200</span><span style="color: #000000">&nbsp;gw&nbsp;</span><span style="color: #800000">192.168</span><span style="color: #000000">.</span><span style="color: #800000">2.1</span><span style="color: #000000"><br />&nbsp;所有去往192</span><span style="color: #000000">.</span><span style="color: #800000">57.66</span><span style="color: #000000">.</span><span style="color: #000000">200主机的数据包发往网关地址192</span><span style="color: #000000">.</span><span style="color: #800000">168.2</span><span style="color: #000000">.</span><span style="color: #800000">1</span><span style="color: #000000">。<br /><br />&nbsp;</span><span style="color: #800000">4</span><span style="color: #000000">、route&nbsp;add&nbsp;default&nbsp;gw&nbsp;</span><span style="color: #800000">192.168</span><span style="color: #000000">.</span><span style="color: #800000">1.1</span><span style="color: #000000"><br />&nbsp;添加一条默认网关，所有的数据包将被转发到192</span><span style="color: #000000">.</span><span style="color: #800000">168.1</span><span style="color: #000000">.</span><span style="color: #800000">1</span><span style="color: #000000">。<br /><br />路由表内容说明：<br />查看路由&nbsp;<br /></span><span style="color: #008000">#</span><span style="color: #008000">&nbsp;route&nbsp;-n</span><span style="color: #008000"><br /></span><span style="color: #000000">Kernel&nbsp;IP&nbsp;routing&nbsp;table<br />Destination&nbsp;Gateway&nbsp;Genmask&nbsp;Flags&nbsp;Metric&nbsp;</span><span style="color: #0000ff">Ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Use</span><span style="color: #000000">&nbsp;Iface<br /></span><span style="color: #800000">192.57</span><span style="color: #000000">.</span><span style="color: #800000">66.200</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">192.168</span><span style="color: #000000">.</span><span style="color: #800000">1.1</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">255.255</span><span style="color: #000000">.</span><span style="color: #800000">255.255</span><span style="color: #000000">&nbsp;UGH&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;eth0<br /></span><span style="color: #800000">192.168</span><span style="color: #000000">.</span><span style="color: #800000">1.0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0.0</span><span style="color: #000000">.</span><span style="color: #800000">0.0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">255.255</span><span style="color: #000000">.</span><span style="color: #800000">255.0</span><span style="color: #000000">&nbsp;U&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;eth0<br /></span><span style="color: #800000">169.254</span><span style="color: #000000">.</span><span style="color: #800000">0.0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0.0</span><span style="color: #000000">.</span><span style="color: #800000">0.0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">255.255</span><span style="color: #000000">.</span><span style="color: #800000">0.0</span><span style="color: #000000">&nbsp;U&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;eth0<br /></span><span style="color: #800000">0.0</span><span style="color: #000000">.</span><span style="color: #800000">0.0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">192.168</span><span style="color: #000000">.</span><span style="color: #800000">1.1</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0.0</span><span style="color: #000000">.</span><span style="color: #800000">0.0</span><span style="color: #000000">&nbsp;UG&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;eth0<br />Destination：目标网络或主机。<br />Gateway：网关地址。<br />Genmask：目标网络的网络掩码。</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">255.255.255.255</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">表示一个主机。</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">0.0.0.0</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">表示网关。<br />Flags：标记。<br />U、路由被启用。<br />H、目标是一个主机<br />G、使用网关。<br /></span></div></div><img src ="http://www.cppblog.com/aaxron/aggbug/198261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2013-03-07 14:12 <a href="http://www.cppblog.com/aaxron/archive/2013/03/07/198261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ldconfig和ldd用法</title><link>http://www.cppblog.com/aaxron/archive/2012/08/02/185995.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 02 Aug 2012 01:50:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/08/02/185995.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/185995.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/08/02/185995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/185995.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/185995.html</trackback:ping><description><![CDATA[ldconfig和ldd用法<br /><br />一、ldconfig<br /><br />ldconfig --help<br />Usage: ldconfig [OPTION...]<br />Configure Dynamic Linker Run Time Bindings.<br /><br />&nbsp; -c, --format=FORMAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Format to use: new, old or compat (default)<br />&nbsp; -C CACHE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use CACHE as cache file<br />&nbsp; -f CONF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use CONF as configuration file<br />&nbsp; -i, --ignore-aux-cache&nbsp;&nbsp;&nbsp;&nbsp; Ignore auxiliary cache file<br />&nbsp; -l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Manually link individual libraries.<br />&nbsp; -n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Only process directories specified on the command<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line.&nbsp; Don't build cache.<br />&nbsp; -N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Don't build cache<br />&nbsp; -p, --print-cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print cache<br />&nbsp; -r ROOT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Change to and use ROOT as root directory<br />&nbsp; -v, --verbose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Generate verbose messages<br />&nbsp; -X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Don't generate links<br />&nbsp; -?, --help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Give this help list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --usage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Give a short usage message<br />&nbsp; -V, --version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print program version<br /><br />Mandatory or optional arguments to long options are also mandatory or optional<br />for any corresponding short options.<br /><br />ldconfig是一个动态链接库管理命令，为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.<br /><br /><br />linux下的共享库机制采用了类似于高速缓存的机制，将库信息保存在/etc/ld.so.cache里边。<br /><br />程序连接的时候首先从这个文件里边查找，然后再到ld.so.conf的路径里边去详细找。<br /><br />这就是为什么修改了ld.so.conf要重新运行一下ldconfig的原因<br /><br />补充一点，ldconfig在/sbin里面。<br /><br /><br />ldconfig几个需要注意的地方<br />1. 往/lib和/usr/lib里面加东西，是不用修改/etc/ld.so.conf的，但是完了之后要调一下ldconfig，不然这个library会找不到<br />2. 想往上面两个目录以外加东西的时候，一定要修改/etc/ld.so.conf，然后再调用ldconfig，不然也会找不到<br />比如安装了一个mysql到/usr/local/mysql，mysql有一大堆library在/usr/local/mysql/lib下面，这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib，保存过后ldconfig一下，新的library才能在程序运行时被找到。<br />3. 如果想在这两个目录以外放lib，但是又不想在/etc/ld.so.conf中加东西（或者是没有权限加东西）。那也可以，就是export一个全局变量LD_LIBRARY_PATH，然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案，在没有权限或临时需要的时候使用。<br />4. ldconfig做的这些东西都与运行程序时有关，跟编译时一点关系都没有。编译的时候还是该加-L就得加，不要混淆了。<br />5. 总之，就是不管做了什么关于library的变动后，最好都ldconfig一下，不然会出现一些意想不到的结果。不会花太多的时间，但是会省很多的事。<br /><br /><br />二、ldd<br /><br />作用：用来查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题。<br />ldd命令原理(摘自网络)<br />1、首先ldd不是一个可执行程序，而只是一个shell脚本<br />2、ldd能够显示可执行模块的dependency，其原理是通过设置一系列的环境变量，如下：LD_TRACE_LOADED_OBJECTS、<br />LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。当<br />LD_TRACE_LOADED_OBJECTS环境变量不为空时，任何可执行程序在运行时，它都会只显示模块的dependency，而程序并不真正执行。要不你可以在shell终端测试一下，如下：<br />(1) export LD_TRACE_LOADED_OBJECTS=1<br />(2) 再执行任何的程序，如ls等，看看程序的运行结果<br />3、ldd显示可执行模块的dependency的工作原理，其实质是通过ld-linux.so（elf动态库的装载器）来实现的。我们知道，ld-<br />linux.so模块会先于executable模块程序工作，并获得控制权，因此当上述的那些环境变量被设置时，ld-linux.so选择了显示可执<br />行模块的dependency。<br />4、实际上可以直接执行ld-linux.so模块，如：/lib/ld-linux.so.2 --list program（这相当于ldd program）<img src ="http://www.cppblog.com/aaxron/aggbug/185995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-08-02 09:50 <a href="http://www.cppblog.com/aaxron/archive/2012/08/02/185995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理解login shell和non-login shell</title><link>http://www.cppblog.com/aaxron/archive/2012/07/31/185719.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Tue, 31 Jul 2012 01:38:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/07/31/185719.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/185719.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/07/31/185719.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/185719.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/185719.html</trackback:ping><description><![CDATA[理解login shell和non-login shell<br /><br />用户交互式login的时候，就会初始化profile相关的脚本，这就是所谓的login shell。<br /><br />当在已经存在的shell里面启动另外一个shell的时候，比如使用"bash"或者"su"，启动的这个新shell就会初始化rc相关 的脚本。这个shell就称为non-login shell。<br /><br />login shell会执行的脚本有 /etc/profile和~/.bash_profile。<br />non-login shell会执行的脚本通常有/etc/bashrc （在debian/ubuntu上是/etc/bash.bashrc）和~/.bashrc。<br /><br />在tty下login进去，得到的是一个login shell。之后使用bash或者su命令得到的是non-login shell。<br />而在debian/ubuntu下的GNOME用terminal启动出来的shell是non-login shell。退出该non-login shell的话，只需要exit即可。<br /><br />login shell 读取 /etc/profile 和 ~/.bash_profile , 并且是 先读入 profile 后读入 .bash_profile, 2个文件必读， <br />至于 bash.bashrc 和 .bashrc 则看 profile 和 .bash_profile 是否明确指定读。 <img src ="http://www.cppblog.com/aaxron/aggbug/185719.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-07-31 09:38 <a href="http://www.cppblog.com/aaxron/archive/2012/07/31/185719.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>debian配置samba</title><link>http://www.cppblog.com/aaxron/archive/2012/04/05/170113.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 05 Apr 2012 00:41:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/04/05/170113.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/170113.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/04/05/170113.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/170113.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/170113.html</trackback:ping><description><![CDATA[<p>debian配置samba<br />读音['s&#230;mbə]<br />Samba协议基础<br />&nbsp;&nbsp;&nbsp; 在Windows NT服务器系统中，实现不同计算机之间共享打印机和文在NetBIOS出现之后，Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统，这个系统基于NetBIOS设定了一套文件共享协议，Microsoft称之为SMB（Server Message Block）协议。这个协议被Microsoft用于他们Lan Manager件。</p>
<p>&nbsp;&nbsp;&nbsp; Samba是用来实现SMB的一种软件，它的工作原理是，让NETBIOS（Windows95网络邻居的通讯协议）和SMB（Server Message Block）这两个协议运行于TCP/IP通信协议之上，并且使用Windows的NETBEUI协议让Unix计算机可以在网络邻居上被Windows计算机看到。<br />它的功能有：<br />共享Linux磁盘给Windowns<br />共享Windowns磁盘给Linux机器<br />共享Linux打印机给Windowns<br />共享Windowns打印机给Linux机器。</p>
<p>&nbsp;&nbsp;&nbsp; Samba的核心是两个守护进程smbd和nmbd程序，在服务器启动到停止期间持续运行。smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享，共享输出给谁及如何进行输出。smbd进程的作用是处理到来的SMB软件包，为使用该软件包的资源与Linux进行协商，nmbd进程使其它主机（或工作站）能浏览Linux服务器。<br />Samba的主配置文件位置在/etc/samba目录中，文件名为smb.conf。</p>
<p>首先是安装samba：<br />apt-get install samba</p>
<p>跟着修改配置文件:<br />vim /etc/samba/smb.conf</p>
<p>[可选]加入如下配置<br />#display charset = UTF-8<br />#unix charset = UTF-8<br />#dos charset = cp936</p>
<p>useradd<br />smbpasswd -a meaglith<br />/etc/init.d/samba restart</p>
<p>检查当前配置<br />#testparm</p>
<p>附.设置目录共享及权限<br />[share]<br />comment = a comment #目录的注解说明<br />path = /data/temp&nbsp; #要共享目录的绝对位置<br />browseable =&nbsp;&nbsp; no&nbsp; #目录是否可见,预设为可见<br />writable = yes&nbsp;&nbsp;&nbsp;&nbsp; #目录是否为可写<br />read only = no&nbsp;&nbsp;&nbsp;&nbsp; #目录是否为只读<br />guest ok = yes&nbsp;&nbsp;&nbsp;&nbsp; #来宾是否可以访问,与"public = yes" 作用相同<br />write list =user,@group&nbsp;&nbsp; #可写用户列表,@后表示某个群组<br />valid users = validusername&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许访问的使用者清单<br />read list&nbsp;&nbsp; =&nbsp; readusename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #只可读的使用者清单<br />invalid users = invalidusername&nbsp; #禁止访问的使用者清单<br />admin users = adminuser&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #有管理权限使用者清单<br />create mask = 0755&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #使用者建立档案的权限,预设为0744<br />printable = no</p>
<p>[global] #全局配置<br />workgroup = LinuxSir #定义该Samba服务器所在的工作组或者域（如果下面的security=domain的话）<br />netbios name = LinuxSir05 #在Windows中显示出来的计算机名<br />server string = Linux Samba Server TestServer #设定机器的描述，当我们通过网络邻居访问的时候可以在备注里面看见这个内容。<br />security = security_level #定义Samba的安全级别<br />说明:<br />定义Samba的安全级别，按从低到高分为四级：share，user，server，domain。它们对应的验证方式如下：<br />share：没有安全性的级别，任何用户都可以不要用户名和口令访问服务器上的资源。<br />User：samba的默认配置，要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。<br />Server：和user安全级别类似，但用户名和密码是递交到另外一个服务器去验证，比如递交给一台NT服务器。如果递交失败，就退到user安全级。<br />Domain：这个安全级别要求网络上存在一台Windows的主域控制器，samba把用户名和密码递交给它去验证。<br />后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。</p>
<p>hosts allow = 网络或者主机<br />说明:<br />这里可以设置允许访问的网络和主机IP.<br />比如允许整个192.168.1.0这个网段（192.168.1.0/24）和192.168.2.1这台主机（192.168.2.1/32)访问，就用host allow = 192.168.1. 192.168.2.1 127.0.0.1(网络注意后面加&#8221;.&#8221;号，各个项目间用空格隔开，记得把本机也加进去)</p>
<p>samba命令使用:<br />假定:<br />windows下IP为192.168.0.7<br />debian下的IP 为:192.168.0.8</p>
<p>debian~#smbclient -L 192.168.0.7 -U sunday<br />在windows下输入：<a href="file://\\192.168.0.8">\\192.168.0.8</a>&nbsp;&nbsp; 访问debian</p>
<p>最简samba配置<br />一、通过用户访问<br />1.apt-get install samba<br />2.修改/etc/samba/smb.conf文件<br />security = user #设置安全级别为user<br />3.添加用户并设置samba访问密码<br />smbpasswd -a username</p>
<p>二、不需要用户都可以直接访问<br />1.修改/etc/samba/smb.conf文件<br />设置security = share</p>
<p>4.重启一下samba服务：<br />/etc/init.d/smb restart<br />/etc/init.d/samba restart</p>
<p>注:suse 下重启samba<br />rcsmb restart</p><img src ="http://www.cppblog.com/aaxron/aggbug/170113.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-04-05 08:41 <a href="http://www.cppblog.com/aaxron/archive/2012/04/05/170113.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>debian 配置源&amp;安装字体</title><link>http://www.cppblog.com/aaxron/archive/2011/09/20/156329.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Tue, 20 Sep 2011 08:11:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2011/09/20/156329.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/156329.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2011/09/20/156329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/156329.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/156329.html</trackback:ping><description><![CDATA[<div><span style="color: red;">源:</span><br /><span style="font-size: 12px; color: red;">vi /etc/apt/sources.list</span><span style="font-size: 12px;"><br /></span><br /><div><span style="font-size: 12px;">deb http://mirrors.163.com/debian squeeze main contrib non-free</span></div><div><span style="font-size: 12px;">deb-src http://mirrors.163.com/debian squeeze main contrib non-free</span></div><div><span style="font-size: 12px;"><br /></span></div><div><span style="font-size: 12px;">deb http://ftp.hk.debian.org/debian squeeze main contrib non-free</span></div><div><span style="font-size: 12px;">deb-src http://ftp.hk.debian.org/debian squeeze main contrib non-free</span></div><br /><br /><br /><br />debian 安装字体<br />mkdir - p /usr/share/fonts/zh_cn<br />拷贝 c:\windows\simsun.ttc /usr/share/fonts/zh_cn/simsun.ttf<br />cd /usr/share/fonts/zh_cn<br />mkfontscale <br />mkfontdir <br />fc-cache</div><img src ="http://www.cppblog.com/aaxron/aggbug/156329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2011-09-20 16:11 <a href="http://www.cppblog.com/aaxron/archive/2011/09/20/156329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>lvm扩容</title><link>http://www.cppblog.com/aaxron/archive/2011/09/10/155504.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Sat, 10 Sep 2011 04:31:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2011/09/10/155504.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/155504.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2011/09/10/155504.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/155504.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/155504.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">fdisk&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">l<br />pvdisplay<br />pvcreate&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dev</span><span style="color: #000000; ">/</span><span style="color: #000000; ">sda3<br />pvdisplay<br />vgdisplay<br />vgextend&nbsp;VolGroup00&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dev</span><span style="color: #000000; ">/</span><span style="color: #000000; ">sda3<br />vgdisplay<br />lvdisplay<br />lvextend&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">L</span><span style="color: #000000; ">+</span><span style="color: #000000; ">10G&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dev</span><span style="color: #000000; ">/</span><span style="color: #000000; ">VolGroup00</span><span style="color: #000000; ">/</span><span style="color: #000000; ">LogVol00<br />resize2fs&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">p&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dev</span><span style="color: #000000; ">/</span><span style="color: #000000; ">VolGroup00</span><span style="color: #000000; ">/</span><span style="color: #000000; ">LogVol00<br />lvdisplay<br />df&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">lh<br /><br /><br />[可选]<br />lvreduce&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">L</span><span style="color: #000000; ">-</span><span style="color: #000000; ">10G&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dev</span><span style="color: #000000; ">/</span><span style="color: #000000; ">VolGroup00</span><span style="color: #000000; ">/</span><span style="color: #000000; ">LogVol01<br />lvdisplay<br /><br /><div>一、准备物理硬盘和分区<br />1、<br />$ fdisk /dev/sdb<br />2、将该硬盘做成extended分区，并write分区表<br />3、使用fdisk -l就可以看到该硬盘了。<br /><br />二、安装并配置lvm<br />1、<br />$ aptitude lvm2<br />2、初始化物理卷<br />$ pvcreate /dev/sdb5<br />$ pvcreate /dev/sdb3<br />3、创建卷组<br />$ vgcreate vg0 /dev/sdb5<br /><br />4、激活卷组<br />$ vgscan<br /><br />[可选]<br />vg0通过添加物理卷来扩充卷组：<br />$ vgextend /dev/vg0 /dev/sdb3<br /><br />5、创建逻辑卷<br />$ lvcreate -n lv0 --size 500M vg0<br />6、格式化并mount该逻辑卷<br />$ mkfs.ext3 /dev/vg0/lv0<br />$ mkdir /home/lv0<br />$ mount -t ext3 /dev/vg0/lv0 /home/lv0<br />7、查看逻辑卷<br />$ lvdisplay<br />8、改变逻辑卷的大小<br />$ umount /home/lv0&nbsp; #lvm2好像不需要umount<br />$ lvextend -L +40M /dev/vg0/lv0<br />改变之后，在lvdisplay可以看到大小已经改变，但是实际的文件系统还是500M，所以还需要做以下的操作<br />9、改变物理卷大小<br />$ e2fsck -f /dev/vg0/lv0<br />$ resize2fs /dev/vg0/lv0<br />10、重新mount该逻辑卷<br />$ mount -t ext3 /dev/vg0/lv0 /home/lv0<br />$ df -h<br />使用df -h就可以看到该分区的大小了。<br />11、去除逻辑卷<br />$ lvremove /dev/vg0/lv0<br />前提：先umount该逻辑卷</div><br /></span></div><img src ="http://www.cppblog.com/aaxron/aggbug/155504.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2011-09-10 12:31 <a href="http://www.cppblog.com/aaxron/archive/2011/09/10/155504.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>shell编程笔记</title><link>http://www.cppblog.com/aaxron/archive/2011/09/08/155357.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 08 Sep 2011 07:54:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2011/09/08/155357.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/155357.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2011/09/08/155357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/155357.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/155357.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">脚本不是复杂的程序</span><span style="color: #000000">,</span><span style="color: #000000">它是按行解释的</span><span style="color: #000000">,</span><span style="color: #000000">脚本的第一行总是以</span><span style="color: #008000">#</span><span style="color: #008000">!/bin/sh开始.<br /></span><span>这行代码通知书shell使用系统上的Bourne&nbsp;shell解析器.</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />shell语法<br />test&nbsp;命令<br /></span><span style="color: #800000">1</span><span style="color: #000000">.</span><span style="color: #000000">条件测试<br />test命令用于测试字符串</span><span style="color: #000000">,</span><span style="color: #000000">文件状态和数字</span><span style="color: #000000">.</span><span style="color: #000000"><br /><br />工作原理<br />test&nbsp;命令最短的定义可能是评估一个表达式；如果条件为真，则返回一个&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;值。如果表达式不为真，返回非0<br /><br />test一般有两种格式</span><span style="color: #000000">:</span><span style="color: #000000"><br /><br />test&nbsp;条件表达式<br />或<br />[&nbsp;条件表达式&nbsp;]<br /><br />使用方括号时</span><span style="color: #000000">,</span><span style="color: #000000">要注意在条件两边加上空格</span><span style="color: #000000">.</span><span style="color: #000000"><br /><br />文件运算符<br />利用这些运算符，您可以在程序中根据对文件类型的评估结果执行不同的操作：<br /></span><span style="color: #000000">-</span><span style="color: #000000">b&nbsp;file&nbsp;如果文件为一个块特殊文件，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">c&nbsp;file&nbsp;如果文件为一个字符特殊文件，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">d&nbsp;file&nbsp;如果文件为一个目录，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">e&nbsp;file&nbsp;如果文件存在，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">f&nbsp;file&nbsp;如果文件为一个普通文件，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">g&nbsp;file&nbsp;如果设置了文件的&nbsp;SGID&nbsp;位，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">G&nbsp;file&nbsp;如果文件存在且归该组所有，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">k&nbsp;file&nbsp;如果设置了文件的粘着位，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">O&nbsp;file&nbsp;如果文件存在并且归该用户所有，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">p&nbsp;file&nbsp;如果文件为一个命名管道，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">r&nbsp;file&nbsp;如果文件可读，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">s&nbsp;file&nbsp;如果文件的长度不为零，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">S&nbsp;file&nbsp;如果文件为一个套接字特殊文件，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">t&nbsp;fd&nbsp;&nbsp;&nbsp;&nbsp;如果&nbsp;fd&nbsp;是一个与终端相连的打开的文件描述符（fd&nbsp;默认为&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">），则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">u&nbsp;file&nbsp;如果设置了文件的&nbsp;SUID&nbsp;位，则为真<br /></span><span style="color: #000000">-</span><span style="color: #000000">w&nbsp;file&nbsp;如果文件可写，则为真<br /></span><span style="color: #0000ff">-x</span><span style="color: #000000">&nbsp;file&nbsp;如果文件可执行，则为真<br /><br />字符串比较运算符<br />如标题所示，这组函数比较字符串的值。您可以检查它们是否存在、是否相同或者是否不同。<br />string&nbsp;测试以判断字符串是否不为空<br /></span><span style="color: #000000">-</span><span style="color: #000000">n&nbsp;string&nbsp;测试以判断字符串是否不为空；<br /></span><span style="color: #000000">-</span><span style="color: #000000">z&nbsp;string&nbsp;测试以判断字符串是否为空；<br />string1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;string2&nbsp;测试以判断&nbsp;string1&nbsp;是否与&nbsp;string2&nbsp;相同<br />string1&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;string2&nbsp;测试以判断&nbsp;string1&nbsp;是否与&nbsp;string2&nbsp;不同<br /><br />整数比较运算符<br />正如字符串比较运算符验证字符串相等或不同一样，整数比较运算符对数字执行相同的功能。<br />如果变量的值匹配则表达式测试为真，如果不匹配，则为假。整数比较运算符不处理字符串（正如字符串运算符不处理数字一样）：<br /></span><span style="color: #000000">-</span><span style="color: #000000">eq&nbsp;&nbsp;&nbsp;&nbsp;等于<br /></span><span style="color: #000000">-</span><span style="color: #000000">ge&nbsp;&nbsp;&nbsp;&nbsp;大于或等于<br /></span><span style="color: #000000">-</span><span style="color: #000000">gt&nbsp;&nbsp;&nbsp;&nbsp;大于<br /></span><span style="color: #000000">-</span><span style="color: #000000">le&nbsp;&nbsp;&nbsp;&nbsp;小于或等于<br /></span><span style="color: #000000">-</span><span style="color: #000000">lt&nbsp;&nbsp;&nbsp;&nbsp;小于<br /></span><span style="color: #000000">-</span><span style="color: #000000">ne&nbsp;&nbsp;&nbsp;&nbsp;不等于<br />如</span><span style="color: #000000">:</span><span style="color: #000000"><br /></span><span style="color: #008000">#</span><span style="color: #008000">&nbsp;[&nbsp;2&nbsp;-gt&nbsp;3&nbsp;]<br />#&nbsp;echo&nbsp;$?</span><span style="color: #008000"><br /></span><span style="color: #800000">1</span><span style="color: #000000"><br /><br /></span><span style="color: #008000">#</span><span style="color: #008000">&nbsp;[&nbsp;2&nbsp;-lt&nbsp;3&nbsp;]<br />#&nbsp;echo&nbsp;$?</span><span style="color: #008000"><br /></span><span style="color: #800000">0</span><span style="color: #000000"><br /><br />布尔运算符<br />布尔运算符在几乎每种语言中的工作方式都相同&nbsp;&#8212;&nbsp;包括&nbsp;shell&nbsp;脚本。在&nbsp;nutshell&nbsp;中，它们检查多个条件为真或为假，或者针对假的条件而不是真的条件采取操作。与&nbsp;test&nbsp;搭配使用的运算符有</span><span style="color: #000000">:</span><span style="color: #000000"><br /></span><span style="color: #000000">!</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;条件非<br /></span><span style="color: #000000">-</span><span style="color: #000000">a&nbsp;&nbsp;&nbsp;&nbsp;条件与<br /></span><span style="color: #000000">-</span><span style="color: #000000">o&nbsp;&nbsp;&nbsp;&nbsp;条件或<br /><br /><br /><br />控制结构<br />无论什么编程语言都离不开条件判断。SHELL也不例外。<br />条件分支<br /><br />if语句<br /><br />语法1</span><span style="color: #000000">:</span><span style="color: #000000"><br /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;条件表达式<br />&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;命令<br />fi<br /><br />语法2</span><span style="color: #000000">:</span><span style="color: #000000"><br /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;条件表达式;&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000">&nbsp;something&nbsp;here<br />elif&nbsp;条件表达式&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000">&nbsp;another&nbsp;thing&nbsp;here<br /></span><span style="color: #0000ff">else</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000">&nbsp;something&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;here<br />fi<br /><br />使用if时</span><span style="color: #000000">,</span><span style="color: #000000">必须将then部分放在新行</span><span style="color: #000000">,</span><span style="color: #000000">否则会报错</span><span style="color: #000000">.</span><span style="color: #000000"><br />如果要不分行</span><span style="color: #000000">,</span><span style="color: #000000">必须使用命令分隔符</span><span style="color: #000000">.<br /></span>
<div><span style="font-size: 12px">$ vi testsh.sh</span></div>
<div><span style="font-size: 12px">#!/bin/sh</span></div>
<div><span style="font-size: 12px">if</span></div>
<div><span style="font-size: 12px">cat 111-tmp.txt | grep ting1</span></div>
<div><span style="font-size: 12px">then</span></div>
<div><span style="font-size: 12px">echo found</span></div>
<div><span style="font-size: 12px">else</span></div>
<div><span style="font-size: 12px">echo "no found"</span></div>
<div><span style="font-size: 12px">fi</span></div>
<div><span style="font-size: 12px"><br /></span></div>
<div><span style="font-size: 12px">$ vi testsh.sh</span></div>
<div><span style="font-size: 12px">#!/bin/sh</span></div>
<div><span style="font-size: 12px">cat 111-tmp.txt | grep ting1</span></div>
<div><span style="font-size: 12px">if [ $? -eq 0 ]</span></div>
<div><span style="font-size: 12px">then</span></div>
<div><span style="font-size: 12px">echo $?</span></div>
<div><span style="font-size: 12px">echo found</span></div>
<div><span style="font-size: 12px">else</span></div>
<div><span style="font-size: 12px">echo $?</span></div>
<div><span style="font-size: 12px">echo "no found"</span></div>
<div><span style="font-size: 12px">fi</span></div><span style="color: #000000"><br />
<p><font color="#000000" face="Verdana">#!/bin/sh</font></p>
<p><font color="#000000" face="Verdana">#函数<br />gw()<br />{<br />echo "do function gw()"<br />return 0<br />}</font></p>
<p><font color="#000000" face="Verdana">if gw<br />then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "run succeed"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "run succeed"<br />else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "run failed"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "run failed"<br />fi</font></p>
<p><font color="#000000" face="Verdana">说明：<br />if 命令/函数 0为真，走then<br />if 多条指令,这些命令之间相当于&#8220;and&#8221;（与）<br /></font></p><br /><br />case语句<br />case命令可类比C语言的switch</span><span style="color: #000000">/</span><span style="color: #000000">case语句，esac表示case语句块的结束。<br />每个匹配分支可以有若干条命令，末尾必须以;;结束，执行时找到第一个匹配的分支并执行相应的命令，然后直接跳到esac之后，不需要像C语言一样用break跳出。<br />如</span><span style="color: #000000">:</span><span style="color: #000000"><br /></span><span style="color: #008000">#</span><span style="color: #008000">!&nbsp;/bin/sh</span><span style="color: #008000"><br /></span><span style="color: #000000">echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">Is&nbsp;it&nbsp;morning?&nbsp;Please&nbsp;answer&nbsp;yes&nbsp;or&nbsp;no.</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br /></span><span style="color: #0000ff">read</span><span style="color: #000000">&nbsp;YES_OR_NO<br />case&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">$YES_OR_NO</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;in<br />yes</span><span style="color: #000000">|</span><span style="color: #000000">y</span><span style="color: #000000">|</span><span style="color: #000000">Yes</span><span style="color: #000000">|</span><span style="color: #000000">YES)<br />&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">Good&nbsp;Morning!</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">;;<br />[nN]</span><span style="color: #000000">*</span><span style="color: #000000">)<br />&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">Good&nbsp;Afternoon!</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">;;<br /></span><span style="color: #000000">*</span><span style="color: #000000">)<br />&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">Sorry,&nbsp;$YES_OR_NO&nbsp;not&nbsp;recognized.&nbsp;Enter&nbsp;yes&nbsp;or&nbsp;no.</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">exit</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">;;<br />esac<br /></span><span style="color: #0000ff">exit</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000"><br /><br /><br />for语句<br /></span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;变量名&nbsp;in&nbsp;列表<br /></span><span style="color: #0000ff">do</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;命令1<br />&nbsp;&nbsp;&nbsp;&nbsp;命令2<br />done<br /><br />Shell脚本的for循环结构和C语言很不一样，它类似php编程语言的foreach循环。例如：<br /></span><span style="color: #008000">#</span><span style="color: #008000">!/bin/sh</span><span style="color: #008000"><br /></span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;FRUIT&nbsp;in&nbsp;apple&nbsp;banana&nbsp;pear;&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000"><br />&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">I&nbsp;like&nbsp;$FRUIT</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br />done<br /><br /></span><span style="color: #0000ff">while</span><span style="color: #000000">/</span><span style="color: #0000ff">do</span><span style="color: #000000">/</span><span style="color: #000000">done<br />while的用法和C语言类似。比如一个验证密码的脚本：<br /><br /></span><span style="color: #008000">#</span><span style="color: #008000">!/bin/sh</span><span style="color: #008000"><br /></span><span style="color: #000000">echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">Enter&nbsp;password:</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br /></span><span style="color: #0000ff">read</span><span style="color: #000000">&nbsp;TRY<br /></span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;[&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">$TRY</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">secret</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;];&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000"><br />&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">Sorry,&nbsp;try&nbsp;again</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">read</span><span style="color: #000000">&nbsp;TRY<br />done<br /><br /><br />位置参数和特殊变量<br />$</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;相当于C语言main函数的argv[</span><span style="color: #800000">0</span><span style="color: #000000">]<br />$</span><span style="color: #800000">1</span><span style="color: #000000">、$</span><span style="color: #800000">2</span><span style="color: #000000"><img alt="" src="http://www.cppblog.com/Images/dot.gif" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;这些称为位置参数（Positional&nbsp;Parameter），相当于C语言main函数的argv[</span><span style="color: #800000">1</span><span style="color: #000000">]、argv[</span><span style="color: #800000">2</span><span style="color: #000000">]</span><span style="color: #000000"><img alt="" src="http://www.cppblog.com/Images/dot.gif" /></span><span style="color: #000000"><br />$</span><span style="color: #008000">#</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;参数个数,不包括程序自身,相当于C语言main函数的argc-1</span><span style="color: #008000"><br /></span><span style="color: #000000">$@&nbsp;&nbsp;&nbsp;&nbsp;表示参数列表</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">$1</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">$2</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000"><img alt="" src="http://www.cppblog.com/Images/dot.gif" /></span><span style="color: #000000">，例如可以用在for循环中的in后面。<br />$</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;上一条命令的Exit&nbsp;Status<br />$$&nbsp;&nbsp;&nbsp;&nbsp;当前Shell的进程号<br /><br />位置参数可以用shift命令左移。<br />比如shift&nbsp;3表示原来的$4现在变成$</span><span style="color: #800000">1</span><span style="color: #000000">，原来的$5现在变成$2等等，原来的$</span><span style="color: #800000">1</span><span style="color: #000000">、$</span><span style="color: #800000">2</span><span style="color: #000000">、$3丢弃，$0不移动。不带参数的shift命令相当于shift&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">。<br /><br /><br />函数<br /><br />和C语言类似，Shell中也有函数的概念，但是函数定义中没有返回值也没有参数列表。例如：<br /><br /></span><span style="color: #008000">#</span><span style="color: #008000">!/bin/sh</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />foo(){&nbsp;echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">Function&nbsp;foo&nbsp;is&nbsp;called</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">;}<br />echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">-=start=-</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br />foo<br />echo&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">-=end=-</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br /><br />注意函数体的左花括号{和后面的命令之间必须有空格或换行，如果将最后一条命令和右花括号}写在同一行，命令末尾必须有;号。<br /><br />在定义foo()函数时并不执行函数体中的命令，就像定义变量一样，只是给foo这个名字一个定义，到后面调用foo函数的时候（注意Shell中的函数调用不写括号）才执行函数体中的命令。Shell脚本中的函数必须先定义后调用，一般把函数定义都写在脚本的前面，把函数调用和其它命令写在脚本的最后（类似C语言中的main函数，这才是整个脚本实际开始执行命令的地方）。<br /><br />Shell函数没有参数列表并不表示不能传参数，事实上，函数就像是迷你脚本，调用函数时可以传任意个参数，在函数内同样是用$</span><span style="color: #800000">0</span><span style="color: #000000">、$</span><span style="color: #800000">1</span><span style="color: #000000">、$2等变量来提取参数，函数中的位置参数相当于函数的局部变量，改变这些变量并不会影响函数外面的$</span><span style="color: #800000">0</span><span style="color: #000000">、$</span><span style="color: #800000">1</span><span style="color: #000000">、$2等变量。函数中可以用return命令返回，如果return后面跟一个数字则表示函数的Exit&nbsp;Status。<br /><br />until语句<br />&nbsp;&nbsp;until循环执行一系列命令直至条件为真时停止。注意</span><span style="color: #000000">,</span><span style="color: #000000">这里是直到条件是真时才停止<br />until格式为：<br /></span><span style="color: #0000ff">until</span><span style="color: #000000">&nbsp;条件<br />&nbsp;&nbsp;命令1<br />&nbsp;&nbsp;</span><span style="color: #000000"><img alt="" src="http://www.cppblog.com/Images/dot.gif" /></span><span style="color: #000000"><br />done<br /><br /><br />i</span><span style="color: #000000">=</span><span style="color: #800000">0</span><span style="color: #000000"><br /></span><span style="color: #0000ff">until</span><span style="color: #000000">&nbsp;[&nbsp;</span><span style="color: #800080">$i</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">gt&nbsp;</span><span style="color: #800000">3</span><span style="color: #000000">&nbsp;]<br /></span><span style="color: #0000ff">do</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">`expr&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">$i</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">`<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">#</span><span style="color: #008000">i=$(($i&nbsp;+&nbsp;1))</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #800080">$i</span><span style="color: #000000"><br />done</span></div><img src ="http://www.cppblog.com/aaxron/aggbug/155357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2011-09-08 15:54 <a href="http://www.cppblog.com/aaxron/archive/2011/09/08/155357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux usermod -p 修改用户密码</title><link>http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 02 Dec 2010 03:07:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/135251.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/135251.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/135251.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%; font-family: Verdana;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">Linux&nbsp;usermod&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">p&nbsp;修改用户密码<br><br>passwd也可以修改口令，但是这是一种交互式的方式，需要用户干预。当然也可以使用重定向或者管道向passwd喂数据，暂且不提。<br><br>linux下增加用户的命令是useradd，修改用户的命令是usermod，二者都有一个参数&nbsp;&#8211;p，这个参数可以直接指定用户的口令，但是需要注意的是，这个口令并不是明文，而是经过加密的一个字串。<br><br>linux下可以用python编辑器通过编程的方法得到加密字串（linux下用python命令启动编辑器）：<br><br>下面是一个完整的过程，蓝色字体的是用户输入的命令，而红色的是系统输出。<br><br></span><span style="color: #000000;">============================================</span><span style="color: #000000;"><br><br>[root@linux&nbsp;</span><span style="color: #000000;">~</span><span style="color: #000000;">]</span><span style="color: #008000;">#</span><span style="color: #008000;">&nbsp;python</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>Python&nbsp;</span><span style="color: #000000;">2.3</span><span style="color: #000000;">.</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;(</span><span style="color: #008000;">#</span><span style="color: #008000;">1,&nbsp;Oct&nbsp;26&nbsp;2004,&nbsp;16:42:40)&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>[GCC&nbsp;</span><span style="color: #000000;">3.4</span><span style="color: #000000;">.</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">20041017</span><span style="color: #000000;">&nbsp;(Red&nbsp;Hat&nbsp;</span><span style="color: #000000;">3.4</span><span style="color: #000000;">.</span><span style="color: #000000;">2</span><span style="color: #000000;">-</span><span style="color: #000000;">6</span><span style="color: #000000;">.fc3)]&nbsp;on&nbsp;linux2<br><br>Type&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">help</span><span style="color: #800000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">copyright</span><span style="color: #800000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">credits</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">or</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">license</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;more&nbsp;information.<br><br></span><span style="color: #000000;">&gt;&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;crypt;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">(crypt.crypt(</span><span style="color: #800000;">"</span><span style="color: #800000;">your&nbsp;password</span><span style="color: #800000;">"</span><span style="color: #000000;">,</span><span style="color: #800000;">"</span><span style="color: #800000;">ab</span><span style="color: #800000;">"</span><span style="color: #000000;">));<br><br>ab62Jfo2yjBEo<br><br></span><span style="color: #000000;">&gt;&gt;&gt;</span><span style="color: #000000;">&nbsp;<br><br></span><span style="color: #000000;">============================================</span><span style="color: #000000;"><br><br>上面用户输入信息中的&#8220;your&nbsp;password&#8221;可以替换为需要加密的口令，&#8220;ab&#8221;可替换为任意的两个大小写字符或者数字，而&#8220;ab62Jfo2yjBEo&#8221;就是加密后的密文。<br><br><br>一个简单的例子如下：<br><br>useradd&nbsp;&#8211;p&nbsp;ab62Jfo2yjBEo&nbsp;testuser<br><br>usermod&nbsp;&#8211;p&nbsp;ab62Jfo2yjBEo&nbsp;testuser&nbsp;<br>&nbsp;<br></span></div>
<br><img src ="http://www.cppblog.com/aaxron/aggbug/135251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2010-12-02 11:07 <a href="http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>非纯VC/C++/python超级群:88028655 ,欢迎加入.</title><link>http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 28 Oct 2010 07:21:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/131633.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/131633.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/131633.html</trackback:ping><description><![CDATA[<br />VC/C++/python交流(超级) 群:88028655 <br />欢迎资深或即将资深的C++技术人员，<br />c/c++/vc/mfc/python <br /><br />纯C/C++技术(普通)群:<br />43568864 <br /><br /><br /><br /><br /><br /><br /><img src ="http://www.cppblog.com/aaxron/aggbug/131633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2010-10-28 15:21 <a href="http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>