通过终端命令查看到目的IP所经过的路由

在学习网络协议时,我们知道可以通过应用ICMP协议来查看当前host-ip到目的ip所经过的路由,操作如下。

  • Windows

终端输入 tracert+目的IP

$ tracert baidu.com
  • MacOS

终端输入 traceroute+目的IP

$ traceroute baidu.com

下面尝试跟踪两个IP,一个学校内网 一个百度。
请添加图片描述
请添加图片描述
由上可以看出从当前host到学校内网仅需要在局域网内传输,到baidu则大概就是先出局域网到北京IP再进baidu服务器上某个主机。

最后无聊又试了到QMplus的,查询IP地址可以看出从北京经过美国亚马逊的云服务器到英国伦敦
在这里插入图片描述

另外还可以通过ping命令查看当前网络状况

$ ping baidu.com

在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
   IEEE于1999年颁布了用于标准化VLAN实现方案的802.1Q协议标准草案。VLAN技术的出现,使得管理员根据 Vlan网卡 Intel82573    实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,所以同一个VLAN内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理LAN网段。由VLAN的特点可知,一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。    交换技术的发展,也加快了新的交换技术(VLAN)的应用速度。通过将企业网络划分为虚拟网络VLAN网段,可以强化网络管理和网络安全,控制不必要的数据广播。在共享网络中,一个物理的网段就是一个广播域。而在交换网络中,广播域可以是有一组任意选定的第二层网络地址(MAC地址)组成的虚拟网段。这样,网络中工作组的划分可以突破共享网络中的地理位置限制,而完全根据管理功能来划分。这种基于工作流的分组模式,大大提高了网络规划和重组的管理功能。在同一个VLAN中的工作站,不论它们实际与哪个交换机连接,它们之间的通讯就好象在独立的交换机上一样。同一个VLAN中的广播只有VLAN中的成员才能听到,而不会传输到其他的VLAN中去,这样可以很好的控制不必要的广播风暴的产生。同,若没有路由的话,不同VLAN之间不能相互通讯,这样增加了企业网络中不同部门之间的安全性。网络管理员可以通过配置VLAN之间的路由来全面管理企业内部不同管理单元之间的信息互访。交换机是根据交换机的端口来划分VLAN的。所以,用户可以自由的在企业网络中移动办公,不论他在何处接入交换网络,他都可以与VLAN内其他用户自如通讯。    VLAN网络可以是有混合的网络类型设备组成,比如:10M以太网、100M以太网、令牌网、FDDI、CDDI等等,可以是工作站、服务器、集线器、网络上行主干等等。    VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。    VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。 编辑本段VLAN的目的    VLAN(Virtual Local Area Network,虚拟局域网)的目的非常的多。通过认识VLAN的本质,将可以了解到其用处究竟在哪些地方。    第一,要知道192.168.1.2/30和192.168.2.6/30都属于不同的网段,都必须要通过路由器才能进行访问,凡是不同网段间要互相访问,都必须通过路由器。    第二,VLAN本质就是指一个网段,之所以叫做虚拟的局域网,是因为它是在虚拟的路由器的接口下创建的网段。    下面,给予说明。比如一个路由器只有一个用于终端连接的端口(当然这种情况基本不可能发生,只不过简化举例),这个端口被分配了192.168.1.1/24的地址。然而由于公司有两个部门,一个销售部,一个企划部,每个部门要求单独成为一个子网,有单独的服务器。那么当然可以划分为192.168.1.0--127/25、192.168.1.128--255/25。但是路由器的物理端口只应该可以分配一个IP地址,那怎样来区分不同网段了?这就可以在这个物理端口下,创建两个子接口---逻辑接口实现。    比如逻辑接口F0/0.1就分配IP地址192.168.1.1/25,用于销售部,而F0/0.2就分配IP地址192.168.1.129/25,用于企划部。这样就等于用一个物理端口确实现了两个逻辑接口的功能,这样就将原本只能划分一个网段的情形,扩展到了可以划分2个或者更多个网段的情形。这些网段因为是在逻辑接口下创建的,所以称之为虚拟局域网VLAN。    这是在路由器的层次上阐述了VLAN的目的。    第三,将在交换机的层次上阐述VLAN的目的。    在现实中,由于很多原因必须划分出不同网段。比如就简单的只有销售部和企划部两个网段。那么可以简单的将销售部全部接入一个交换机,然后接入路由器的一个端口,把企划部全部接入一个交换机,然后接入一个路由器端口。这种情况是LAN.然而正如上面所说,如果路由器就一个用于终端的接口,那么这两个交换机就必须接入这同一个路由器的接口,这个候,如果还想保持原来的网段的划分,那么就必须使用路由器的子接口,创建VLAN.    同样,比如两个交换机,如果你想要每个交换机上的端口都分别属于不同的网段,那么你有几个网段,就提供几个路由器的接口,这个候,虽然在路由器的物理接口上可以定义这个接口可以连接哪个网段,但是在交换机的层次上,它并不能区分哪个端口属于哪个网段,那么唯一实现能区分的方法,就是划分VLAN,使用了VLAN就能区分出某个交换机端口的终端是属于哪个网段的。    综上,当一个交换机上的所有端口中有至少一个端口属于不同网段的候,当路由器的一个物理端口要连接2个或者以上的网段的候,就是VLAN发挥作用的候,这就是VLAN的目的。 编辑本段VLAN的优点 广播风暴防范    限制网络上的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。LAN分段可以防止广播风暴波及整个网络。VLAN可以提供建立防火墙的机制,防止交换网络的过量广播。使用VLAN,可以将某个交换端口或用户赋于某一个特定的VLAN组,该VLAN组可以在一个交换网中或跨接多个交换机,在一个VLAN中的广播不会送到VLAN之外。同样,相邻的端口不会收到其他VLAN产生的广 播。这样可以减少广播流量,释放带宽给用户应用,减少广播的产生。 安全    增强局域网的安全性,含有敏感数据的用户组可与网络的其余部分隔离,从而降低泄露机密信息的可能性。不同VLAN内的报文在传输是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需要通过路由器或三层交换机等三层设备。 成本降低    成本高昂的网络升级需求减少,现有带宽和上行链路的利用率更高,因此可节约成本。 性能提高    将第二层平面网络划分为多个逻辑工作组(广播域)可以减少网络上不必要的流量并提高性能。 提高IT员工效率    VLAN为网络管理带来了方便,因为有相似网络需求的用户将共享同一个VLAN。 应用管理    VLAN 将用户和网络设备聚合到一起,以支持商业需求或地域上的需求。通过职能划分,项目管理或特殊应用的处理都变得十分方便,例如可以轻松管理教师的电子教学开发平台。此外,也很容易确定升级网络服务的影响范围。 增加网络连接的灵活性    借助VLAN技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境,就像使用本地LAN一样方便、灵活、有效。VLAN可以降低移动或变更工作站地理位置的管 理费用,特别是一些业务情况有经常性变动的公司使用了VLAN后,这部分管理费用大大降低。 编辑本段组建VLAN的条件    VLAN是建立在物理网络基础上的一种逻辑子网,因此建立VLAN需要相应的支持VLAN技术的网络设备。当网络中的不同VLAN间进行相互通信,需要路由的支持,这就需要增加路由设备——要实现路由功能,既可采用路由器,也可采用三层交换机来完成,同还严格限制了用户数量。 编辑本段VLAN的划分 根据端口来划分VLAN    许多VLAN厂商都利用交换机的端口来划分VLAN成员。被设定的端口都在同一个广播域中。例如,一个交换机的1,2,3,4,5端口被定义为虚拟网AAA,同一交换机的6,7,8端口组成虚拟网BBB。这样做允许各端口之间的通讯,并允许共享型网络的升级。但是,这种划分模式将虚拟网限制在了一台交换机上。    第二代端口VLAN技术允许跨越多个交换机的多个不同端口划分VLAN,不同交换机上的若干个端口可以组成同一个虚拟网。    以交换机端口来划分网络成员,其配置过程简单明了。因此,从目前来看,这种根据端口来划分VLAN的方式仍然是最常用的一种方式。 根据MAC地址划分VLAN    这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置它属于哪个组。这种划分VLAN方法的最大优点就是当用户物理位置移动,即从一个交换机换到其他的交换机,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停地配置。 根据网络层划分VLAN    这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法是根据网络地址,比如IP地址,但它不是路由,与网络层的路由毫无关系。    这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。    这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网帧头,但要让芯片能检查IP帧头,需要更高的技术,同也更费。当然,这与各个厂商的实现方法有关。 根据IP组播划分VLAN    IP 组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高。 基于规则的VLAN    也称为基于策略的VLAN。这是最灵活的VLAN划分方法,具有自动配置的能力,能够把相关的用户连成一体,在逻辑划分上称为“关系网络”。网络管理员只需在网管软件中确定划分VLAN的规则(或属性),那么当一个站点加入网络,将会被“感知”,并被自动地包含进正确的VLAN中。同,对站点的移动和改变也可自动识别和跟踪。    采用这种方法,整个网络可以非常方便地通过路由器扩展网络规模。有的产品还支持一个端口上的主机分别属于不同的VLAN,这在交换机与共享式Hub共存的环境中显得尤为重要。自动配置VLAN,交换机中软件自动检查进入交换机端口的广播信息的IP源地址,然后软件自动将这个端口分配给一个由IP子网映射成的VLAN。 按用户划分VLAN    基于用户定义、非用户授权来划分VLAN,是指为了适应特别的VLAN网络,根据具体的网络用户的特别要求来定义和设计VLAN,而且可以让非VLAN群体用户访问VLAN,但是需要提供用户密码,在得到VLAN管理的认证后才可以加入一个VLAN。    * 以上划分VLAN的方式中,基于端口的VLAN端口方式建立在物理层上;MAC方式建立在数据链路层上;网络层和IP广播方式建立在第三层上。 编辑本段VLAN的标准    对VLAN的标准,我们只是介绍两种比较通用的标准,当然也有一些公司具有自己的标准,比如Cisco公司的ISL标准,虽然不是一种大众化的标准,但是由于Cisco Catalyst交换机的大量使用,ISL也成为一种不是标准的标准了。    · 802.10VLAN标准    在1995年,Cisco公司提倡使用IEEE802.10协议。在此之前,IEEE802.10曾经在全球范围内作为VLAN安全性的同一规范。Cisco公司试图采用优化后的802.10帧格式在网络上传输FramTagging模式中所必须的VLAN标签。然而,大多数802委员会的成员都反对推广802.10。因为,该协议是基于FrameTagging方式的。    · 802.1Q    在1996年3月,IEEE802.1Internetworking委员会结束了对VLAN初期标准的修订工作。新出台的标准进一步完善了VLAN的体系结构,统一了Frame-Tagging方式中不同厂商的标签格式,并制定了VLAN标准在未来一段间内的发展方向,形成的802.1Q的标准在业界获得了广泛的推广。它成为VLAN史上的一块里程碑。802.1Q的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。另外,来自市场的压力使各大网络厂商立刻将新标准融合到他们各自的产品中。    802.1q帧格式:    · Cisco ISL 标签    ISL(Inter-Switch Link)是Cisco公司的专有封装方式,因此只能在Cisco的设备上支持。ISL是一个在交换机之间、交换机与路由器之间及交换机与服务器之间传递多个VLAN信息及VLAN数据流的协议,通过在交换机直接的端口配置ISL封装,即可跨越交换机进行整个网络的VLAN分配和配置。 编辑本段划分VLAN的基本策略    从技术角度讲,VLAN的划分可依据不同原则,一般有以下三种划分方法: 基于端口    这种划分是把一个或多个交换机上的几个端口划分一个逻辑组,这是最简单、最有效的划分方法。该方法只需网络管理员对网络设备的交换端口进行重新分配即可,不用考虑该端口所连接的设备。 基于MAC地址    MAC地址其实就是指网卡的标识符,每一块网卡的MAC地址都是唯一且固化在网卡上的。MAC地址由12位16进制数表示,前6位为网卡的厂商标识(OUI),后6位为网卡标识(NIC)。网络管理员可按MAC地址把一些站点划分为一个逻辑子网。 基于路由    路由协议工作在网络层,相应的工作设备有路由器和路由交换机(即三层交换机)。该方式允许一个VLAN跨越多个交换机,或一个端口位于多个VLAN中。    就目前来说,对于VLAN的划分主要采取上述第1、3种方式,第2种方式为辅助性的方案。 编辑本段VLAN技术简单谈    局域网的发展是VLAN产生的基础,所以在介绍VLAN之前,我们先来了解一下局域网的有关知识。    局域网(LAN)通常是一个单独的广播域,主要由Hub、网桥或交换机等网络设备连接同一网段内的所有节点形成。处于同一个局域网之内的网络节点之间可以直接通信,而处于不同局域网段的设备之间的通信则必须经过路由器才能通信。图1所示即为使用路由器构建的典型的局域网环境。    随着网络的不断扩展,接入设备逐渐增多,网络结构也日趋复杂,必须使用更多的路由器才能将不同的用户划分到各自的广播域中,在不同的局域网之间提供网络互联。    但这样做存在两个缺陷:    首先,随着网络路由器数量的增多,网络逐渐加长,从而导致网络数据传输速度的下降。这主要是因为数据在从一个局域网传递到另一个局域网,必须经过路由器的路由操作:路由器根据数据包中的相应信息确定数据包的目标地址,然后再选择合适的路径转发出去。    其次,用户是按照它们的物理连接被自然地划分到不同的用户组(广播域)中。这种分割方式并不是根据工作组中所有用户的共同需要和带宽的需求来进行的。因此,尽管不同的工作组或部门对带宽的需求有很大的差异,但它们却被机械地划分到同一个广播域中争用相同的带宽。 编辑本段VLAN的定义及特点    虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点:    ● 网络设备的移动、添加和修改的管理开销减少;    ●可以控制广播活动;    ●可提高网络的安全性。 编辑本段VLAN的分类及优缺点    定义VLAN成员的方法有很多,由此也就分成了几种不同类型的VLAN。 1. 基于端口的VLAN    基于端口的VLAN的划分是最简单、有效的VLAN划分方法,它按照局域网交换机端口来定义VLAN成员。VLAN从逻辑上把局域网交换机的端口划分开来,从而把终端系统划分为不同的部分,各部分相对独立,在功能上模拟了传统的局域网。基于端口的VLAN又分为在单交换机端口和多交换机端口定义VLAN两种情况: 多交换机端口定义VLAN    如图3所示,交换机1的1、2、3端口和交换机2的4、5、6端口组成VLAN1,交换机1的4、5、6、7、8端口和交换机2的1、2、3、7、8端口组成VLAN2。 单交换机端口定义VLAN    如图2所示,交换机的1、2、6、7、8端口组成VLAN1,3、4、5端口组成了VLAN2。这种VLAN只支持一个交换机。    基于端口的VLAN的划分简单、有效,但其缺点是当用户从一个端口移动到另一个端口网络管理员必须对VLAN成员进行重新配置。 2. 基于MAC地址的VLAN    基于MAC地址的VLAN是用终端系统的MAC地址定义的VLAN。MAC地址其实就是指网卡的标识符,每一块网卡的MAC地址都是唯一的。这种方法允许工作站移动到网络的其他物理网段,而自动保持原来的VLAN成员资格。在网络规模较小,该方案可以说是一个好的方法,但随着网络规模的扩大,网络设备、用户的增加,则会在很大程度上加大管理的难度。 3. 基于路由的VLAN    路由协议工作在7层协议的第3层—网络层,比如基于IPIPX的路由协议,这类设备包括路由器和路由交换机。该方式允许一个VLAN跨越多个交换机,或一个端口位于多个VLAN中。在按IP划分的VLAN中,很容易实现路由,即将交换功能和路由功能融合在VLAN交换机中。这种方式既达到了作为VLAN控制广播风暴的最基本目的,又不需要外接路由器。但这种方式对VLAN成员之间的通信速度不是很理想。 4. 基于策略的VLAN    基于策略的VLAN的划分是一种比较有效而直接的方式,主要取决于在VLAN的划分中所采用的策略。 编辑本段常见的应用VLAN    Port vlan与Tag vlan    port vlan 基于端口的VLAN,处于同一VLAN端口之间才能相互通信。    tag vlan 基于IEEE 802.1Q(vlan标准),用VID(vlan id)来划分不同的VLAN 基于端口的VLAN优缺点    基于端口的VLAN,简单的讲就是交换机的一个端口就是一个虚拟局域网,凡是连接在这个端口上的主机属于同个虚拟局域网之中。基于端口的VLAN的优点为:由于一个端口就是一个独立的局域网。所以,当数据在网络中传输的候,交换机就不会把数据包转发给其他的端口,如果用户需要将数据发送到其他的虚拟局域网中,就需要先由交换机发往路由器再由路由器发往其他端口;同以端口为中心的VLAN中完全由用户自由支配端口,无形之中就更利于管理。但是美中不足的是以端口为中心的VLAN,当用户位置改变,往往也伴随着用户位置的改变而对网线也要进行迁移。如果不会经常移动客户机的话,采用这一方式倒也不错。 静态VLAN的优缺点    可以说静态VLAN与基于端口的VLAN有一丝相似之处,用户可在交换机上让一个或多个交换机端口形成一个略大一些的虚拟局域网。从一定意义上讲静态虚拟局域网在某些程度上弥补了基于端口的虚拟局域网的缺点。缺陷方面,静态VLAN虽说是可以使多个端口的设置成一个虚拟局域网,假如两个不同端口、不同虚拟局域网的人员聚到一起协商一些事情,这候问题就出现了,因为端口及虚拟局域网的不一致往往就会直接导致某一个虚拟局域网的人员就不能正常的访问他原先所在的VLAN之中(静态虚拟局域网的端口在同一间只能属于同一个虚拟局域网),这样就需要网络管理人员随配合及修改该线路上的端口。 动态VLAN的优缺点    与上面两种虚拟局域网的组成方式相比动态的虚拟局域网的优点真的是太多了。首先它适用于当前的无线局域网技术,其次,当用户有需要对工作基点进行移动完全不用担心在静态虚拟局域网与基于端口的虚拟局域网出现的一些问题在动态的虚拟局域网中出现,因为动态的虚拟局域网在建立初期已经由网络管理员将整个网络中的所有MAC地址全部输入到了路由器之中,同如何由路由器通过MAC地址来自动区分每一台电脑属于那一个虚拟局域网,之后将这台电脑连接到对应的虚拟局域网之中。说起缺点,动态的虚拟局域网的缺点跟本谈不上缺点,只是在VLAN建立初期,网络管理人员需将所有机器的MAC进行登记之后划分出MAC所对应的机器的不同权限(虚拟局域网)即可。 编辑本段VLAN发展趋势    目前在宽带网络中实现的VLAN基本上能满足广大网络用户的需求,但其网络性能、网络流量控制、网络通信优先级控制等还有待提高。前面所提到的VTP技术、STP技术,基于三层交换的VLAN技术等在VLAN使用中存在网络效率的瓶颈问题,这主要是IEEE802.1Q、IEEE802.1D协议的不完善所致,IEEE正在制定和完善IEEE802.1S(Multiple Spanning Trees)和IEEE802.1W(Rapid Reconfiguration of Spanning Tree)来改善VLAN的性能。采用IEEE802.3z和IEEE802.3ab协议,并结合使用RISC(精简指令集计算)处理器或者网络处理器而研制的吉位VLAN交换机在网络流量等方面采取了相应的措施,大大提高了VLAN网络的性能。IEEE802.1P协议提出了COS(Class of Service)标准,这使网络通信优先级控制机制有了参考。 编辑本段VLAN的基本配置命令    1、创建vlan方法一:从VLAN配置模式建立VLAN    switch# vlan database (进入VLAN配置模式)    switch(vlan)# vlan 10 name wz (声明VLAN 10,并命名WX)    switch(vlan)#exit (退出VALN配置模式)    2、创建vlan方法二:从全局配置模式建立VLAN    switch# configure terminal (进入全局配置模式)    switch(config)# vlan 10 (声明VLAN 10)    switch(config-vlan)# name wz (命名WX)    3、删除vlan方法一:从VALN配置模式删除VLAN    switch(vlan)# no vlan 10 (删除VLAN 10)    switch(vlan)# exit (退出VLAN配置模式)    4、删除vlan方法二:从全局配置模式删除VLAN    switch(config)# no interface vlan 10 (将所有属于VLAN 10的接口删除)    switch(config)# no vlan 10 (删除VLAN 10)    5、删除vlan方法三:从配置文件中删除VLAN.DAT文件    switch# delete vlan.dat (从配置文件中删除DAT文件,可以彻底删除VLAN信息)    6、将端口加入到vlan中    switch(config-if)# switchport access vlan 10    7、将一组连续的端口加入到vlan中    switch(config)# interface range f0/1 –5    switch(config)# interface range f0/6-8,0/9-11,0/22 (将不连续多个端口加入到Vlan中)    switch(config-if-range)# switchport access vlan 10    8、将端口从vlan中删除    switch(config-if)# no switchport access vlan 10    switch(config-if)# switchport access vlan 1    switch(config-if-range)# no switchport access vlan 10    switch(config-if-range)# switchport access vlan 1    9、查看所有vlan的摘要信息    switch# show vlan brief    10、查看指定vlan的信息    switch# show vlan id 10 (查看指定VLAN号为10的信息)    11、指定端口成为trunk    switch(config-if)# switchport mode trunk (配置接口为TRUNK模式)    12、Trunk的自动协商    switch(config-if)#switchport mode dynamic desirable     switch(config-if)#switchport mode dynamic auto    注意:如果中继链路两端都设置成auto将不能成为trunk    13、查看端口状态    switch# show interface f0/2 switchport    14、在trunk上移出vlan    switch(config-if)# switchport trunk allowed vlan remove 20    15、在trunk上添加vlan    switch(config-if)# switchport trunk allowed vlan add 20 编辑本段VLAN的划分实例    对于每个公司而言都有自己不同的需求,下面我们给出一个典型的公司的VLAN的实例,这样也可以成为我们以后为公司划分VLAN的依据。    某公司现在有工程部、销售部、财务部。VLAN的划分:工程部VLAN10,销售部VLAN20,财务部VLAN30,并且各部门还可以相互通讯。现有设备如下:Cisco 3640路由器,Cisco Catalyst 2924交换机一台,二级交换机若干台。    交换机配置文件中的部分代码如下:    ……    !    interface vlan10    ip address 192.168.0.1    !    interface vlan20    ip address 192.168.1.1    !    interface vlan30    ip address 192.168.2.1    !    ……    路由器配置文件中的部分代码如下:    ……    interface FastEthernet 1/0.1    encapsulation isl 10    ip address 192.168.0.2    !    interface FastEthernet 1/0.2    encapsulation isl 20    ip address 192.168.1.2    !    interface FastEthernet 1/0.3    encapsulation isl 30    ip address 192.168.2.2    !    ……    !    router rip    network 192.168.0.0    !    【交换机的端口工作模式的利用】    交换机的端口工作模式通常可以分为三种,它们分别为Access模式、Multi模式、Trunk模式。允许多个vlan的是multi模式,而不是trunk模式。Access模式的交换端口往往只能属于1个VLAN,通常用于连接普通计算机的端口;Trunk模式的交换端口可以属于多个VLAN,能够发送和接收多个VLAN的数据报文,通常使用在交换机之间的级联端口上;multi模式的交换端口可以属于多个VLAN,能够发送和接受多个VLAN的数据报文,可以用于交换机之间的连接,也可以用于连接普通计算机的端口,所以access和trunk没有可比性。三种模式的交换端口能够共同使用在相同的一台交换机中,不过Trunk模式的交换端口和multi模式的交换端口相互之间不能直接切换,往往只能先将交换端口设置为Access模式,之后再设置为其他模式。 编辑本段vlan拓扑试验    实验: 划分VLAN 1. 实验目的    通过本实验,读者可以掌握如下技能:    (1)熟悉VLAN 的创建    (2)把交换机接口划分到特定VLAN 2. 实验拓扑 vlan试验拓扑图(1张)    实验拓扑图 3. 实验步骤    要配置VLAN,首先要先创建VLAN,然后才把交换机的端口划分到特定的端口上:    (1) 步骤1:在划分VLAN 前,配置R1 和R2 路由器的g0/0 接口,从R1ping192.168.12.2。    默认,交换机的全部接口都在VLAN1 上,R1 和R2 应该能够通信    (2) 步骤2:在S1 上创建VLAN    S1#vlan database    //进入到VLAN 配置模式    S1(vlan)#vlan 2 name VLAN2    VLAN 2 added:    Name: VLAN2    //以上创建vlan,2 就是vlan 的编号,VLAN 号的范围为1~1001,VLAN2 是该VLAN 的名字:    S1(vlan)#vlan 3 name VLAN3    VLAN 3 added:    Name: VLAN3    S1(vlan)#exit    APPLY completed.    Exiting….    //退出VLAN模式,创建的VLAN立即生效:    【提示】交换机中的VLAN 信息存放在单独的文件中flash:vlan.dat,因此如果要完全清除    交换机的配置,除了使用“erase starting-config”命令外,还要使用“delete    flash:vlan.dat”命令把VLAN 数据删除。    【提示】新的IOS 版本中,可以在全局配置模式中创建VLAN,如下:    S1(config)#vlan 2    S1(config-vlan)#name VLAN2    S1(config-vlan)#exit    S1(config)#vlan 3    S1(config-vlan)#name VLAN3    (3)步骤3:把端口划分在VLAN 中    S1(config)#interface f0/1    S1(config-if)#switch mode access    //以上把交换机端口的模式改为access 模式,说明该端口是用于连接计算机的,而不是用    于trunk    S1(config-if)#switch access vlan 2    //然后把该端口f0/1 划分到VLAN 2 中    S1(config)#interface f0/2    S1(config-if)#switch mode access    S1(config-if)#switch access vlan 3    【提示】默认,所有交换机接口都在VLAN 1 上,VLAN 1 是不能删除的。如果有多个接口    需要划分到同一VLAN 下,也可以采用如下方式以节约间,注意破折号前后的空格:    S1(config)#interface range f0/2 -3    S1(config-rang-if)#switch mode access    S1(config-rang-if)#switch access vlan 2    【提示】如果要删除VLAN,使用“no vlan 2”命令即可。删除某一VLAN后,要记得把该VLAN    上的端口重新划分到别的VLAN上,否则将导致端口的“消失”。 4. 实验调试    (1)查看VLAN    使用“show vlan”或者“show vlan brief”命令可以查看VLAN 的信息,以及每个    VLAN 上有什么端口。要注意这里只能看到的是本交换机上哪个端口在VLAN 上,而不能看到    其他交换机的端口在什么VLAN 上。如下:    SW1#show vlan    VLAN Name Status Ports    ---- -------------------------------- --------- -------------------------------    1.default active Fa0/1,Fa0/2,Fa0/3,Fa0/4    Fa0/5,Fa0/6,Fa0/7,Fa0/8    Fa0/9,Fa0/10,Fa0/11,Fa0/12    Fa0/13,Fa0/14,Fa0/16,Fa0/17    Fa0/18,Fa0/19,Fa0/20,Fa0/21    Fa0/22,Fa0/23,Fa0/24,Gi0/1    Gi0/2    2.VLAN2 active    3.VLAN3 active    1002 fddi-default act/unsup    1003 token-ring-default act/unsup    1004 fddinet-default act/unsup    (此处省略)    //在交换上,VLAN1是默认VLAN,不能删除,也不能改名。此外还有1002、1003等VLAN的存    在。    (2)VLAN 间的通信    由于f0/1 和f0/2 属于不同的VLAN,从R1 ping 192.168.12.2 应该不能成功了。 编辑本段互联方式    (1)边界路由。    (2)“独臂”路由。    (3)MPOA路由。    
文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。 ◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆ 网络操作命令:ifconfig、ipping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。 本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 -------------------------------------------------------------------------------- Linux必学的60个命令(1)-安装与登陆命令 login 1.作用 login的作用是登录系统,它的使用权限是所有用户。 2.格式 login [name][-p ][-h 主机名称] 3.主要参数 -p:通知login保持现在的环境参数。 -h:用来向远程登录的之间传输用户名。 如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。 一般界面是这样的: Manddrake Linux release 9.1(Bamboo) for i586 renrel 2.4.21-0.13mdk on i686 / tty1 localhost login:root password: 上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter”键在Password后输入账户密码,即可登录系统。出于安全考虑,输入账户密码字符不会在屏幕上回显,光标也不移动。 登录后会看到下面这个界面(以超级用户为例): [root@localhost root]# last login:Tue ,Nov 18 10:00:55 on vc/1 上面显示的是登录星期、月、日、间和使用的虚拟控制台。 4.应用技巧 Linux 是一个真正的多用户操作系统,可以同接受多个用户登录,还允许一个用户进行多次登录。这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+ F1”键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁,可以切换到其它虚拟控制台工作,关闭这个程序。 shutdown 1.作用 shutdown命令的作用是关闭计算机,它的使用权限是超级用户。 2.格式 shutdown [-h][-i][-k][-m][-t] 3.重要参数 -t:在改变到其它运行级别之前,告诉init程序多久以后关机。 -k:并不真正关机,只是送警告信号给每位登录者。 -h:关机后关闭电源。 -c:cancel current process取消目前正在执行的关机程序。所以这个选项当然没有间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。 -F:在重启计算机强迫fsck。 -time:设定关机前的间。 -m: 将系统改为单用户模式。 -i:关机显示系统信息。 4.命令说明 shutdown 命令可以安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。 halt 1.作用 halt命令的作用是关闭系统,它的使用权限是超级用户。 2.格式 halt [-n] [-w] [-d] [-f] [-i] [-p] 3.主要参数说明 -n:防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。 -w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。 -f:没有调用shutdown,而强制关机或重启。 -i:关机(或重启)前,关掉所有的网络接口。 -f:强迫关机,不呼叫shutdown这个指令。 -p: 当关机的候顺便做关闭电源的动作。 -d:关闭系统,但不留下纪录。  4.命令说明 halt 就是调用shutdown -h。halt执行,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。  reboot 1.作用 reboot命令的作用是重新启动计算机,它的使用权限是系统管理者。 2.格式 reboot [-n] [-w] [-d] [-f] [-i] 3.主要参数 -n: 在重开机前不做将记忆体资料写回硬盘的动作。 -w: 并不会真的重开机,只是把记录写到/var/log/wtmp文件里。 -d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。 -i: 在重开机之前先把所有与网络相关的装置停止。 install 1.作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 2.格式 (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... 目录 (3)install -d [选项]... 目录... 在前两种格式中,会将复制至或将多个文件复制至已存在的,同设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项也是必须的。 3.主要参数 --backup[=CONTROL]:为每个已存在的目的地文件进行备份。 -b:类似 --backup,但不接受任何参数。 -c:(此选项不作处理)。 -d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。 -D:创建前的所有主目录,然后将复制至 ;在第一种使用格式中有用。 -g,--group=组:自行设定所属组,而不是进程目前的所属组。 -m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。 -o,--owner=所有者:自行设定所有者 (只适用于超级用户)。 -p,--preserve-timestamps:以文件的访问/修改间作为相应的目的地文件的间属性。 -s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。 -S,--suffix=后缀:自行指定备份文件的。 -v,--verbose:处理每个文件/目录印出名称。 --help:显示此帮助信息并离开。 --version:显示版本信息并离开。 mount 1.作用 mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者。 2.格式 mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir 3.主要参数 -h:显示辅助信息。 -v:显示信息,通常和-f用来除错。 -a:将/etc/fstab中定义的所有文件系统挂上。 -F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统可以加快加载的速度。 -f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。 -t vfstype:显示被加载文件系统的类型。 -n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。 4.应用技巧 在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。在使用mount这个指令,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。 (1)Linux可以识别的文件系统 ◆ Windows 95/98常用的FAT 32文件系统:vfat ; ◆ Win NT/2000 的文件系统:ntfs ; ◆ OS/2用的文件系统:hpfs; ◆ Linux用的文件系统:ext2、ext3; ◆ CD-ROM光盘用的文件系统:iso9660。 虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。 (2)确定设备的名称 在Linux 中,设备名称通常都存在/dev里。这些设备名称的命名都是有规则的,可以用“推理”的方式把设备名称找出来。例如,/dev/hda1这个 IDE设备,hd是Hard Disk(硬盘)的,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a代表第一个设备,通常IDE接口可以接上4个IDE设备(比如4块硬盘)。所以要识别IDE硬盘的方法分别就是hda、hdb、hdc、 hdd。hda1中的“1”代表hda的第一个硬盘分区 (partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。此外,可以直接检查 /var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的设备代号。 (3)查找挂接点 在决定将设备挂接之前,先要查看一下计算机是不是有个/mnt的空目录,该目录就是专门用来当作挂载点(Mount Point)的目录。建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。举例而言,如要挂载下列5个设备,其执行指令可能如下 (假设都是Linux的ext2系统,如果是Windows XX请将ext2改成vfat): 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy cdrom ===>mount -t iso9660 /dev/hdc /mnt/cdrom SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr 不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。 umount 1.作用 umount命令的作用是卸载一个文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者。 2.格式 unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir 3.使用说明 umount 命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD- ROM面板上的Eject按钮弹出它。但是,当不再需要光盘,如果已将/cdrom作为符号链接,请使用umount/cdrom来卸装它。仅当无用户正在使用光盘,该命令才会成功。该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。 chsh 1.作用 chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者。 2.格式 chsh [ -s ] [ -list] [ --help ] [ -v ] [ username ] 3.主要参数 -l:显示系统所有Shell类型。 -v:显示Shell版本号。 4.应用技巧 前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shell change”。其界面一般如下: Changing fihanging shell for cao Password: New shell [/bin/bash]: /bin/tcsh 上面代码中,[ ]内是目前使用的Shell。普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。要想查询系统提供哪些Shell,可以使用chsh -l 命令,见图1所示。 图1 系统可以使用的Shell类型 从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。 exit 1.作用 exit命令的作用是退出系统,它的使用权限是所有用户。 2.格式 exit 3.参数 exit命令没有参数,运行后退出系统进入登录界面。 last 1.作用 last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。 2.格式 1ast[—n][-f file][-t tty] [—h 节点][-I —IP][—1][-y][1D] 3.主要参数 -n:指定输出记录的条数。 -f file:指定用文件file作为查询用的log文件。 -t tty:只显示指定的虚拟控制台上登录情况。 -h 节点:只显示指定的节点上的登录情况。 -i IP:只显示指定的IP上登录的情况。 -1:用IP来显示远端地址。 -y:显示记录的年、月、日。 -ID:知道查询的用户名。 -x:显示系统关闭、用户登录和退出的历史。 动手练习 上面介绍了Linux安装和登录命令,下面介绍几个实例,动手练习一下刚才讲过的命令。 1.一次运行多个命令 在一个命令行中可以执行多个命令,用分号将各个命令隔开即可,例如: #last -x;halt 上面代码表示在显示系统关闭、用户登录和退出的历史后关闭计算机。 2.利用mount挂装文件系统访问Windows系统 许多Linux发行版本现在都可以自动加载Vfat分区来访问Windows系统,而Red Hat各个版本都没有自动加载Vfat分区,因此还需要进行手工操作。 mount 可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来。因此,只要访问这个文件夹就相当于访问该分区了。首先要在/mnt下建立winc文件夹,在命令提示符下输入下面命令: #mount -t vfat /dev/hda1 /mnt/winc 即表示将Windows的C分区挂到Liunx的/mnt/winc目录下。这,在/mnt/winc目录下就可以看到Windows中C盘的内容了。使用类似的方法可以访问Windows系统的D、E盘。在Linux系统显示Windows的分区一般顺序这样的:hda1为C盘、hda5为D盘、 hda6为E盘……以此类推。上述方法可以查看Windows系统有一个很大的问题,就是Windows中的所有中文文件名或文件夹名全部显示为问号 “?”,而英文却可以正常显示。我们可以通过加入一些参数让它显示中文。还以上面的操作为例,此输入命令: #mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc 现在它就可以正常显示中文了。 3.使用mount加挂闪盘上的文件系统 在Linux下使用闪盘非常简单。Linux对USB设备有很好的支持,当插入闪盘后,闪盘被识别为一个SCSI盘,通常输入以下命令: # mount /dev/sda1 /usb 就能够加挂闪盘上的文件系统。 小知识 Linux命令与Shell 所谓Shell,就是命令解释程序,它提供了程序设计接口,可以使用程序来编程。学习Shell对于Linux初学者理解Linux系统是非常重要的。 Linux系统的Shell作为操作系统的外壳,为用户提供了使用操作系统的接口。Shell是命令语言、命令解释程序及程序设计语言的统称,是用户和 Linux内核之间的接口程序。如果把Linux内核想象成一个球体的中心,Shell就是围绕内核的外层。当从Shell或其它程序向Linux传递命令,内核会做出相应的反应。Shell在Linux系统的作用和MS DOS下的COMMAND.COM和Windows 95/98 的 explorer.exe相似。Shell虽然不是系统核心的一部分,只是系统核心的一个外延,但它能够调用系统内核的大部分功能。因此,可以说 Shell是Unux/Linux最重要的实用程序。 Linux中的Shell有多种类型,其中最常用的是Bourne Shell(sh)、C Shell(csh)和Korn Shell(ksh)。大多数Linux发行版本缺省的Shell是Bourne Again Shell,它是Bourne Shell的扩展,简称bash,与Bourne Shell完全向后兼容,并且在Bourne Shell的基础上增加了很多特性。bash放在/bin/bash中,可以提供如命令补全、命令编辑和命令历史表等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编程接口,同又有很友好的用户界面。Linux系统中200多个命令中有40个是bash的内部命令,主要包括 exit、less、lp、kill、 cd、pwd、fc、fg等。 -------------------------------------------------------------------------------- Linux必学的60个命令(2)-文件处理命令 Linux 系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。 Linux文件系统具有良好的结构,系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。 file 1.作用 件内容判断文件类型,使用权限是所有用户。 2.格式 file通过探测文 file [options] 文件名 3.[options]主要参数 -v:在标准输出后显示版本信息,并且退出。 -z:探测压缩过的文件类型。 -L:允许符合连接。 -f name:从文件namefile中读取要分析的文件名列表。 4.简单说明 使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。 5.应用实例 如果我们看到一个没有后缀的文件grap,可以使用下面命令: $ file grap grap: English text 此系统显示这是一个英文文本文件。需要说明的是,file命令不能探测包括图形、音频、视频等多媒体文件类型。 mkdir 1.作用 mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。 2.格式 mkdir [options] 目录名 3.[options]主要参数 -m, --mode=模式:设定权限,与chmod类似。 -p, --parents:需要创建上层目录;如果目录早已存在,则不当作错误。 -v, --verbose:每次创建新目录都显示信息。 --version:显示版本信息后离开。 4.应用实例 在进行目录创建可以设置目录的权限,此使用的参数是“-m”。假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令: $ mkdir -m 777 tsk grep 1.作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件不显示文件名。 -l:查询多文件只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求 。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。 。:所有的单个字符。 * :有字符,长度可以为0。 正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户可以使用通配符 “*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。 4.应用实例 查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有IP地址会超过2000个。如果要查看nnn.nnn网络地址,但是却忘了第二部分中的其余部分,只知到有两个句点,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]\{3 \}\.[0-0\{3\}\。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。 $grep '[0-9 ]\{3 \}\.[0-0\{3\}\' ipfile 补充说明,grep家族还包括fgrep和egrep。fgrep是fix grep,允许查找字符串而不是一个模式;egrep是扩展grep,支持基本及扩展的正则表达式,但不支持\q模式范围的应用及与之相对应的一些更加规范的模式。 dd 1.作用 dd命令用来复制文件,并根据参数将数据转换和格式化。 2.格式 dd [options] 3.[opitions]主要参数 bs=字节:强迫 ibs=及obs=。 cbs=字节:每次转换指定的。 conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。 count=块数目:只复制指定的输入数据。 ibs=字节:每次读取指定的。 if=文件:读取内容,而非标准输入的数据。 obs=字节:每次写入指定的。 of=文件:将数据写入,而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定的输出数据。 skip=块数目:先略过以ibs为单位的指定的输入数据。 4.应用实例 dd命令常常用来制作Linux启动盘。先找一个可引导内核,令它的根设备指向正确的根分区,然后使用dd命令将其写入软盘: $ rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0 上面代码说明,使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,请把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。 find 1.作用 find命令的作用是在目录中搜索文件,它的使用权限是所有用户。 2.格式 find [path][options][expression] path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。 3.主要参数 [options]参数: -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。 -maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数,如果level是0的话表示仅在当前目录中查找。 -mindepth levels:表示至少查找到开始目录的第level层子目录。 -mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。 -version:打印版本。 [expression]是匹配表达式,是find命令接受的表达式,find命令的所有操作都是针对表达式的。它的参数非常多,这里只介绍一些常用的参数。 —name:支持统配符*和?。 -atime n:搜索在过去n天读取过的文件。 -ctime n:搜索在过去n天修改过的文件。 -group grpoupname:搜索所有组为grpoupname的文件。 -user 用户名:搜索所有文件属主为用户名(ID或名称)的文件。 -size n:搜索文件大小是n个block的文件。 -print:输出搜索结果,并且打印。 4.应用技巧 find命令查找文件的几种方法: (1)根据文件名查找 例如,我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令: find / -name lilo.conf find命令后的“/”表示搜索整个硬盘。 (2)快速查找文件 根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内,此可以使用下面命令: find /etc -name smb.conf 这样,使用“快速查找文件”方式可以缩短间。 (3)根据部分文件名查找方法 有我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令: find / -name '*abvd*' 输入这个命令以后,Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来。 (4) 使用混合查找方式查找文件 find命令可以使用混合查找的方法,例如,我们想在/etc目录中查找大于500000字节,并且在24小内修改的某个文件,则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。 find /etc -size +500000c -and -mtime +1 mv 1.作用 mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。 2.格式 mv[options] 源文件或目录 目标文件或目录 3.[options]主要参数 -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件不给任何指示,指定此参数后i参数将不再起作用。 4.应用实例 (1)将/usr/cbu中的所有文件移到当前目录(用“.”表示)中: $ mv /usr/cbu/ * . (2)将文件cjh.txt重命名为wjz.txt: $ mv cjh.txt wjz.txt  ls 1.作用 ls命令用于显示目录内容,类似DOS下的dir命令,它的使用权限是所有用户。 2.格式 ls [options][filename] 3.options主要参数 -a, --all:不隐藏任何以“.” 字符开始的项目。 -A, --almost-all:列出除了“ . ”及 “.. ”以外的任何项目。 --author:印出每个文件著作者。 -b, --escape:以八进制溢出序列表示不可打印的字符。 --block-size=大小:块以指定的字节为单位。 -B, --ignore-backups:不列出任何以 ~ 字符结束的项目。 -f:不进行排序,-aU参数生效,-lst参数失效。 -F, --classify:加上文件类型的指示符号 (*/=@| 其中一个)。 -g:like -l, but do not list owner。 -G, --no-group:inhibit display of group information。 -i, --inode:列出每个文件的inode号。 -I, --ignore=样式:不印出任何符合Shell万用字符的项目。 -k:即--block-size=1K。 -l:使用较长格式列出信息。 -L, --dereference:当显示符号链接的文件信息,显示符号链接所指示的对象,而并非符号链接本身的信息。 -m:所有项目以逗号分隔,并填满整行行宽。 -n, --numeric-uid-gid:类似-l,但列出UID及GID号。 -N, --literal:列出未经处理的项目名称,例如不特别处理控制字符。 -p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。 -Q, --quote-name:将项目名称括上双引号。 -r, --reverse:依相反次序排列。 -R, --recursive:同列出所有子目录层。 -s, --size:以块大小为序。 4.应用举例 ls 命令是Linux系统使用频率最多的命令,它的参数也是Linux命令中最多的。使用ls命令会有几种不同的颜色,其中蓝色表示是目录,绿色表示是可执行文件,红色表示是压缩文件,浅蓝色表示是链接文件,加粗的黑色表示符号链接,灰色表示是其它格式文件。ls最常使用的是ls- l,见图1所示。 图1 使用ls-l命令 文件类型开头是由10个字符构成的字符串。其中第一个字符表示文件类型,它可以是下述类型之一:-(普通文件)、d(目录)、l(符号链接)、b(块设备文件)、c(字符设备文件)。后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读(r)、写(w)和执行权限(x)。对于目录,表示进入权限。s表示当文件被执行,把该文件的UID 或GID赋予执行进程的UID(用户ID)或GID(组 ID)。t表示设置标志位(留在内存,不被换出)。如果该文件是目录,那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,那么在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它,系统就能更快地装入该文件。接着显示的是文件大小、生成间、文件或命令名称。 diff 1.作用 diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户。 2.格式 diff [options] 源文件 目标文件 3.[options]主要参数 -a:将所有文件当作文本文件来处理。 -b:忽略空格造成的不同。 -B:忽略空行造成的不同。 -c:使用纲要输出格式。 -H:利用试探法加速对大文件的搜索。 -I:忽略大小写的变化。 -n --rcs:输出RCS格式。 cmp 1.作用 cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户。 2.格式 cmp[options] 文件名 3.[options]主要参数 -l: 将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出。 cat 1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。 2.格式 cat [options] 文件1 文件2…… 3.[options]主要参数 -n:由第一行开始对所有输出的行数编号。 -b:和-n相似,只不过对于空白行不编号。 -s:当遇到有连续两行以上的空白行,就代换为一行的空白行。 4.应用举例 (1)cat命令一个最简单的用处是显示文本文件的内容。例如,我们想在命令行看一下README文件的内容,可以使用命令: $ cat README  (2)有需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件。cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出。例如,把README和INSTALL的文件内容加上行号(空白行不加)之后,将内容附加到一个新文本文件File1 中: $ cat README INSTALL File1 (3)cat还有一个重要的功能就是可以对行进行编号,见图2所示。这种功能对于程序文档的编制,以及法律和科学文档的编制很方便,打印在左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的。 图2 使用cat命令/etc/named.conf文件进行编号 对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行编号)两个参数: $ cat -b /etc/named.conf ln 1.作用 ln命令用来在文件之间创建链接,它的使用权限是所有用户。 2.格式 ln [options] 源文件 [链接名] 3.参数 -f:链结先将源文件删除。 -d:允许系统管理者硬链结自己的目录。 -s:进行软链结(Symbolic Link)。 -b:将在链结会被覆盖或删除的文件进行备份。 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。 与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 动手练习 上面我们介绍了Linux文件处理命令,下面介绍几个实例,大家可以动手练习一下刚才讲过的命令。 1.利用符号链接快速访问关键目录 符号链接是一个非常实用的功能。假设有一些目录或文件需要频繁使用,但由于Linux的文件和目录结构等原因,这个文件或目录在很深的子目录中。比如, Apache Web服务器文档位于系统的/usr/local/httpd/htdocs中,并且不想每次都要从主目录进入这样一个长的路径之中(实际上,这个路径也非常不容易记忆)。 为了解决这个问题,可以在主目录中创建一个符号链接,这样在需要进入该目录,只需进入这个链接即可。 为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录,在主目录下可以使用以下命令: $ ln -s /usr/local/httpd/htdocs gg 这样每次进入gg目录就可访问Web服务器的文档,以后如果不再访问Web服务器的文档,删除gg即可,而真正的Web服务器的文档并没有删除。 2.使用dd命令将init.rd格式的root.ram内容导入内存 dd if=/dev/fd0 of=floppy.fd dd if=root.ram of=/dev/ram0 # 3.grep命令系统调用 grep是Linux/Unix中使用最广泛的命令之一,许多Linux系统内部都可以调用它。 (1)如果要查询目录列表中的目录,方法如下: $ ls -l | grep '∧d' (2)如果在一个目录中查询不包含目录的所有文件,方法如下: $ ls -l | grep '∧[∧d]' (3)用find命令调用grep,如所有C源代码中的“Chinput”,方法如下: $find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print -------------------------------------------------------------------------------- Linux必学的60个命令(3)-系统管理命令 Linux必学的系统管理命令 对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令。 df 1.作用 df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。 2.格式 df [options] 3.主要参数 -s:对每个Names参数只给出占用的数据块总数。 -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 -k:以1024字节为单位列出磁盘空间使用情况。 -x:跳过在不同文件系统上的目录不予统计。 -l:计算所有的文件大小,对硬链接文件则计算多次。 -i:显示inode信息而非块使用量。 -h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。 -P:使用POSIX输出格式。 -T:显示文件系统类型。 4.说明 df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。 超级权限用户使用df命令会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%系统管理员还可以正常工作。 5.应用实例 Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df -T命令查看磁盘空间还可以得到文件系统的信息: #df -T 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/hda7 reiserfs 5.2G 1.6G 3.7G 30% / /dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C /dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D /dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E /dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F /dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G 从上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗。 top 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户。 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新的间隔,以秒计算。 q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 c:显示进程完整的路径与名称。 S:累积模式,会将己完成或消失的子行程的CPU间累积起来。 s:安全模式。 i:不显示任何闲置(Idle)或无用(Zombie)的行程。 n:显示更新的次数,完成后将会退出top。 4.说明 top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。 图1 top命令的显示 在图1中,第一行表示的项目依次为当前间、系统启动间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起 (Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。 PID(Process ID):进程标示号。 USER:进程所有者的用户名。 PR:进程的优先级别。 NI:进程的优先级别数值。 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值。 SHR:进程使用的共享内存值。 S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 %CPU:该进程占用的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比。 TIME+:该进程启动后占用的总的CPU间。 Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。 top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。 :立刻刷新。 P:根据CPU使用大小进行排序。 T:根据间、累计间排序。 q:退出top命令。 m:切换显示内存信息。 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行。 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。 可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。 5.应用实例 使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面,见图2所示。 图2 使用top命令监视指定用户 free 1.作用 free命令用来显示内存的使用情况,使用权限是所有用户。 2.格式 free [-b|-k|-m] [-o] [-s delay] [-t] [-V] 3.主要参数 -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。 -s delay:显示每隔多少秒数来显示一次内存使用情况。 -t:显示内存总和列。 -o:不显示缓冲区调节列。 4.应用实例 free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实监控器。 #free -b -s5 使用这个命令终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。 quota 1.作用 quota命令用来显示磁盘使用情况和限制情况,使用权限超级用户。 2.格式 quota [-g][-u][-v][-p] 用户名 组名 3.参数 -g:显示用户所在组的磁盘使用限制。 -u:显示用户的磁盘使用限制。 -v:显示没有分配空间的文件系统的分配情况。 -p:显示简化信息。 4.应用实例 在企业应用中磁盘配额非常重要,普通用户要学会看懂自己的磁盘使用情况。要查询自己的磁盘配额可以使用下面命令(下例中用户账号是caojh): #quota caojh Disk quotas for user caojh(uid 502): Filesystem blocks quota limit grace files quota limit grace /dev/hda3 58 200000 400000 41 500 1000 以上显示ID号为502的caojh账号,文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB。一旦磁盘配额要用完,就需要删除一些垃圾文件或向系统管理员请求追加配额。 at 1.作用 at命令用来在指定刻执行指定的命令序列。 2.格式 at [-V] [-q x] [-f file] [-m] time 3.主要参数 -V:显示标准错误输出。 -q:许多队列输出。 -f:从文件中读取作业。 -m:执行完作业后发送电子邮件到用户。 time:设定作业执行的间。time格式有严格的要求,由小、分钟、日期和间的偏移量组成,其中日期的格式为MM.DD.YY,MM是分钟,DD是日期,YY是指年份。偏移量的格式为间+偏移量,单位是minutes、hours和days。 4.应用实例 #at -f data 15:30 +2 days 上面命令表示让系统在两天后的17:30执行文件data中指明的作业。 lp 1.作用 lp是打印文件的命令,使用权限是所有用户。 2.格式 lp [-c][-d][-m][-number][-title][-p] 3.主要参数 -c:先拷贝文件再打印。 -d:打印队列文件。 -m:打印结束后发送电子邮件到用户。 -number:打印份数。 -title:打印标题。 -p:设定打印的优先级别,最高为100。 4.应用实例 (1)使用lp命令打印多个文件 #lp 2 3 4 request id is 11 (3 file(s)) 其中2、3、4分别是文件名;“request id is 11 (3 file(s)) ”表示这是第11个打印命令,依次打印这三个文件。 (2)设定打印优先级别 #lp lp -d LaserJet -p 90 /etc/aliases 通过添加“-p 90”,规定了打印作业的优先级为90。它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业,缺省优先级是50 useradd 1.作用 useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。 2.格式 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name 3.主要参数 -c:加上备注文字,备注文字保存在passwd的备注栏中。  -d:指定用户登入的启始目录。 -D:变更预设值。 -e:指定账号的有效期限,缺省表示永久有效。 -f:指定在密码过期后多少天即关闭该账号。 -g:指定用户所属的群组。 -G:指定用户所属的附加群组。 -m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群组。 -r:建立系统账号。 -s:指定用户登入后所使用的shell。 -u:指定用户ID号。 4.说明 useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。 5.应用实例 建立一个新用户账户,并设置ID: #useradd caojh -u 544 需要说明的是,设定ID值尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。 groupadd 1.作用 groupadd命令用于将新组加入系统。 2.格式 groupadd [-g gid] [-o]] [-r] [-f] groupname 3.主要参数 -g gid:指定组ID号。 -o:允许组ID号,不必惟一。 -r:加入组ID号,低于499系统账号。 -f:加入已经有的组,发展程序退出。 4.应用实例 建立一个新组,并设置组ID加入系统: #groupadd -g 344 cjh 此在/etc/passwd文件中产生一个组ID(GID)是344的项目。 kill 1.作用 kill命令用来中止一个进程。 2.格式 kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 3.参数 -s:指定发送的信号。 -p:模拟发送信号。 -l:指定信号的名称列表。 pid:要中止进程的ID号。 Signal:表示信号。 4.说明 进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。 Linux 操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)Linux系统启动启动的进程,并在后台运行。例如,httpd是著名的 Apache服务器的监控进程。 kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁,可以切换到其它虚拟控制台工作关闭这个程序。此使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。 5.应用实例 (1)强行中止(经常使用杀掉)一个进程标识号为324的进程: #kill -9 324 (2)解除Linux系统的死锁 在Linux 中有会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当 kill处于X-Window界面,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此打开一个终端,在那里中止有问题的程序。比如,如果 Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用top命令查处该程序的PID,然后使用kill命令停止这个程序: #kill -SIGKILL XXX 其中,XXX是包含有Mozolla浏览器的程序的进程标识号。 (3)使用命令回收内存 我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及地中止一些“越轨”的程序或很长间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此可以使用下面命令: #kill -9 XXX 其中,XXX是无用的进程标识号。 然后使用下面命令: #free 此会发现可用内存容量增加了。 (4)killall命令 Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如: # killall -HUP inetd crontab 1.作用 使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的间执行,该命令使用权限是所有用户。 2.格式 crontab [ -u user ] 文件 crontab [ -u user ] { -l | -r | -e } 3.主要参数 -e:执行文字编辑器来设定程表,内定的文字编辑器是vi。 -r:删除目前的程表。 -l:列出目前的程表。 crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。cmd表示要运行的程序,它被送入sh执行,这个Shell只有USER、HOME、SHELL三个环境变量。 4.说明 和at命令相比,crontab命令适合完成固定周期的任务。 5.应用实例 设置一个定、定期的系统提示: [cao @www cao]#crontab -e 此系统会打开一个vi编辑器。 如果输入以下内容:35 17 * * 5 wall "Tomorrow is Saturday I will go CS",然后存盘退出。这在/var/spool/cron/目录下会生产一个cao的文件,内容如下: # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.2707 installed on Thu Jan 1 22:01:51 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 35 17 * * 5 wall "Tomorrow is Saturday I will play CS " 这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打CS了!显示结果见图3所示。 图3 一个定、定期的系统提示 动手练习 1.联合使用kill和top命令观察系统性能的变化 首先启动一个终端运行top命令,然后再启动一个终端使用kill命令,见图4所示。 图4 观察kill命令对top终端的影响 这利用上面介绍的kill命令来中止一些程序: #kill SIGKILL XXX 然后再看top命令终端的变化,包括内存容量、CPU使用率、系统负载等。注意,有些进程是不能中止的,不过学习Linux命令可以试试,看看系统有什么反应。 2.使用at和halt命令关机 首先设定关机间是17:35,输入下面代码: #at 17:35 warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh at>halt `-i -p at> job 6 at 2004-01-01 17:35 此实际上就已经进入Linux系统的Shell,并且编写一个最简单程序:halt -i -p。上面Shell中的文本结束符号表示按“Ctrl+D”组合键关闭命令,提交任务退出Shell。“Job 6 at 2004-01-01 17:35”表示系统接受第6个at命令,在“2004-01-01 17:35”执行命令:先把所有网络相关的装置停止,关闭系统后关闭电源。 3.用crontab命令实现每天定的病毒扫描 前面已经介绍了一个简单的crontab命令操作,这里看一些更重要的操作。 (1)建立一个文件,文件名称自己设定,假设为caoproject: #crontab -e (2)文件内容如下: 05 09 * * * antivir 用vi编辑后存盘退出。antivir是一个查杀Linux病毒的软件,当然需要先安装在系统中。 (3)使用crontab命令添加到任务列表中: #crontab caoproject 这样系统内所有用户在每天的9点05分会自动进行病毒扫描。 4.用kill使修改的配置文件马上生效 Windows用户一般都知道,重要配置文件修改后往往都要重新启动计算机才能使修改生效。而Linux由于采用了模块化设计,可以自己根据需要实设定服务。这里以网络服务inetd为例介绍一些操作技巧。 inetd 是一个监听守护进程,监听与提供互联网服务进程(如rlogin、telnet、ftp、rsh)进行连接的要求,并扩展所需的服务进程。默认情况下, inetd监听的这些daemon均列于/etc /inetd.conf文件中。编辑/etc/inetd.conf文件,可以改变inetd启动服务器守护进程的选项,然后驱使inetd以 SIGHUP(signal 1)向当前的inetd进程发送信号,使inetd重读该文件。这一过程由kill命令来实现。 用vi或其它编辑器修改inetd.conf后,首先使用下面命令: #ps -ef |grep inetd 上面代码表明查询inetd.conf的进程号(PID),这里假设是1426,然后使用下面命令: # kill -1426 inetd 这样配置文件就生效了。 这一讲介绍的系统管理命令都是比较重要的,特别是crontab命令和quota命令使用起来会有一定难度,需要多做一些练习。另外,使用kill命令要注意“-9“这个参数,练习最好不要运行一些重要的程序。 -------------------------------------------------------------------------------- Linux必学的60个命令(4)-网络操作命令 Linux必学的60个命令网络操作命令 因为Linux系统是在Internet上起源和发展的,它与生俱来拥有强大的网络功能和丰富的网络应用软件,尤其是TCP/IP网络协议的实现尤为成熟。 Linux的网络命令比较多,其中一些命令ping、 ftp、telnet、route、netstat等在其它操作系统上也能看到,但也有一些Unix/Linux系统独有的命令,如ifconfig、 finger、mail等。Linux网络操作命令的一个特点是,命令参数选项和功能很多,一个命令往往还可以实现其它命令的功能。 ifconfig 1.作用 ifconfig用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。 2.格式 ifconfig -interface [options] address 3.主要参数 -interface:指定的网络接口名,如eth0和eth1。 up:激活指定的网络接口卡。 down:关闭指定的网络接口。 broadcast address:设置接口的广播地址。 pointopoint:启用点对点方式。 address:设置指定接口设备的IP地址。 netmask address:设置接口的子网掩码。 4.应用说明 ifconfig是用来设置和配置网卡的命令行工具。为了手工配置网络,这是一个必须掌握的命令。使用该命令的好处是无须重新启动机器。要赋给eth0接口IP地址207.164.186.2,并且马上激活它,使用下面命令: #fconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127 该命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。若运行不带任何参数的ifconfig命令,这个命令将显示机器所有激活接口的信息。带有“-a”参数的命令则显示所有接口的信息,包括没有激活的接口。注意,用ifconfig命令配置的网络设备参数,机器重新启动以后将会丢失。 如果要暂停某个网络接口的工作,可以使用down参数: #ifconfig eth0 down ip 1.作用 ipiproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。 2.格式 ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] 3.主要参数 OPTIONS是修改ip行为或改变其输出的选项。所有的选项都是以-字符开头,分为长、短两种形式。目前,ip支持如表1所示选项。 OBJECT是要管理者获取信息的对象。目前ip认识的对象见表2所示。 表1 ip支持的选项 -V,-Version 打印ip的版本并退出。 -s,-stats,-statistics 输出更为详尽的信息。如果这个选项出现两次或多次,则输出的信息将更为详尽。 -f,-family 这个选项后面接协议种类,包括inet、inet6或link,强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或any。link比较特殊,它表示不涉及任何网络协议。 -4 是-family inet的简写。 -6 是-family inet6的简写。 -0 是-family link的简写。 -o,-oneline 对每行记录都使用单行输出,回行用字符代替。如果需要使用wc、grep等工具处理ip的输出,则会用到这个选项。 -r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址 COMMAND 设置针对指定对象执行的操作,它和对象的类型有关。一般情况下,ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作,或者有其它的一些命令。对于所有的对象,用户可以使用help命令获得帮助。这个命令会列出这个对象支持的命令和参数的语法。如果没有指定对象的操作命令ip会使用默认的命令。一般情况下,默认命令是list,如果对象不能列出,就会执行help命令。 ARGUMENTS 是命令的一些参数,它们倚赖于对象和命令ip支持两种类型的参数:flag和parameter。flag由一个关键词组成;parameter由一个关键词加一个数值组成。为了方便,每个命令都有一个可以忽略的默认参数。例如,参数dev是ip link命令的默认参数,因此ip link ls eth0等于ip link ls dev eth0。我们将在后面的详细介绍每个命令的使用,命令的默认参数将使用default标出。 4.应用实例 添加IP地址192.168.2.2/24到eth0网卡上: #ip addr add 192.168.1.1/24 dev eth0 丢弃源地址属于192.168.2.0/24网络的所有数据报: #ip rule add from 192.168.2.0/24 prio 32777 reject ping 1.作用 ping检测主机网络接口状态,使用权限是所有用户。 2.格式 ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP地址 3.主要参数 -d:使用Socket的SO_DEBUG功能。 -c:设置完成要求回应的次数。 -f:极限检测。 -i:指定收发信息的间隔秒数。 -I:网络界面使用指定的网络界面送出数据包。 -l:前置载入,设置在送出要求信息之前,先行发出的数据包。 -n:只输出数值。 -p:设置填满数据包的范本样式。 -q:不显示指令执行过程,开头和结尾的相关信息除外。 -r:忽略普通的Routing Table,直接将数据包送到远端主机上。 -R:记录路由过程。 -s:设置数据包的大小。 -t:设置存活数值TTL的大小。 -v:详细显示指令的执行过程。 ping 命令是使用最多的网络指令,通常我们使用它检测网络是否连通,它使用ICMP协议。但是有会有这样的情况,我们可以浏览器查看一个网页,但是却无法 ping通,这是因为一些网站处于安全考虑安装了防火墙。另外,也可以在自己计算机上试一试,通过下面的方法使系统对ping没有反应: # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all netstat 1.作用 检查整个Linux网络状态。 2.格式 netstat [-acCeFghilMnNoprstuvVwx][-A][--ip] 3.主要参数 -a--all:显示所有连线中的Socket。 -A:列出该网络类型连线中的IP相关地址和网络类型。 -c--continuous:持续列出网络状态。 -C--cache:显示路由器配置的快取信息。 -e--extend:显示网络其它相关信息。 -F--fib:显示FIB。 -g--groups:显示多重广播功能群组组员名单。 -h--help:在线帮助。 -i--interfaces:显示网络界面信息表单。 -l--listening:显示监控中的服务器的Socket。 -M--masquerade:显示伪装的网络连线。 -n--numeric:直接使用IP地址,而不通过域名服务器。 -N--netlink--symbolic:显示网络硬件外围设备的符号连接名称。 -o--timers:显示计器。 -p--programs:显示正在使用Socket的程序识别码和程序名称。 -r--route:显示Routing Table。 -s--statistice:显示网络工作信息统计表。 -t--tcp:显示TCP传输协议的连线状况。 -u--udp:显示UDP传输协议的连线状况。 -v--verbose:显示指令执行过程。 -V--version:显示版本信息。 -w--raw:显示RAW传输协议的连线状况。 -x--unix:和指定“-A unix”参数相同。 --ip--inet:和指定“-A inet”参数相同。 4.应用实例 netstat 主要用于Linux察看自身的网络状况,如开启的端口、在为哪些用户服务,以及服务的状态等。此外,它还显示系统路由表、网络接口状态等。可以说,它是一个综合性的网络状态的察看工具。在默认情况下,netstat只显示已建立连接的端口。如果要显示处于监听状态的所有端口,使用-a参数即可: #netstat -a Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:32768 *:* LISTEN tcp 0 0 *:32769 *:* LISTEN tcp 0 0 *:nfs *:* LISTEN tcp 0 0 *:32770 *:* LISTEN tcp 0 0 *:868 *:* LISTEN tcp 0 0 *:617 *:* LISTEN tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 *:10000 *:* LISTEN tcp 0 0 *:http *:* LISTEN ...... 上面显示出,这台主机同提供HTTP、FTP、NFS、MySQL等服务。 telnet 1.作用 telnet表示开启终端机阶段作业,并登入远端主机。telnet是一个Linux命令,同也是一个协议(远程登陆协议)。 2.格式 telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主机名称IP地址] 3.主要参数 -8:允许使用8位字符资料,包括输入与输出。 -a:尝试自动登入远端系统。 -b:使用别名指定远端主机名称。 -c:不读取用户专属目录里的.telnetrc文件。 -d:启动排错模式。 -e:设置脱离字符。 -E:滤除脱离字符。 -f:此参数的效果和指定“-F”参数相同。 -F:使用Kerberos V5认证,加上此参数可把本地主机的认证数据上传到远端主机。 -k:使用Kerberos认证,加上此参数让远端主机采用指定的领域名,而非该主机的域名。 -K:不自动登入远端主机。 -l:指定要登入远端主机的用户名称。 -L:允许输出8位字符资料。 -n:指定文件记录相关信息。 -r:使用类似rlogin指令的用户界面。 -S:服务类型,设置telnet连线所需的IP TOS信息。 -x:假设主机有支持数据加密的功能,就使用它。 -X:关闭指定的认证形态。 4.应用说明 用户使用telnet命令可以进行远程登录,并在远程计算机之间进行通信。用户通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过 telnet登录到远程计算机上,必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑,要限制来宾的操作权限,因此,这种情况下能使用的功能是很少的。 t
网络设备安全策略 目录 1. 目的 3 2. 范围 3 3. 物理安全 3 4. 帐号管理及认证授权 3 4.1. 帐号 3 4.2. 口令 4 4.3. 授权 4 5. 补丁管理 4 6. 安全防护 5 7. 服务安全 5 8. 安全审计 5 9. 数据完整性 6 10. 安全管理 6 11. 备份恢复 6 12. 维护安全 7 13. 废弃和重用 7 目的 本策略规定了网络设备(包括路由交换设备、网络安全设备等)的安全配置要求。 范围 本文档适用于使用的通用网络设备的安全配置,包括路由器、交换机等,同适用于 安全总集成商、设备提供商、运维人员等相关人员。 物理安全 参考《机房物理安全策略》中设备安全策略要求。 帐号管理及认证授权 1 帐号 应对登录网络设备的用户进行身份标识和鉴别,且用户的标识应唯一,根据不同的使 用人员分配不同的账号或账号组,修改系统默认的账号及口令,删除或锁定与设备运行 和维护无关、多余或过期的账号。 应根据不同的用户或角色分配不同的账号和账号组,避免不同角色之间共享账号。 应限制超级账户直接远程登录并设置用户超锁定策略,系统需设置符合业务需求的 结束会话间,当用户登录设备后,一段间未进行操作后,就将自动中断此用户的连 接。 应采用动态口令、数字证书、生物技术和设备指纹等两种或两种以上组合的鉴别技术 对用户身份进行鉴别,并保证其中一种鉴别 技术是使用密码技术来实现。 2 口令 网络设备的登录口令应符合复杂性要求、长度要求、有效期要求。可限制口令长度为 6位以上,且需混有数字、字母和符号,口令周期需强制3个月换一次,以防止设置弱口 令给设备带来隐患。 网络设备应启用用户登录失败锁定功能,并限制失败登录次数和频率。如登录失败次 数超过设定值后,系统会锁定该用户,需由管理员解锁或过一段间后自动解锁等。 3 授权 应对登录网络设备的用户进行角色划分,至少包含管理员角色、安全员角色和审计员 角色,根据用户的角色分配权限,实现用户的权限分离,仅授予用户所需的最小权限。 应禁止或限制匿名、默认账户的访问权限。 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则。访问控 制的粒度应达到主体为用户级或进程级,客体为文件、数据库表、记录或字段级。应对 重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。 补丁管理 应采用专业的漏洞扫描、渗透测试等技术对网络设备进行定期安全评估,并根据结果 对系统进行修复。 在网络设备的补丁进行更新前,应对补丁与现有业务系统的兼容性进行测试,确认后 与系统提供厂商配合进行相应的修复。 应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件提供报警。 应对网络设备的漏洞发展情况进行跟踪,形成详细的安全更新状态报表。安装补丁软 件包则以必要为原则,非必需的就不装。 安全防护 网络设备应启用自身安全防护功能,防护对网络设备的攻击行为,保障自身设备的安 全、稳定运行。 重要网络设备可采用IP/MAC绑定防止地址欺骗。 网络设备应遵循最小安装的原则,仅安装需要组件和应用程序; 网络设备应关闭不需要得系统服务、默认共享和高危端口; 网络设备应通过设定终端接入方式或网络地址范围对通过网络进行管理终端进行限制 ; 网络设备应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及识别入侵 何病毒行为,并将其有效阻断,如安全防恶意代码软件或相应功能的软件,当识别入侵 和病毒行为是否将其有效阻断,定期进行升级和更新防恶意代码库。 服务安全 应对进出网络的信息内容进行过滤,实现对应用层HTTP、FTP、TELNET、SMTP、POP3 等协议命令级的控制; 使用SNMP网络协议,应修改默认的SNMP团体字。 禁止使用Telnet等存在安全隐患的协议。 安全审计 网络设备应启用日志审计功能,审计覆盖到每个用户,不仅包括对用户登录、用户操 作进行记录,也要包括系统事件,安全事件等。审计记录应包括事件的日期和间、用 户、事件类型、事件是否成功及其他与审计相关的信息。日志应妥善保存、定期审计分 析和备份,并确保日志记录的完整性。 网络设备应配置远程日志功能,将重要日志内容传输到远程日志服务器。 网络设备应与可信任的NTP服务器保持间同步。 网络设备应对审计进程进行保护,防止未授权的中断。 数据完整性 应采用校验技术或密码技术保证重要数据在网络设备传输过程中的完整性,避免受到 破坏或篡改,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、 重要视频数据和重要个人信息等。 应采用校验技术或密码技术保证重要数据在网络设备存储过程中的完整性,避免受到 破坏或篡改,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、 重要视频数据和重要个人信息等。 应

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值