当前位置:文档之家› 华为TCL培训教程(全)

华为TCL培训教程(全)

华为TCL培训教程(全)
华为TCL培训教程(全)

TCL培训教程(全)

(内部使用)

深圳市华为技术有限公司

目录

1 引言 (6)

2 语法 (7)

2.1 脚本、命令和单词符号 (7)

2.2 置换(substitution) (7)

2.2.1 变量置换(variable subtitution) (8)

2.2.2 命令置换(command substitution) (8)

2.2.3 反斜杠置换(backslash substitution) (9)

2.2.4 双引号和花括号 (10)

2.3 注释 (10)

3 变量 (10)

3.1 简单变量 (10)

3.2 数组 (11)

3.3 相关命令 (12)

3.3.1set (12)

3.3.2 unset (12)

3.3.3 append和incr (12)

4 表达式 (13)

4.1 操作数 (13)

4.2 运算符和优先级 (13)

1.1 数学函数 (14)

2List (15)

2.1list命令 (15)

2.2 concat命令: (16)

2.3 lindex命令 (16)

2.4 llength命令 (16)

2.5 linsert命令 (16)

2.6 lreplace命令: (16)

2.7 lrange 命令: (16)

2.8 lappend命令: (17)

2.9 lsearch 命令: (17)

2.10 lsort命令: (17)

2.11 split命令: (18)

2.12 join命令 (18)

3 控制流 (18)

3.1 if命令 (18)

3.2 循环命令:while 、for、 foreach (19)

3.2.1 while命令 (19)

3.2.2 for命令 (19)

3.2.3 foreach命令 (20)

3.2.4 break和continue命令 (20)

3.2.5 switch 命令 (21)

3.3 eval命令 (21)

3.4 source命令 (21)

4 过程(procedure) (21)

4.1 过程定义和返回值 (22)

4.2 局部变量和全局变量 (22)

4.3 缺省参数和可变个数参数 (23)

4.4 引用:upvar (24)

5 字符串操作 (25)

5.1 format命令 (25)

5.2 scan命令 (25)

5.3 regexp命令 (26)

1.1 regsub命令 (28)

1.2 string命令 (28)

1.2.1 string compare ?-nocase? ?-length int? string1 string2 (28)

1.2.2 string equal ?-nocase? ?-length int? string1string2 (28)

1.2.3 string first string1string2 ?startindex? (29)

1.2.4 string index string charIndex (29)

1.2.5 string last string1 string2 ?startindex? (29)

1.2.6 string length string (29)

1.2.7 string match ?-nocase? pattern string (29)

1.2.8 string range string first last (30)

1.2.9 string repeat string count (30)

1.2.10 string replace string first last ?newstring? (30)

1.2.11 string tolower string ?first? ?last? (30)

1.2.12 string toupper string ?first? ?last? (30)

1.2.13 string trim string ?chars? (30)

1.2.14 string trimleft string ?chars? (31)

1.2.15 string trimright string ?chars? (31)

2 文件访问 (31)

2.1 文件名 (31)

2.2 基本文件输入输出命令 (31)

2.3 随机文件访问 (33)

2.4 当前工作目录 (33)

2.5 文件操作和获取文件信息 (34)

3 错误和异常 (38)

3.1 错误 (38)

3.2 从TCL脚本中产生错误 (40)

3.3 使用catch捕获错误 (40)

3.4 其他异常 (41)

1 深入TCL (43)

1.1 查询数组中的元素 (43)

1.2 info命令 (45)

1.2.1 变量信息 (45)

1.1.1 过程信息 (46)

1.1.2 命令信息 (47)

1.1.3 TCL的版本和库 (48)

1.1.4 命令的执行时间 (48)

1.1.5 跟踪变量 (48)

1.1.6 命令的重命名和删除 (51)

1.1.7 unknown命令 (52)

1.1.8 自动加载 (53)

2 历史记录 (54)

3 TCL和C\C++ (56)

3.1 生成自己的TCLSH (57)

3.2 扩展自己的命令:方法(一) (57)

3.2.1 编写扩展命令对应的C/C++过程 (57)

3.2.2 注册命令 (59)

3.2.3 命令返回值和命令对应的过程的返回值 (60)

3.3 扩展自己的命令:方法(二) (62)

3.3.1 Tcl_Obj结构 (62)

3.3.2 编写扩展命令对应的C/C++过程 (64)

3.3.3 注册命令 (65)

3.4 利用clientData参数和deleteProc参数 (65)

3.5 在C/C++应用程序中嵌入TCL (68)

4 总结 (70)

TCL培训教程(全)

关键词:TCL

摘要:本文是TCL教材的第三稿,前两稿分别是《TCL的使用》和《TCL培训教程》。这一稿加入了不少内容,是北研TCL兴趣小组共同努力的结果。本文详细介绍了TCL 的各个方面,特别对利用C\C++语言扩展TCL命令作了详细论述。本文附有大量实例。

缩略语清单: TCL Tool Command Language 一种脚本语言

参考资料清单:请在表格中罗列本文档所引用的有关参考文献名称、作者、标题、编号、发布日期和出版单位等基本信息。

参考资料清单

名称作者编号

发布日期查阅地点或

渠道出版单位(若不

为本公司发布的

文献,请填写此

列)

Tcl and Tk ToolKit John

K.Ousterhout

981-235-

951-6

1999 自己的图

Addison

Wesley

Publishing

Commpany

TCL的使用陈旭盛自写文档

TCL培训教程陈旭盛自写文档

1引言

TCL(Tool Command Language)是一种解释执行的脚本语言(Scripting Language)。它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。

由于TCL的解释器是用一个C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作一个C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,可以很容易就在C\C++应用程序中嵌入TCL,而且每个应用程序都可以根据自己的需要对TCL语言进行扩展。我们可以针对某一特定应用领域对TCL语言的核心命令集进行扩展,加入适合于自己的应用领域的扩展命令,如果需要,甚至可以加入新的控制结构,TCL解释器将把扩展命令和扩展控制结构与固有命令和固有控制结构同等看待。扩展后的TCL语言将可以继承TCL 核心部分的所有功能,包括核心命令、控制结构、数据类型、对过程的支持等。根据需要,我们甚至可以屏蔽掉TCL的某些固有命令和固有控制结构。通过对

TCL的扩展、继承或屏蔽,用户用不着象平时定义一种计算机语言那样对词法、语法、语义、语用等各方面加以定义,就可以方便的为自己的应用领域提供一种功能完备的脚本语言。

TCL良好的可扩展性使得它能很好地适应产品测试的需要,测试任务常常会由于设计和需求的改变而迅速改变,往往让测试人员疲于应付。利用TCL的可扩展性,测试人员就可以迅速继承多种新技术,并针对产品新特点迅速推出扩展TCL命令集,以用于产品的测试中,可以较容易跟上设计需求的变化。

另外,因为TCL是一种比C\C++ 语言有着更高抽象层次的语言,使用TCL可以在一种更高的层次上编写程序,它屏蔽掉了编写C\C++程序时必须涉及到的一些较为烦琐的细节,可以大大地提高开发测试例的速度。而且,使用TCL语言写的测试例脚本,即使作了修改,也用不着重新编译就可以调用TCL解释器直接执行。可以省却不少时间。

TCL 目前已成为自动测试中事实上的标准。

2语法

简单的讲,TCL语言的语法实际上是一些TCL解释器怎样对TCL命令进行分析的规则的集合。2.1脚本、命令和单词符号

一个TCL脚本可以包含一个或多个命令。命令之间必须用换行符或分号隔开,下面的两个脚本都是合法的:

set a 1

set b 2

set a 1;set b 2

TCL的每一个命令包含一个或几个单词,第一个单词代表命令名,另外的单词则是这个命令的参数,单词之间必须用空格或TAB键隔开。

TCL解释器对一个命令的求值过程分为两部分:分析和执行。在分析阶段,TCL 解释器运用规则把命令分成一个个独立的单词,同时进行必要的置换(substitution);在执行阶段,TCL 解释器会把第一个单词当作命令名,并查看这个命令是否有定义,如果有定义就激活这个命令对应的C/C++过程,并把所有的单词作为参数传递给该命令过程,让命令过程进行处理。

2.2置换(substitution)

注:在下面的所有章节的例子中,'%'为TCL的命令提示符,输入命令回车后,TCL会在接着的一行输出命令执行结果。'//'后面是我自己加上的说明,不是例子的一部分。

TCL解释器在分析命令时,把所有的命令参数都当作字符串看待,例如:

%set x 10 //定义变量x,并把x的值赋为10

10

%set y x+100 //y的值是x+100,而不是我们期望的110

x+100

上例的第二个命令中,x被看作字符串x+100的一部分,如果我们想使用x的值'10' ,就必须告诉TCL解释器:我们在这里期望的是变量x的值,而非字符'x'。怎么告诉TCL解释器呢,这就要用到TCL 语言中提供的置换功能。

TCL提供三种形式的置换:变量置换、命令置换和反斜杠置换。每种置换都会导致一个或多个单词本身被其他的值所代替。置换可以发生在包括命令名在内的每一个单词中,而且置换可以嵌套。2.2.1变量置换(variable subtitution)

变量置换由一个$符号标记,变量置换会导致变量的值插入一个单词中。例如:

%set y $x+100 //y的值是10+100,这里x被置换成它的值10

10+100

这时,y的值还不是我们想要的值110,而是10+100,因为TCL解释器把10+100看成是一个字符串而不是表达式,y要想得到值110,还必须用命令置换,使得TCL会把10+100看成一个表达式并求值。

2.2.2命令置换(command substitution)

命令置换是由[]括起来的TCL命令及其参数,命令置换会导致某一个命令的所有或部分单词被另一个命令的结果所代替。例如:

%set y [expr $x+100]

110

y的值是110,这里当TCL解释器遇到字符'['时,它就会把随后的expr作为一个命令名,从而激活与expr对应的C/C++过程,并把'expr'和变量置换后得到的'10+110'传递给该命令过程进行处理。

如果在上例中我们去掉[],那么TCL会报错。因为在正常情况下,TCL解释器只把命令行中的第一个单词作为看作命令,其他的单词都作为普通字符串处理,看作是命令的参数。

注意,[]中必须是一个合法的TCL脚本,长度不限。[]中脚本的值为最后一个命令的返回值,例如:

%set y [expr $x+100;set b 300] //y的值为300,因为set b 300的返回值为300

300

有了命令置换,实际上就表示命令之间是可以嵌套的,即一个命令的结果可以作为别的命令的参数。

2.2.3反斜杠置换(backslash substitution)

TCL语言中的反斜杠置换类似于C语言中反斜杠的用法,主要用于在单词符号中插入诸如换行符、空格、[、$等被TCL解释器当作特殊符号对待的字符。例如:

set msg multiple\ space //msg的值为multiple space。

如果没有'\'的话,TCL会报错,因为解释器会把这里最后两个单词之间的空格认为是分隔符,于是发现set命令有多于两个参数,从而报错。加入了'\'后,空格不被当作分隔符,'multiple space'被认为是一个单词(word)。又例如:

%set msg money\ \$3333\ \nArray\ a\[2]

//这个命令的执行结果为:money $3333

Array a[2]

这里的$不再被当作变量置换符。

TCL支持以下的反斜杠置换:

Backslash Sequence Replaced By

\a Audible alert (0x7)

\b Backspace (0x8)

\f Form feed (0xc)

\n Newline (0xa)

\r Carriage return (0xd)

\t Tab (0x9)

\v Vertical tab (0xb)

\ddd Octal value given by ddd

(one, two, or three d's)

\xhh Hex value given by hh

(any number of h's)

\ newline space A single space character.

例如:

%set a \x48 //对应 \xhh

H //十六进制的48正好是72,对应H

% set a \110 //对应 \ddd

H //八进制的110正好是72,对应H

%set a [expr \ // 对应\newline space,一个命令可以用\newline转到下一行继续

2+3]

5

2.2.4双引号和花括号

除了使用反斜杠外,TCL提供另外两种方法来使得解释器把分隔符和置换符等特殊字符当作普通字符,而不作特殊处理,这就要使用双引号和花括号({})。

TCL解释器对双引号中的各种分隔符将不作处理,但是对换行符及$和[]两种置换符会照常处理。例如:

%set x 100

100

%set y "$x ddd"

100 ddd

而在花括号中,所有特殊字符都将成为普通字符,失去其特殊意义,TCL解释器不会对其作特殊处理。

%set y {/n$x [expr 10+100]}

/n$x [expr 10+100]

2.3注释

TCL中的注释符是'#','#'和直到所在行结尾的所有字符都被TCL看作注释,TCL解释器对注释将不作任何处理。不过,要注意的是,'#'必须出现在TCL解释器期望命令的第一个字符出现的地方,才被当作注释。

例如:

%#This is a comment

%set a 100 # Not a comment

wrong # args: should be "set varName ?newValue?"

%set b 101 ; # this is a comment

101

第二行中'#'就不被当作注释符,因为它出现在命令的中间,TCL解释器把它和后面的字符当作命令的参数处理,从而导致错误。而第四行的'#'就被作为注释,因为前一个命令已经用一个分号结束,TCL解释器期望下一个命令接着出现。现在在这个位置出现'#',随后的字符就被当作注释了。

3变量

TCL支持两种类型的变量:简单变量和数组。

3.1简单变量

一个TCL的简单变量包含两个部分:名字和值。名字和值都可以是任意字符串。例如一个名为“1323 7&*: hdgg"的变量在TCL中都是合法的。不过为了更好的使用置换

(substitution),变量名最好按C\C++语言中标识符的命名规则命名。 TCL解释器在分析一个变量置换时,只把从$符号往后直到第一个不是字母、数字或下划线的字符之间的单词符号作为要被置换的变量的名字。例如:

% set a 2

2

set a.1 4

4

% set b $a.1

2.1

在最后一个命令行,我们希望把变量a.1的值付给b,但是TCL解释器在分析时只把$符号之后直到第一个不是字母、数字或下划线的字符(这里是'.')之间的单词符号(这里是'a')当作要被置换的变量的名字,所以TCL解释器把a置换成2,然后把字符串“2.1”付给变量b。这显然与我们的初衷不同。

当然,如果变量名中有不是字母、数字或下划线的字符,又要用置换,可以用花括号把变量名括起来。例如:

%set b ${a.1}

4

TCL中的set命令能生成一个变量、也能读取或改变一个变量的值。例如:

% set a {kdfj kjdf}

kdfj kjdf

如果变量a还没有定义,这个命令将生成变量a,并将其值置为kdfj kjdf,若a已定义,就简单的把a的值置为kdfj kjdf。

%set a

kdfj kjdf

这个只有一个参数的set命令读取a的当前值kdfj kjdf。

3.2数组

数组是一些元素的集合。TCL的数组和普通计算机语言中的数组有很大的区别。在TCL中,不能单独声明一个数组,数组只能和数组元素一起声明。数组中,数组元素的名字包含两部分:数组名和数组中元素的名字,TCL中数组元素的名字(下标〕可以为任何字符串。例如:

set day(monday) 1

set day(tuesday) 2

第一个命令生成一个名为day的数组,同时在数组中生成一个名为monday的数组元素,并把值置为1,第二个命令生成一个名为tuesday的数组元素,并把值置为2。

简单变量的置换已经在前一节讨论过,这里讲一下数组元素的置换。除了有括号之外,数组元素的置换和简单变量类似。例:

set a monday

set day(monday) 1

set b $day(monday) //b的值为1,即day(monday)的值。

set c $day($a) //c的值为1,即day(monday)的值。

TCL不能支持复杂的数据类型,这是一个很大的缺憾,也是TCL受指责很多的方面。但是TCL的一个扩展ITCL填补了这个缺憾。

3.3相关命令

3.3.1set

这个命令在3.1已有详细介绍。

3.3.2unset

这个命令从解释器中删除变量,它后面可以有任意多个参数,每个参数是一个变量名,可以是简单变量,也可以是数组或数组元素。例如:

% unset a b day(monday)

上面的语句中删除了变量a、b和数组元素day(monday),但是数组day并没有删除,其他元素还存在,要删除整个数组,只需给出数组的名字。例如:

%puts $day(monday)

can't read "day(monday)": no such element in array

% puts $day(tuesday)

2

%unset day

% puts $day(tuesday)

can't read "day(tuesday)": no such variable

3.3.3append和incr

这两个命令提供了改变变量的值的简单手段。

append命令把文本加到一个变量的后面,例如:

% set txt hello

hello

% append txt "! How are you"

hello! How are you

incr命令把一个变量值加上一个整数。incr要求变量原来的值和新加的值都必须是整数。

%set b a

a

% incr b

expected integer but got "a"

%set b 2

2

%incr b 3

5

4表达式

TCL中的表达式类似于ANSI C的表达式。表达式由操作数和操作符构成,下面分别介绍。

4.1操作数

TCL表达式的操作数通常是整数或实数。整数一般是十进制的,但如果整数的第一个字符是0(zero),那么TCL将把这个整数看作八进制的,如果前两个字符是0x则这个整数被看作是十六进制的。TCL的实数的写法与ANSI C中完全一样。如:

2.1

7.9e+12

6e4

3.

4.2运算符和优先级

下面的表格中列出了TCL中用到的运算符,它们的语法形式和用法跟ANSI C中很相似。这里就不一一介绍。下表中的运算符是按优先级从高到低往下排列的。同一格中的运算符优先级相同。

语法形式结果操作数类型

-a !a ~a 负a

非a

int,float

int,float

int

a*b a/b a%b 乘

取模

int,float

int,float

int

a+b a-b 加

int,float

int,float

a<>b 左移位

右移位

int

int

ab a<=b a>=b 小于

大于

小于等于

大于等于

int,float,string

int,float,string

int,float,string

int,float,string

a= =b a!=b 等于

不等于

int,float,string

int,float,string

a&b位操作与int

a^b位操作异或int

a|b位操作或int

a&&b逻辑与int,float

a||b逻辑或int,float

a?b:c选择运算a:int,float

1.1数学函数

TCL支持常用的数学函数,表达式中数学函数的写法类似于C\C++语言的写法,数学函数的参数可以是任意表达式,多个参数之间用逗号隔开。例如:

%set x 2

2

% expr 2* sin($x<3)

1.68294196962

其中expr是TCL的一个命令,语法为: expr arg ?arg ...?

两个?之间的参数表示可省,后面介绍命令时对于可省参数都使用这种表示形式。

expr可以有一个或多个参数,它把所有的参数组合到一起,作为一个表达式,然后求值:%expr 1+2*3

7

%expr 1 +2 *3

7

需要注意的一点是,数学函数并不是命令,只在表达式中出现才有意义。

TCL中支持的数学函数如下

abs( x) Absolute value of x.

acos( x) Arc cosine of x, in the range 0 to p.

asin( x) Arc sine of x, in the range -p/2 to p/2.

atan( x) Arc tangent of x, in the range -p/2 to p/2.

atan2( x, y) Arc tangent of x/ y, in the range -p/2 to p/2.

ceil( x) Smallest integer not less than x.

cos( x) Cosine of x ( x in radians).

cosh( x) Hyperbolic cosine of x.

double( i) Real value equal to integer i.

exp( x) e raised to the power x.

floor( x) Largest integer not greater than x.

fmod( x, y) Floating-point remainder of x divided by y.

hypot( x, y) Square root of ( x 2 + y 2 ).

int( x) Integer value produced by truncating x.

log( x) Natural logarithm of x.

log10( x) Base 10 logarithm of x.

pow( x, y) x raised to the power y.

round( x) Integer value produced by rounding x.

sin( x) Sine of x ( x in radians).

sinh( x) Hyperbolic sine of x.

sqrt( x) Square root of x.

tan( x) Tangent of x ( x in radians).

tanh( x) Hyperbolic tangent of x.

TCL中有很多命令都以表达式作为参数。最典型的是expr命令,另外if、while、for等循环控制命令的循环控制中也都使用表达式作为参数。

2List

list这个概念在TCL中是用来表示集合的。TCL中list是由一堆元素组成的有序集合,list可以嵌套定义,list每个元素可以是任意字符串,也可以是list。下面都是TCL中的合法的list:

{} //空list

{a b c d}

{a {b c} d} //list可以嵌套

list是TCL中比较重要的一种数据结构,对于编写复杂的脚本有很大的帮助,TCL提供了很多基本命令对list进行操作,下面一一介绍:

2.1list命令

语法: list ? value value...?

这个命令生成一个list,list的元素就是所有的value。例:

% list 1 2 {3 4}

1 2 {3 4}

2.2concat命令:

语法:concat list ?list...?

这个命令把多个list合成一个list,每个list变成新list的一个元素。

2.3lindex命令

语法:lindex list index

返回list的第index个(0-based)元素。例:

% lindex {1 2 {3 4}} 2

3 4

2.4llength命令

语法:llength list

返回list的元素个数。例

% llength {1 2 {3 4}}

3

2.5linsert命令

语法:linsert list index value ?value...?

返回一个新串,新串是把所有的value参数值插入list的第index个(0-based)元素之前得到。例:

% linsert {1 2 {3 4}} 1 7 8 {9 10}

1 7 8 {9 10}

2 {

3 4}

2.6lreplace命令:

语法:lreplace list first last ?value value ...?

返回一个新串,新串是把list的第firs (0-based)t到第last 个(0-based)元素用所有的value参数替换得到的。如果没有value参数,就表示删除第first到第last个元素。例:

% lreplace {1 7 8 {9 10} 2 {3 4}} 3 3

1 7 8

2 {

3 4}

% lreplace {1 7 8 2 {3 4}} 4 4 4 5 6

1 7 8

2 4 5 6

2.7lrange 命令:

语法:lrange list first last

返回list的第first (0-based)到第last (0-based)元素组成的串,如果last的值是end。就是从第first个直到串的最后。

例:

% lrange {1 7 8 2 4 5 6} 3 end

2 4 5 6

2.8lappend命令:

语法:lappend varname value ?value...?

把每个value的值作为一个元素附加到变量varname后面,并返回变量的新值,如果varname不存在,就生成这个变量。例:

% lappend a 1 2 3

1 2 3

% set a

1 2 3

2.9lsearch 命令:

语法:lsearch ?-exact? ?-glob? ?-regexp? list pattern

返回list中第一个匹配模式pattern的元素的索引,如果找不到匹配就返回-1。-exact、-glob、-regexp是三种模式匹配的技术。-exact表示精确匹配;-glob的匹配方式和string match命令的匹配方式相同,将在后面第八节介绍string命令时介绍;-regexp表示正规表达式匹配,将在第八节介绍regexp命令时介绍。缺省时使用-glob匹配。例:

% set a { how are you }

how are you

% lsearch $a y*

2

% lsearch $a y?

-1

2.10 lsort命令:

语法:lsort ?options? list

这个命令返回把list排序后的串。options可以是如下值:

-ascii 按ASCII字符的顺序排序比较.这是缺省情况。

-dictionary 按字典排序,与-ascii不同的地方是:

(1)不考虑大小写

(2)如果元素中有数字的话,数字被当作整数来排序.

因此:bigBoy排在bigbang和bigboy之间, x10y 排在x9y和x11y之间.

-integer 把list的元素转换成整数,按整数排序.

-real 把list的元素转换成浮点数,按浮点数排序.

-increasing 升序(按ASCII字符比较)

-decreasing 降序(按ASCII字符比较)

-command command TCL自动利用command 命令把每两个元素一一比较,然后给出排序结果。

2.11 split命令:

语法:split string ?splitChars?

把字符串string按分隔符splitChars分成一个个单词,返回由这些单词组成的串。如果splitChars

是一个空字符{},string被按字符分开。如果splitChars没有给出,以空格为分隔符。例:

% split "how.are.you" .

how are you

% split "how are you"

how are you

% split "how are you" {}

h o w { } a r e { } y o u

2.12 join命令

语法:join list ?joinString?

join命令是命令的逆。这个命令把list的所有元素合并到一个字符串中,中间以joinString分开。缺省的joinString是空格。例:

% join {h o w { } a r e { } y o u} {}

how are you

% join {how are you} .

how.are.you

3控制流

TCL中的控制流和C语言类似,包括if、while、for、foreach、switch、break、continue等命令。下面分别介绍。

3.1if命令

语法: if test1 body1 ?elseif test2 body2 elseif.... ? ?else bodyn?

TCL先把test1当作一个表达式求值,如果值非0,则把body1当作一个脚本执行并返回所得值,否则把test2当作一个表达式求值,如果值非0,则把body2当作一个脚本执行并返回所得值……。例如:

if { $x>0 } {

.....

}elseif{ $x==1 } {

.....

}elseif { $x==2 } {

....

}else{

.....

}

注意,上例中'{'一定要写在上一行,因为如果不这样,TCL 解释器会认为if命令在换行符处已结束,下一行会被当成新的命令,从而导致错误的结果。在下面的循环命令的书写中也要注意这个问题。书写中还要注意的一个问题是if 和{之间应该有一个空格,否则TCL解释器会把'if{'作为一个整体当作一个命令名,从而导致错误。

3.2循环命令:while 、for、 foreach

3.2.1while命令

语法为: while test body

参数test是一个表达式,body是一个脚本,如果表达式的值非0,就运行脚本,直到表达式为0才停止循环,此时while命令中断并返回一个空字符串。

例如:

假设变量 a 是一个链表,下面的脚本把a 的值复制到b:

set b " "

set i [expr [llength $a] -1]

while { $i>=0}{

lappend b [lindex $a $i]

incr i -1

}

3.2.2for命令

语法为: for init test reinit body

参数init是一个初始化脚本,第二个参数test是一个表达式,用来决定循环什么时候中断,第三个参数reinit是一个重新初始化的脚本,第四个参数body也是脚本,代表循环体。下例与上例作用相同:set b " "

for {set i [expr [llength $a] -1]} {$i>=0} {incr i -1} {

lappend b [lindex $a $i] }

3.2.3foreach命令

这个命令有两种语法形式

1。 foreach varName list body

第一个参数varName是一个变量,第二个参数list 是一个表(有序集合),第三个参数body是循环体。每次取得链表的一个元素,都会执行循环体一次。下例与上例作用相同:

set b " "

foreach i $a{

set b [linsert $b 0 $i]

}

2。 foreach varlist1 list1 ?varlist2 list2 ...? Body

这种形式包含了第一种形式。第一个参数varlist1是一个循环变量列表,第二个参数是一个列表list1,varlist1中的变量会分别取list1中的值。body参数是循环体。 ?varlist2 list2 ...?表示可以有多个变量列表和列表对出现。例如:

set x {}

foreach {i j} {a b c d e f} {

lappend x $j $i

}

这时总共有三次循环,x的值为"b a d c f e"。

set x {}

foreach i {a b c} j {d e f g} {

lappend x $i $j

}

这时总共有四次循环,x的值为"a d b e c f {} g"。

set x {}

foreach i {a b c} {j k} {d e f g} {

lappend x $i $j $k

}

这时总共有三次循环,x的值为"a d e b f g c {} {}"。

3.2.4break和continue命令

课课家教育-华为HCNA网络工程师【从入门到精通】自学视频[肖哥]

课课家教育-华为HCNA网络工程师【从入门到精通】自学视频[肖哥] 本课程涉及计算机网络基础知识、企业网常用技术介绍、华为路由器和交换机配置以及网络运维和系统集成常用知识,常用工具介绍、华为模拟器介绍、华为资料和手册。本课程详细讲解大中型企业网络组建、华为网络设备调试、数据包结构、OSI模型、TCP/IP模型、IP 编址、IP子网划分、TCP、UDP、ICMP、H3C命令行简介、STP、MSTP、VLAN、Trunk、NAT、静态路由、RIP、OSPF、Telnet、DHCP、ACL、PPP、链路聚合、VRRP 等。 目录 第1节 HCNA-2-工具介绍 第2节 HCNA-3-Vmware workstation 第4节 HCNA-4-计算机硬件介绍 第5节 HCNA-5-win10新功能 第6节 HCNA-6-安装完系统的后续工作 第7节

HCNA-7-网卡介绍 第8节 HCNA-8-远程桌面和文件共享 第9节 HCNA-9-winPE U盘制作和系统密码破解00:44:13 第10节 HCNA-10-硬盘分区 00:24:48 第11节 HCNA-11-BIOS和磁盘引导 00:53:29 第12节 HCNA-12-操作系统的安装和备份 00:39:08 第13节 HCNA-14-windows 快捷键

00:24:08 第14节 HCNA-13-磁盘引导修复 00:19:01 第14节 HCNA-15-远程控制teamview 00:09:37 第15节 HCNA-16-休眠文件、UltraISO刻录系统盘00:34:40 第16节 HCNA-17-vmware 网络配置 00:35:43 第17节 HCNA-18-windows 操作技巧 00:12:25 第18节

Juniper_华为_H3C设备维护常用命令

Juniper_华为_H3C设备维护常用命令1、[Router&Swithc]华为/H3C设备常规巡检命令 #系统时间 display clock #系统以及各单板软件版本 display version #设备温度 display environment #日志信息 display logbuffer #单板运行状态 display device #电源状态 display device #风扇状态 display device #CPU占用状态 display cpu-usage #存占用率 display memory limit #接口流量 display interface #接口、链路状态 display interface #地址分配 display current-configuration interface# #路由扩散 display current-configuration | include ospf #OSPF(Open Shortest Path First)配置 display router id #路由信息 display ip routing-table #端口统计数据 display ip interface #当前配置文件 display current-configuration #保存配置文件 display saved-configuration 端口使用状态 display interface GigabitEthernet/Ten-GigabitEthernet brief VLAN使用状态 display ip interface brief 2、脚本—华为

Huawei WLAN从入门到精通-基础篇

【WLAN从入门到精通-基础篇】第1期——WLAN定义和基本架构 关于WLAN,相信大家对它早已不陌生了。几乎每天我们都能体验到WLAN给我们的生活带来的高效和便捷。在家里,通过无线路由器,我们不必再端端正正的坐在电脑旁,可以坐在沙发上,躺在床上,甚至可以坐在马桶上收发邮件,在线欣赏欧美大片,尽情享受摆脱有线束缚带来的自由。在候车室,手捧笔记本和Pad的人们正逐渐代替手捧报纸和杂志的人们。走进咖啡厅,越来越多的人第一件事不是点餐,而是询问咖啡厅无线网络的密码……。 随着WLAN的来势汹汹,越来越多的人想了解WLAN技术,WLAN也成为当前热门话题之一。小编不才,愿意和大家一起学习探讨WLAN技术,解决一些WLAN方面的问题。下面请大家泡杯茶,耐心的读完下面这段文字,开始我们知道而又不知道的WLAN之旅吧。 为什么说是知道而又不知道的WLAN呢?其中一个原因是很多人对WLAN已经很熟悉了,都知道WLAN,但是让大家完整的说出WLAN的定义,却很少人能说的出。WLAN的全称是Wireless Local Area Network,中文含义是无线局域网,WLAN的定义有广义和狭义两种:广义上讲WLAN是以各种无线电波(如激光、红外线等)的无线信道来代替有线局域网中的部分或全部传输介质所构成的网络。WLAN的狭义定义是基于IEEE 802.11系列标准,利用高频无线射频(如2.4GHz或5GHz频段的无线电磁波)作为传输介质的无线局域网。 说到这里,大家不妨和我们日常生活中的WLAN联系一下,我们经常听到的“802.11n、2.4G、5G”是不是感觉和WLAN 的狭义定义有种千丝万缕的关系呀?其实,我们日常生活中的WLAN,就是指的WLAN的狭义定义。在WLAN的演进和发展过程中,其实现技术标准有很多,如蓝牙、802.11系列、HyperLAN2等。而802.11系列标准由于其实现技术相对简单、通信可靠、灵活性高和实现成本相对较低等特点,成为了WLAN的主流技术标准,且802.11系列标准也成为了WLAN技术标准的代名词。

华为设备常用查询命令

root默认登陆用户名 admin默认登陆密码 MA5680T> enable进入特权模式 MA5680T # config 进入终端配置 MA5680T (config)# switch language-mode中英文切换MA5680T (config)#display board0查看所有的单板0 是框号 MA5680T (config)# interface gpon0/1进入GPON 命令模式1是PON口号 MA5680T(config-if-gpon-0/1)# port 0 ont-auto-find enable 0 是端口号 MA5680T(config-if-gpon-0/1)#quit MA5680T (config)#display ont autofind all查看自动发现的ONU (如果存在自动发现的ONU则如下所示) --------------------------------------------------------------------- 序列号: 1 框/槽/端口: 0/1/0 ONT SN : 4857544350F5FB0A 密码: 0x30303030303030303030(0000000000) 逻辑标识: 校验码: 生产厂商ID : HWTC ONT版本: MA5626 VER.D

ONT软件版本: V8R308 C00 ONT设备ID : SmartAX MA5626 ONT自动发现时间: 2012-03-19 15:37:40+08:00 --------------------------------------------------------------------- GPON自动发现ONT个数为1 进入config终端配置下查看命令 1、通过端口查看ONU的mac-address MA5680T (config)# display mac-address port 0/1/0 (0/1/0是框号/槽号/端口号) 2、通过VLAN查看ONU的mac-address MA5680T (config)# display mac-address vlan100 ( 100是VLAN id)

交换机常用操作指令-华为(DOC)

华为交换机常用指令 一、交换机设备登陆及配置: 1、设备登陆配置 我中心维护汇聚和热点交换机,交换机类型为5300、2300和GPON,交换机使用secure CRT软件登录。交换机使用之前需要刷机,使用secureCRT配置:协议是serial,端口com12,波特流9600,流控制不配置。刷交换机所需要的信息:在3a模式下用户名和密码;snmp 为网络管理协议,配置网管所需的指令,固定不变; telnet配置——远程登陆配置信息。 登陆汇聚和热点交换机首先93-5交换机(核心交换机),登录协议选择ssh登录,登陆其它交换机在93-5上使用telnet(远程登陆)命令跳转,只能单向。 核心交换机登陆用户名:hanxu69309,密码:Hx#9309。华为汇聚和热点交换机的登陆用户名和密码都为huaweitest。 其他核心交换机的登录地址: 93-5 211.137.192.8 (交换机型号为9312) 65-1 120.192.23.36 (交换机型号为6500) 65-2 120.192.23.37 (交换机型号为6500) 85-1 120.192.22.129 (交换机型号为8500) 85-2 120.192.22.130 (交换机型号为8500) 93-1 211.137.192.1 (交换机型号为9306) 2、交换机配置思路: 配置设备名称。 管理AP所需要配置的信息 管理交换机配置的信息 在3a模式下配置,配置以下用户名和密码。(配置固定) snmp为网络管理协议,下面为加入网管所配置的指令,固定不变。 telnet配置——远程登陆配置信息 3、数据准备: 管理VLAN的ID。 交换机的管理IP。

课课家教育-华为HCNA网络工程师【从入门到精通】自学视频[肖哥]

课课家教育-H3C-H3CNE 华三网络工程师从入门到精通自学视频课程[肖哥] 本课程涉及计算机网络基础知识、企业网常用技术介绍、H3C路由器和交换机配置网络运维,常用工具介绍、H3C模拟器介绍、H3C资料和手册。全国职业院校技能大赛-高职组计算机网络应用赛项讲解。 目录 第1节 H3CNE-1-课程简介 第2节 H3CNE-2-全国职业院校技能大赛介绍 第3节 H3CNE-3-OSI模型、TCP IP模型 第4节 H3CNE-4-IP子网划分(一) 第5节 H3CNE-5-IP子网划分(二) 01:05:58 第6节 H3CNE-6-ICMP

00:23:55 第7节 H3CNE-7-TCP UDP 00:23:29 第8节 H3CNE-8-ARP 00:23:41 第9节 H3CNE-9-H3C命令行简介00:32:09 第10节 H3CNE-10-构建简单企业网络00:12:45 第11节 H3CNE-11-STP 00:39:28 第12节

H3CNE-12-静态路由(一) 00:36:57 第13节 H3CNE-13-静态路由(二) 01:01:41 第14节 H3CNE-14-用SecureCRT连接模拟器00:11:37 第15节 H3CNE-15-Rip 00:30:20 第16节 H3CNE-16-ospf 00:40:37 第17节 H3CNE-17-DHCP 00:17:18

第18节 H3CNE-18-Telnet 远程控制00:12:06 第19节 H3CNE-19-FTP 00:13:05 第20节 H3CNE-20-构建冗余型企业网络00:08:38 第21节 H3CNE-21-vlan 00:26:59 第22节 H3CNE-22-Trunk 00:29:50 第23节 H3CNE-23-vlan间路由

华为常用命令

华为交换机常用命令: 1、display current-configuration //显示当前配置 2、display interface GigabitEthernet 1/1/4 //显示接口信息 3、display packet-filter interface GigabitEthernet 1/1/4 //显示接口acl应用信息 4、display acl all //显示所有acl设置3900系列交换机 5、display acl config all //显示所有acl设置6500系列交换机 6、display arp 10.78.4.1 //显示该ip地址的mac地址,所接交换机的端口位置 7、display cpu //显示cpu信息 8、system-view //进入系统图(配置交换机),等于config t 命令 9、acl number 5000 //在system-view命令后使用,进入acl配置状态 10、rule 0 deny 0806 ffff 24 0a4e0401 ffffffff 40 //在上面的命令后使用,,acl 配置例子 11、rule 1 permit 0806 ffff 24 000fe218ded7 fffffffff 34 //在上面的命令后使用,acl配置例子 12、interface GigabitEthernet 1/0/9 //在system-view命令后使用,进入接口配置状态 13、[86ZX-S6503-GigabitEthernet1/0/9]qos //在上面的命令后使用,进入接口qos配置 14、[86ZX-S6503-qosb-GigabitEthernet1/0/9]packet-filter inbound user-group 5000 //在上面的命令后使用,在接口上应用进站的acl 15、[Build4-2_S3928TP-GigabitEthernet1/1/4]packet-filter outbound user-group 5001 //在接口上应用出站的acl 16、undo acl number 5000 //取消acl number 5000 的设置 17、ip route-static 0.0.0.0 0.0.0.0 10.78.1.1 preference 60 //设置路由 18、reset counters interface Ethernet 1/0/14 //重置接口信息 华为路由器常用命令 [Quidway]dis cur ;显示当前配置[Quidway]display current-configuration ;显示当前配置[Quidway]display interfaces ;显示接口信息[Quidway]display vlan all ;显示路由信息[Quidway]display version ;显示版本信息 [Quidway]super password ;修改特权用户密码[Quidway]sysname ;交换机命名[Quidway]interface ethernet 0/1 ;进入接口视图[Quidway]interface vlan x ;进入接口视图 [Quidway-Vlan-interfacex]ip address 10.65.1.1 255.255.0.0 ;配置VLAN的IP地址 [Quidway]ip route-static 0.0.0.0 0.0.0.0 10.65.1.2 ;静态路由=网关[Quidway]rip ;三层交换支持[Quidway]local-user ftp [Quidway]user-interface vty 0 4 ;进入虚拟终端 [S3026-ui-vty0-4]authentication-mode password ;设置口令模式 [S3026-ui-vty0-4]set authentication-mode password simple 222 ;设置口令 [S3026-ui-vty0-4]user privilege level 3 ;用户级别

(完整版)华为交换机常用命令大全

华为交换机常用配置大全 2010-02-27

目录 一、基础配置举例 (3) 1.1配置文件处理 (3) 1.2配置交换机远程管理 (3) 二、以太网配置举例 (5) 2.1配置端口属性 (5) 2.2配置链路聚合 (7) 2.3配置VLAN (8) 9.配置MSTP (15) 三、可靠性 (22) 3.1配置基于主备份VRRP (22) 3.2配置基于负载分担VRRP (23) 四、IP路由 (25) 4.1配置静态路由 (25) 4.2配置动态路由 (26) 五、IP业务 (28) 5.1配置虚接口IP地址 (28) 5.2DHCP设置 (29) 5.3 ACL 举例 (32) 六、IGMP (33)

七、QOS (34) 八、安全性 (35) 8.1接口安全 (35) 九、网络管理 (36) 9.1简单网络管理协议配置 (36) 十、设备管理 (38) 10.1测试命令 (38) 一、基础配置举例 1.1配置文件处理 导入配置文件 tftp x.x.x.x get vrpcfg.zip vrpcfg.zip 导出配置文件 tftp x.x.x.x put vrpcfg.zip vrpcfg.zip 1.2配置交换机远程管理 aaa 方式 system-view aaa local-user huawei password simple huawei local-user huawei service-type telnet

local-user huawei priority level 3 quit user-interface vty 0 4 authentication-mode aaa quit 没有密码和使用密码认证同上

华为交换机配置命令手册及实验

Huawei 交换机配置命令手册: 1、开始 建立本地配置环境,将主机的串口通过配置电缆与以太网交换机的Console 口连接。在 主机上运行终端仿真程序(如Windows 的超级终端等),设置终端通信参数为:波特 率为9600bit/s、8 位数据位、1 位停止位、无校验和无流控,并选择终端类型为VT100。 以太网交换机上电,终端上显示以太网交换机自检信息,自检结束后提示用户键入回车, 之后将出现命令行提示符(如)。 键入命令,配置以太网交换机或查看以太网交换机运行状态。需要帮助可以随时键入"?" 2、命令视图 (1)用户视图(查看交换机简单运行状态和统计信息):与交换机建立连接即进入 (2)系统视图(配置系统参数)[Quidway]:在用户视图下键入system-view (3)以太网端口视图(配置以太网端口参数)[Quidway-Ethernet0/1]:在系统视图下键入interface ethernet 0/1 (4)VLAN 视图(配置VLAN 参数)[Quidway-Vlan1]:在系统视图下键入vlan 123 (5)VLAN 接口视图(配置VLAN 和VLAN 汇聚对应的IP 接口参数)[Quidway-Vlan- interface1]:在系统视图下键入interface vlan-interface 123 (6)本地用户视图(配置本地用户参数)[Quidway-luser-user1]:在系统视图下键入local- user user1 (7)用户界面视图(配置用户界面参数)[Quidway-ui0]:在系统视图下键入user-interface 3、其他命令 设置系统时间和时区clock time Beijing add 8 clock datetime 12:00:00 2005/01/23 设置交换机的名称[Quidway]sysname TRAIN-3026-1[TRAIN-3026-1]

华为网络工程师基础教程

基础教程 西南师范大学网络技术室整理 2005.5

“网络工程师培训”基础教程 第一章网络基础知识第一章网络基础知识 .1培训目标 本章介绍网络的基础知识,包括网络的演进和层次化模型、TCP/IP 协议简介、局域网和广域网的定义及常用设备原理、常用协议原理与常用组网方式、一些协议特性的比较、以及不同的费用和性能需求下网络组网方式的选用。

.2网络的演进与层次模型 .2.1网络的演进 六十至七十年代,网络的概念主要是基于主机架构的低速串行联接,提供应用程序执行、远程打印和数据服务功能。IBM 的 SNA 架构与非IBM 公司的 X.25 公用数据网络是这种网络的典型例子。 七十至八十年代,出现了以个人电脑为主的商业计算模式。最初,个人电脑是独立的设备,由于认识到商业计算的复杂性,局域网产生了。局域网的出现,大大降低了商业用户打印机和磁盘昂贵的费用。 八十年代至九十年代,远程计算的需求不断地增加,迫使计算机界开发出多种广域网络协议,满足不同计算方式下远程联接的需求,网间网的互联极大程度地发展起来。

.2.2 OSI 七层模型及其功能 在七十年代末,国际标准化组织 ISO 提出了开放系统互连参考模型。协议分层大大简化了网络协议的复杂性,这实际也是自顶向下、逐步细化的程序设计方法的很好的应用。网络协议按功能组织成一系列“层”,每一层建筑在它的下层之上。分成的层数,每一层的名字、功能,都可以不一样,但是每一层的目的都是为上层提供一定的服务,屏蔽低层的细节。 物理层涉及到通信在信道上传输的原始比特流,它实现传输数据所需要的机械、电气、功能性及过程等手段。 数据链路层的主要任务是提供对物理层的控制,检测并纠正可能出现的错误,使之对网络层显现一条无错线路;并且进行流量调控。 网络层检查网络拓扑,以决定传输报文的最佳路由,其关键问题是确定数据包从源端到目的端如何选择路由。 传输层的基本功能是从会话层接受数据,并且在必要的时候把它分成较小的单元,传递给网络层,并确保到达对方的各段信息正确无误。会话层允许不同机器上的用户建立会话关系,在协调不同应用程序之间的通信时要涉及会话层,该层使每个应用程序知道其它应用程序的状态。 表示层关注于所传输的信息的语法和意义,它把来自应用层与计算机有关的数据格式处理成与计算机无关的格式。 应用层包含大量人们普遍需要的协议,并且具有文件传输功能。其任务是显示接收到的信息,把用户的新数据发送到低层。

华为交换机A配置与管理

A A A配置与管理 一、基础 1、AAA是指:authentication(认证)、authorization(授权)、accounting(计费)的简称,是网络安全的一种管理机制;Authentication 是本地认证/授权,authorization和accounting是由远处radius(远程拨号认证系统)服务或hwtacacs(华为终端访问控制系统)服务器完成认证/授权;AAA是基于用户进行认证、授权、计费的,而NAC方案是基于接入设备接口进行认证的。 在实际应用中,可以使用AAA的一种或两种服务。 2、AAA基本架构: C/S结构,AAA客户端(也叫NAS-网络接入服务器)是使能了aaa功能的网络设备(可以是一台或多台、不一定是接入设备) 3、AAA基于域的用户管理: 通过域来进行AAA用户管理,每个域下可以应用不同的认证、授权、计费以及radius或hwtacacs服务器模板,相当于对用户进行分类管理缺省情况下,设备存在配置名为default(全局缺省普通域)和default_admin(全局缺省管理域),均不能删除,只能修改,都属于本地认证;default为接入用户的缺省域,default_admin为管理员账号域(如http、ssh、telnet、terminal、ftp用户)的缺省域。 用户所属域是由域分隔符后的字符串来决定的,域分隔符可以是@、|、%等符号,域,如果用户名不带@,就属于系统缺省default域。 自定义域可以被配置为全局缺省普通域或全局缺省管理域,但域下配置

的授权信息较AAA服务器的授权信息优先级低,通常是两者配置的授权信息一致。 4、radius协议 Radius通过认证授权来提供接入服务、通过计费来收集、记录用户对网络资源的使用。 定义UDP 1812、1813作为认证(授权)、计费端口 Radius服务器维护三个数据库: Users:存储用户信息(用户名、口令、使用的协议、IP地址等) Clients:存储radius客户端信息(接入设备的共享密钥、IP地址) Dictionary:存储radius协议中的属性和属性值含义 Radius客户端与radius服务器之间通过共享密钥来对传输数据加密,但共享密钥不通过网络来传输。 5、hwtacacs协议 Hwtacacs是在tacacs(rfc1492)基础上进行了功能增强的安全协议,与radius协议类似,主要用于点对点PPP和VPDN(virtual private dial-up network,虚拟私有拨号网络)接入用户及终端用户的认证、授权、计费。与radius相比,具有更加可靠的传输和加密特性,更加适合于安全控制。 Hwtacacs协议与其他厂商支持的tacacs+协议的认证流程和实现方式是一致的,能够完全兼容tacacs+协议 6、华为设备对AAA特性的支持 支持本地、radius、 hwtacacs三种任意组合 本地认证授权:

华为TDLTE后台常用MML命令操作图文展示说明

RNC机房操作指导总结 一.T D-LTE组网简介 整个TD-LTE系统由3部分组成,核心网(EPC),接入网(eNodeB),用户设备(UE).EPC 又分为三部分:MME 负责信令处理部分,S-GW 负责本地网络用户数据处理部分 P-GW 负责用户数据包与其他网络的处理。接入网也称E-UTRAN,由eNodeB构成。eNodeB与EPC之间的接口称为S1接口,eNodeB之间的接口称为X2接口,eNodeB与UE之间的接口称为Uu接口。 二.L TE网管客户端安装 1、LTE网管系统目前有两套,一套为M2000系统,另一套为新版OMC920系统,两套系统主 要功能基本相同,但后者将TDS系统统一整合进来; 2、LTE网管的安装:系统的安装:M2000网管系统的安装,首先在IE地址栏中,输入IP地 址/,然后下载安装,OMC920网管系统,则要输入IP地址,然后下载安装; 3、OMC920系统网管安装成功后,需要将附件hosts文件复制到 C:\WINDOWS\system32\drivers\etc目录下,替换系统自带的hosts文件,否则登录时会出现异常,M2000系统没有此类问题;后面操作因M2000与OMC920类似,故仅以OMC920网管系统为例说明; 三.L TE网管客户端登录 登陆网管OMC920客户端。打开客户端后,显示的是“用户登陆”,需要填写,用户名,密码,当多个OMC920客户端登陆时,需点击服务器下拉菜单,增加网元信息。 成功登录后进入OMC920网管系统首页,内容包括各类维护操作的菜单栏、工具栏和一些快捷工具图示等;OMC维护系统包括MML命令、结果查询、监控和维护等主要功能,后面对这些具体功能进行详细介绍; 四.L TE常用的操作 4.1 eNodeB MML常用命令 在网络规划和优化工作中,对单个eNodeB进行远端操作维护的情况较少,一般都可以在M2000下对eNodeB进行相关的操作。

华为交换机配置入门到精通精编版

入门篇 TELNET远程管理交换机配置 一组网需求: 1.PC通过telnet登陆交换机并对其进行管理; 2.分别应用帐号+密码方式、仅密码方式以及radius认证方式; 3.只允许192.1.1.0/24网段的地址的PC TELNET访问。 二组网图: 作为telnet登陆主机的PC与Switch A之间通过局域网互连(也可以直连),PC可以ping通Switch A。 三配置步骤: 1 H3C S3100-SI S5100系列交换机TELNET配置流程 账号+密码方式登陆 1.配置TELNET登陆的ip地址 system-view [SwitchA]vlan 2 [SwitchA-vlan2]port Ethernet 1/0/1 [SwitchA-vlan2]quit [SwitchA]management-vlan 2 [SwitchA]interface vlan 2 [SwitchA-Vlan-interface2]ip address 192.168.0.1 24 2.进入用户界面视图 [SwitchA]user-interface vty 0 4 3.配置本地或远端用户名+口令认证方式 [SwitchA-ui-vty0-4]authentication-mode scheme 4.配置登陆用户的级别为最高级别3(缺省为级别1)

[SwitchA-ui-vty0-4]user privilege level 3 5.添加TELNET管理的用户,用户类型为”telnet”,用户名为”huawei”,密码为” admin”[SwitchA]local-user huawei [SwitchA-luser-huawei]service-type telnet level 3 [SwitchA-luser-huawei]password simple admin 仅密码方式登陆 1.配置TELNET登陆的ip地址(与上面账号+密码登陆方式相同) 2.进入用户界面视图 [SwitchA]user-interface vty 0 4 3.设置认证方式为密码验证方式 [SwitchA-ui-vty0-4]authentication-mode password 4.设置登陆验证的password为明文密码”huawei” [SwitchA-ui-vty0-4]set authentication password simple huawei 5.配置登陆用户的级别为最高级别3(缺省为级别1) [SwitchA-ui-vty0-4]user privilege level 3 TELNET RADIUS验证方式配置 1.配置TELNET登陆的ip地址(与上面账号+密码登陆方式相同) 2.进入用户界面视图 [SwitchA]user-interface vty 0 4 3.配置远端用户名和口令认证 [SwitchA-ui-vty0-4]authentication-mode scheme 4.配置RADIUS认证方案,名为”cams” [SwitchA]radius scheme cams 5.配置RADIUS认证服务器地址192.168.0.31 [SwitchA-radius-cams]primary authentication 192.168.0.31 1812 6.配置交换机与认证服务器的验证口令为”huawei” [SwitchA-radius-cams]key authentication huawei 7.送往RADIUS的报文不带域名 [SwitchA-radius-cams]user-name-format without-domain 8.创建(进入)一个域,名为”huawei”

交换机(思科华为华三)产品日常维护指导书

H3C S7500E V7产品日常维护指导书 V0.0 杭州华三通信技术有限公司

修订记录

目录 第1章日常维护建议 (2) 1.1 S7500E V7日常维护建议 (2) 1.2 S7500E产品运维建议 (3) 第2章维护操作指导 (24) 2.1 H3C S7500E V7设备日常维护操作指导 (24) 2.2 H3C S7500E V7设备季度维护操作指导 (25) 2.3 H3C S7500E V7设备年度维护操作指导 (25) 第3章维护记录表格 (26) 3.1 H3C S7500E V7设备日常维护值班日志 (26) 3.2 H3C S7500E V7设备季度维护记录表 (27) 3.3 H3C S7500E V7设备年度维护记录表 (28) 3.4 H3C S7500E V7设备突发问题处理记录表 (29) 3.5 硬件更换记录表 (30) 3.6 系统参数修改记录表 (31) 第4章常见故障处理 (32) 4.1 密码忘记问题处理 (32) 4.1.1 遗忘CONSOLE密码 (32) 4.1.2 遗忘Telnet登录密码 (43) 4.2 业务板运行过程中发生故障导致无法启动 (46) 4.2.1 故障描述 (46) 4.2.2 故障处理步骤 (46) 4.3 电源运行中上报Fault问题处理方法 (48) 4.3.1 故障现象 (48) 4.3.2 故障处理步骤 (48) 4.4 风扇框状态异常问题处理方法 (50) 4.4.1 故障描述 (50) 4.4.2 故障处理步骤 (50) 4.5 配置系统故障 (51) 4.5.1 客户侧判断 (51) 4.5.2 设备侧判断 (51)

华为视频会议入门手册范本

...../ 更多资料请访问.(.....) ...../ 华为视频会议入门手册 关于技术 Q1.什么是视频会议系统? A视频会议是利用现有通信网(包括各种传输网络)和数字信号压缩处理技术,将音视频和数据信号处理后传到远端,实现面对面的交流。其交流形式为点到点,点对多点。主要设备包括MCU(多点控制单元)、视频会议终端、网关、网守和相关的配套外围设备。如显示设备,音响系统等。 Q2.视频会议系统的作用是什么? A视频会议可以实现数据、视频、语音应用的有机融合与网络资源的高效利用,与远在千里之外的人进行面对面交谈,做到远在天边,近在咫尺,并能够随时自主地组织和召开会议,进行业务调度、远程管理、信息交流、技术培训等等,节约时间和差旅经费,大大提高工作效率。 Q3.视频会议的发展趋势? A视频会议的发展经历了四代: 第一代是70年代。采用模拟传输,占用带宽大(960个话路),因此用户极少。 第二代是80年代。其传输由模拟转为数字传输,由最初的数字静态传输到动态图像传输,占用带宽8—34Mbps。 第三代为90年代。视频会议采用了国际电联(ITU)标准H.320。正是进入商用领域。传输带宽为 64Kbps-2Mbps。 第四代为21世纪。视频会议进入多媒体通信。基于国际标准H.323和SIP,将音频、视频和数据融合与一体。适用于不同的用户,不同需求的融合通信。

Q4.视频会议系统对网络的需求是什么? A视频会议系统可以广泛运行于IP、ISDN、FR、DDN、卫星网络等各种网络环境中。华为终端提供E1、IP、ISDN等多种线路接口。 Q5.建立视频会议系统的成本包括那些? A视频会议系统的建设成本分为建设费和使用费。建设费是一次性投资,包括视频会议设备的购买费用,基础网络的建设费用和会议室的装修费用。使用费主要包括网络的使用费用,如电信线路的租费等。 Q6.视频会议有哪些国际标准? A视频会议行业的国际标准是由ITU(国际电信联合会)和IETF(国际工程师组织)制定的。主要以字母H开头。 视频会议行业的国际标准有H.320、H.323和SIP(H.324)三个主要的标准集。其中H.323是目前主流的标准。SIP是已经确定的下一代标准。常用的算法如下: 图像处理算法有:H.261、H.263、H.263++和H.264 图像清晰度:CIF(VCD)、4CIF(DVD)和10CIF(HD,16:9数字高清电视) 声音处理算法有:G.711、G.722、G.722.1AnnexC、G.723、G.728和G.729 声音清晰度:3.4KHz(电话音质)、7KHz(调幅收音机音质)、14KHz(调频收音机音质)和20KHz (CD音质) 双流算法有:H.239 加密通信算法有:H.235 Q7.采购视频设备的时候需要注意什么? A稳定性、安全性、音视频质量、产品可扩展性、售后服务和性价比。 Q8.在采购视频设备时,采用整体解决方案的好处是什么? A采购整体解决方案好。

华为NE40E、NE80E常用维护命令

1、display cu 常用参数: config 看部分配置 include 举例: display cu config ospf 显示ospf 部分配置 display cu config bgp 显示BGP部分配置 该命令与在ospf视图下执行display this显示结果一致 display cu | include ip route 查看配置的全部静态路由 2、display interface brife 查看接口的状态和接口流量百分比 3、display ip interface brife 查看三层接口的IP地址和接口状态 4、接口光功率查看说明 在V3R3的版本上可以看到所有的接口光功率,执行display interface x/x/x 在V3R2的版本上(目前所有话音域的CE)只能通过命令看到Pos接口的光功率[router]_ sfp-debug 10 0 0 //sfp-debug 后面的参数是槽位子卡端口 5、目前V3R3版本开启了接口光功率检测 所有光接口不使用,请关闭,否则会存在告警,执行display alarm all可以看到光模块的告警。 6、NE40E&NE80E故障CF卡信息收集 当出现单板复位、无法注册、异常告警信息时,请提供cfcard2:/下面的日志文件和Dia文件用户视图下执行 将log.txt和diag.txt文件下载。 对于承载网CE,需要在设备上添加到维护地址的静态路由。然后在维护PC上启用FTP,或者TFTP,将cfcard2:/log/下面的文件下载到PC上。 cd cfcard2:/ cd log pwd cfcard2:/log dir Directory of cfcard2:/log/ Idx Attr Size(Byte) Date Time FileName 0 -rw- 2,865,526 Feb 08 2010 03:55:20 diag.txt 1 -rw- 6,725,176 Feb 08 2010 11:25:20 log.txt 7、NE40E&NE80E设备单板编码查看方法

华为网管日常常用命令

脚本运行:搜索——集中任务管理——其他——MML脚本——创建选择串行 导出主控板一键式日志:软件——网元文件传输——从网元上传到OSS客户端 算法开关值:-1是开,0是关 1、LST CELL:; 小区静态信息 2、DSP CELL:; 小区动态参数 3、LST CNOPERATORTA:; 查询跟踪区 4、LST ENODEBFUNCTION:; 查询eNodeB功能配置,包括eNodeB标识、用户标签、网元资源模型版本 5、LST CELLDLPCPDSCHPA:; 查询PDSCH功率控制PA相关参数 MOD CELLDLPCPDSCHPA:; 6、LST PDSCHCFG:; 查询PDSCH配置信息(PRS以及PB) MOD PDSCHCFG:; 7、LST CELLPDCCHALGO:; 查询PDCCH资源分配算法的相关参数 MOD CELLPDCCHALGO:; 8、LST EUTRANEXTERNALCELL:; 查询EUTRAN外部小区 ADD EUTRANEXTERNALCELL:MCC="460",MNC="11",ENODEBID=558975,CELLID=49,DLEARFCN=1750,U LEARFCNCFGIND=NOT_CFG,PHYCELLID=27,TAC=34932; 添加外部小区 9、LST EUTRANINTRAFREQNCELL:; 查看同频邻区关系 MOD EUTRANINTRAFREQNCELL:; 修改同频邻区关系 ADD EUTRANINTRAFREQNCELL:LOCALCELLID=0,MCC="460",MNC="11",ENODEBID=558880,CELLID=49;添加同频邻区 备注:参数中有2个可选项,小区偏移量(CIO)用于控制切换,值越大,越容易切换;小区偏置控制重选,越小越容易重选。 10、LST EUTRANINTERFREQNCELL:; 查看异频邻区关系 MOD EUTRANINTERFREQNCELL:; 修改异频邻区关系 11、LST CELLRESEL :; 查看小区重选相关信息

华为配置命令(HCNA入门部分)

HCNA入门部分 一、命令行基础 用户视图;[Huawei]系统视图 逐级退出:quit;完全退出:Ctrl+Z;打断:Ctrl+C 1、修改设备名称: [Huawei]sysname R1 2、配置系统时钟: 设置所在时区:clock timezone beijing add 08:00:00 设置当前时间:clock datetime 16:35:25 2018-03-29 设置采用夏时制:clock daylight-saving-time 3、配置标题消息: 配置在用户登陆前显示的标题消息:[R1]header login information "welcome to R1" 配置在用户登陆后显示的标题消息:[R1]header shell information "no reboot R1" 4、配置特定等级用户在特定视图具有特定命令: [R1]command-privilege level 15 view user save 5、为VRP系统创建账户(创建账户缺省是level15,服务类型包括terminal): [R1]aaa [R1-aaa]local-user admin privilege level 15 password cipher huawei [R1-aaa]local-user admin service-type terminal(用于指定账户的服务类型,默认是ALL) 6、在console口配置使用超级终端登录时的验证方式(缺省时不验证): [R1]user-interface console 0 [R1-ui-console0]authentication-mode aaa 7、用户界面:VTY虚拟类型终端: [R1]user-interface vty 0 4 [R1-ui-vty0-4]authentication-mode password(或者aaa) 8、配置登录的超时时间(缺省是10分钟): [R1]user-interface console 0 [R1]-ui-console0]idle-timeout 5 0 9、指定终端屏幕临时显示的行数(缺省是24行): [R1]user-interface console 0

LTE网规网优基础知识问答汇总(全集)-华为

问题描述: 为什么要从3G向LTE演进? 问题答复: LTE(Long Term Evolution)是指3GPP组织推行的蜂窝技术在无线接入方面的最新演进,对应核心网的演进就是SAE(System Architecture Evolution)。之所以需要从3G演进到LTE,是由于近年来移动用户对高速率数据业务的要求,同时新型无线宽带接入系统的快速发展,如WiMax的出现,给3G系统设备商和运营商造成了很大的压力。在LTE系统设计之初,其目标和需求就非常明确:降低时延、提高用户传输数据速率、提高系统容量和覆盖围、降低运营成本: 显著的提高峰值传输数据速率,例如下行链路达到100Mb/s,上行链路达到 50Mb/s; 在保持目前基站位置不变的情况下,提高小区边缘比特速率; 显著的提高频谱效率,例如达到3GPP R6版本的2~4倍; 无线接入网的时延低于10ms; 显著的降低控制面时延(从空闲态跃迁到激活态时延小于100ms(不包括寻呼 时间)); 支持灵活的系统带宽配置,支持1.4MHz、3MHz、5MHz、10MHz、15MHz、 20MHz带宽,支持成对和非成对频谱; 支持现有3G系统和非3G系统与LTE系统网络间的互连互通; 更好的支持增强型MBMS; 系统不仅能为低速移动终端提供最优服务,并且也应支持高速移动终端,能为 速度>350km/h的用户提供100kbps的接入服务; 实现合理的终端复杂度、成本、功耗; 取消CS域,CS域业务在PS域实现,如VOIP; 问题描述: LTE扁平网络架构是什么? 问题答复: LTE的接入网E-UTRAN由eNodeB组成,提供用户面和控制面; LTE的核心网EPC(Evolved Packet Core)由MME,S-GW和P-GW组成; eNodeB间通过X2接口相互连接,支持数据和信令的直接传输;

相关主题
文本预览
相关文档 最新文档