-
[转]linux入门常用命令
2008-11-27 11:52:03
转自:
http://www.91linux.com/html/article/cmd/20070107/94.html
Linux文件的复制、删除和移动命令
cp命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
Linux目录的创建与删除命令
mkdir命令功能:创建一个目录(类似MSDOS下的md命令)。
语法:mkdir [选项] dir-name
说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。
命令中各选项的含义为:
- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
rmdir 命令
功能:删除空目录。
语法:rmdir [选项] dir-name
说明:dir-name表示目录名。该命令从一个目录中删除一个或多个子目录项。需要 特别注意的是,一个目录被删除之前必须是空的。rm - r dir命令可代替 rmdir,但是有危险性。删除某目录时也必须具有对父目录的写权限。
命令中各选项的含义为:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。
cd 命令
功能:改变工作目录。
语法:cd [directory]
说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory, 则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。
该命令可以使用通配符(通配符含义请参见第十章)。
pwd 命令在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用 户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
语法:pwd
说明:此命令显示出当前工作目录的绝对路径。
ls 命令
ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。
语法:ls [选项] [目录或是文件]
对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出 其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
命令中各选项的含义如下:
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- b 对文件名中的不可显示字符用八进制逃逸字符显示。
- c 按文件的修改时间排序。
- C 分成多列显示各项。
- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使 用,以得到目录的详细信息。
- f 不排序。该选项将使lts选项失效,并使aU选项有效。
- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
- i 在输出的第一列显示文件的i节点号。
- l 以长格式来显示文件的详细信息。这个选项最常用。
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
目录中的总块数显示在长格式列表的开头,其中包含间接块。
- L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。
- m 输出按字符流格式,文件跨页显示,以逗号分开。
- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
- o 与l选项相同,只是不显示拥有者信息。
- p 在目录后面加一个“/”。
- q 将文件名中的不可显示字符用“?”代替。
- r 按字母逆序或最早优先的顺序显示输出结果。
- R 递归式地显示指定目录的各个子目录中的文件。
- s 给出每个目录项所用的块数,包括间接块。
- t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修 改时间。
- u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间 标记修改为最后一次访问的时间。
- x 按行显示出各排序项的信息。
用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
后面的9个字符表示文件的访问权限,分为3组,每组3位。
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字 符分别表示对文件的读、写和执行权限。
各权限如下所示:
r 读
w 写
x 执行。对于目录,表示进入权限。
s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行 后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
mv命令
用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MSDOS下的ren和move的组合。
语法:mv [选项] 源文件或目录 目标文件或目录
说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
- I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
- f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。
rm命令
用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。
rm命令的一般形式为:
rm [选项] 文件…
如果没有使用- r选项,则rm不会删除目录。
该命令的各选项含义如下:
- f 忽略不存在的文件,从不给出提示。
- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。
Linux文本处理命令
sort命令sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。
Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。
语法:
sort [选项] 文件
说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“- ”,则表示排序内容来自标准输入。
sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。
改变缺省设置的选项主要有:
- m 若给定文件已排好序,合并文件。
- c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。
- u 对排序后认为相同的行只留其中一行。
- o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。
改变缺省排序规则的选项主要有:
- d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。
- f 将小写字母与大写字母同等对待。
- I 忽略非打印字符。
- M 作为月份比较:“JAN”<“FEB”
- r 按逆序输出排序结果。
+posl - pos2 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。
- b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。
- t separator 指定字符separator作为字段分隔符。
uniq命令
文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。
语法:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。
该命令各选项含义如下:
- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
- d 只显示重复行。
- u 只显示文件中不重复的各行。
- n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
- f n 与- n相同,这里n是字段数。
- s n 与+n相同,这里n是字符数。
Linux备份与压缩命令
tar命令tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。 tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
辅助选项:
b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
语法:gzip [选项] 压缩(解压缩)的文件名
各选项的含义:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
unzip命令
用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
语法:unzip [选项] 压缩文件名.zip
各选项的含义分别为:
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
在Linux环境下运行DOS命令
Linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读、写文件和目录。它们对DOS和 Linux环境之间交换文件非常有用。它们是不具备共同的文件系统格式的系统之间交换文件的有力手段。对于一个MSDOS的软盘,只要把软盘放在软驱中,就可以利用mtools提供的命令来访问软盘上的文件。mtools的主要命令如下:
mcd 目录名 改变MSDOS目录;
mcopy 源文件 目标文件 在MSDOS和Unix之间复制文件;
mdel 文件名 删除MSDOS文件;
mdir 目录名 显示MSDOS目录;
mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统;
rnlabel 驱动器号 产生MSDOS卷标;
mmd 目录名 建立MSDOS目录;
mrd 目录名 删除MSDOS目录;
mren 源文件 目标文件 重新命名已存在的MSDOS文件;
mtype 文件名 显示MSDOS文件的内容。
提示:这些命令和对应的MSDOS命令非常相似。
-
[转] linux cp命令详解
2008-11-26 17:19:16
转自:
http://www.91linux.com/html/article/cmd/20070522/2295.html
cp命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
-
[转] linux下FTP命令详解
2008-11-26 16:17:02
转自:
http://www.91linux.com/html/article/cmd/20070624/2949.html
FTP> ! 从 ftp 子系统退出到外壳。
FTP> ? 显示 ftp 命令说明。? 与 help 相同。
格式:? [command]
说明:[command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。FTP> append 使用当前文件类型设置将本地文件附加到远程计算机上的文件。
格式:append local-file [remote-file]
说明:local-file 指定要添加的本地文件。
remote-file 指定要添加 local-file 的远程计算机上的文件。如果省略了 remote-file,本地文件名将被用作远程文件名。FTP> ascii 将文件传送类型设置为默认的 ASCII。
说明:FTP 支持两种文件传送类型,ASCII 码和二进制图像。在传送文本文件时应该使用ASCII。FTP> bell 切换响铃以在每个文件传送命令完成后响铃。默认情况下,铃声是关闭的。
FTP> binary(或bi) 将文件传送类型设置为二进制。
FTP> bye(或by) 结束与远程计算机的 FTP 会话并退出 ftp。
FTP> cd 更改远程计算机上的工作目录。
格式:cd remote-directory
说明:remote-directory 指定要更改的远程计算机上的目录。FTP> close 结束与远程服务器的 FTP 会话并返回命令解释程序。
FTP> debug 切换调试。当调试打开时,发送到远程计算机的每个命令都打印,前面是字符串“>”。默认情况下,调试是关闭的。
FTP> delete 删除远程计算机上的文件。
格式:delete remote-file
说明:remote-file 指定要删除的文件。FTP> dir 显示远程目录文件和子目录列表。
格式:dir [remote-directory] [local-file]
说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。Local-file 指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。FTP> disconnect 从远程计算机断开,保留 ftp 提示。
FTP> get 使用当前文件转换类型将远程文件复制到本地计算机。
格式:get remote-file [local-file]
说明:remote-file 指定要复制的远程文件。
Local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。FTP >glob 切换文件名组合。组合允许在内部文件或路径名中使用通配符(*和?)。默认情况下,组合是打开的。
FTP >hash 切换已传输的每个数据块的数字签名 (#) 打印。数据块的大小是2048 字节。默认情况下,散列符号打印是关闭的。
FTP >help 显示 ftp 命令说明。
格式:help [command]
说明:command 指定需要有关说明的命令的名称。如果没有指定 command,ftp 将显示全部命令的列表。FTP >lcd 更改本地计算机上的工作目录。默认情况下,工作目录是启动 ftp 的目录。
格式:lcd [directory]
说明:directory 指定要更改的本地计算机上的目录。如果没有指定directory,将显示本地计算机中当前的工作目录。FTP >literal 将参数逐字发送到远程 FTP 服务器。将返回单个的 FTP 回复代码。
格式:literal argument [ …]
说明:argument 指定要发送到 FTP 服务器的参数。FTP >ls 显示远程目录文件和子目录的缩写列表。
格式:ls [remote-directory] [local-file]
说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。 local-file 指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。FTP >mdelete 删除远程计算机上的文件。
格式:mdelete remote-files [ …]
说明:remote-files 指定要删除的远程文件。FTP >mdir 显示远程目录文件和子目录列表。可以使用 mdir 指定多个文件。
格式:mdir remote-files [ …] local-file
说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 - 使用远程计算机上的当前工作目录。
local-file 指定要还原列表的本地文件。请键入- 在屏幕上显示列表。FTP >mget 使用当前文件传送类型将远程文件复制到本地计算机。
格式:mget remote-files [ …]
说明:remote-files 指定要复制到本地计算机的远程文件。FTP >mkdir 创建远程目录。
格式:mkdir directory
说明:directory 指定新的远程目录的名称。
FTP >mls 显示远程目录文件和子目录的缩写列表。格式:mls remote-files [ …] local-file
说明:remote-files 指定要查看列表的文件。必须指定 remote-files;
请键入- 使用远程计算机上的当前工作目录。
local-file 指定要存储列表的本地文件。请键入 - 以在屏幕上显示列表。FTP >mput 使用当前文件传送类型将本地文件复制到远程计算机上。
格式:mput local-files [ …]
说明:local-files 指定要复制到远程计算机的本地文件
FTP >open 与指定的 FTP 服务器连接。
格式:open computer [port]
说明:computer 指定要连接的远程计算机。可以通过 IP 地址或计算机名称指定计算机(DNS 或主机文件必须可用)。如果自动登录打开(默认),ftp 还将尝试自动将用户登录到 FTP 服务器port 指定用来联系 FTP 服务器的端口号。FTP >prompt 切换提示。如果关闭提示时 mget 及 mput 传送所有文件,Ftp在多文件传送过程中将提示允许您有选择地检索或存储文件。默认情况下,提示是
打开的。FTP >put 使用当前文件传送类型将本地文件复制到远程计算机上。
格式:put local-file [remote-file]
说明:local-file 指定要复制的本地文件。
remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。FTP >pwd 显示远程计算机上的当前目录。
FTP >quit 结束与远程计算机的 FTP 会话并退出 ftp。
FTP >quote 将参数逐字发送到远程 FTP 服务器。将返回单个的 FTP 回复代码。
Quote 与 literal 相同。
格式:quote argument [ …]
说明:argument 指定要发送到 FTP 服务器的参数。FTP >recv 使用当前文件传送类型将远程文件复制到本地计算机。Recv 与 get相同。
格式:recv remote-file [local-file]
说明:remote-file 指定要复制的远程文件。
local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。FTP >remotehelp 显示远程命令帮助。
格式:remotehelp [command]
说明:command 指定需要帮助的命令的名称。如果没有指定 command,ftp将显示全部远程命令的列表。FTP >rename 重命名远程文件。
格式:rename filename newfilename
说明:filename 指定要重命名的文件。 newfilename 指定新的文件名。FTP >rmdir 删除远程目录。
格式:rmdir directory
说明:directory 指定要删除的远程目录的名称。FTP >send 使用当前文件传送类型将本地文件复制到远程计算机上。Send 与put 相同。
格式:send local-file [remote-file]
说明:local-file 指定要复制的本地文件。 remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。FTP >status 显示 FTP 连接和切换的当前状态。
FTP >trace 切换数据包跟踪。Trace 在运行 ftp 命令时显示每个数据包的路由。
FTP >type 设置或显示文件传送类型。
格式:type [type-name]
说明:type-name 指定文件传送类型。默认设置为 ascii。如果没有指定type-name,将显示当前的类型。FTP >user 指定远程计算机的用户。
格式:user username [password] [account]
说明:user-name 指定登录到远程计算机所使用的用户名。password 指定 user-name 的密码。如果没有指定,但必须指定,ftp 会提示输入密码。
account 指定登录到远程计算机所使用的帐户。如果没有指定account,但是需要指定,ftp 会提示您输入帐户。FTP >verbose 切换 verbose 模式。如果打开,将显示所有 ftp 响应。在文件传送完成后,将同时显示与传送效率有关的统计信息。默认情况下,verbose 是打开的。
-
[转] linux rm命令详解
2008-11-26 14:31:03
转自:
http://www.admin99.net/read.php/43.htm
linux rm(remove) 命令详解
功能说明:删除文件或目录。
语 法:rm [-dfirv][--help][--version][文件或目录...]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。
参 数:
-d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或--force 强制删除文件或目录。
-i或--interactive 删除既有文件或目录之前先询问用户。
-r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--version 显示版本信息。 -
[转] linux 命令 usermod
2008-11-25 17:10:26
转自:
http://blog.csdn.net/jsmxf/archive/2008/05/12/2437582.aspx
功能说明:修改用户帐号。
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][- f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ] [用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。 -
[转] linux下的安装包介绍
2008-11-25 10:32:39
转自:
http://www.51testing.com/html/200811/n98067.html
这个对于新手来说,也是比较困惑的问题,谈谈我对这个问题的认识。
一:rpm包
rpm包,分两种,binary rpm 跟 source rpm
binary rpm,就是我们平时用的最多的,已经编译好的,直接安装就可以了。
以前学linux的时候,老想通过rpm来安装软件,不过你通过rpm安装,是够简单了,但是你没有什么地方可以设置的,这就像当年一个老师说过的,比如装windows,ms的专家装和我装,没有任何的区别,因为没有任何你可以操作的地方。
用rpm安装其实就是这样,好处当然是简单,一切安装默认。省时间,快,
二:源码
如果我们下载的是源码,那么这里就关系到一个编译。
linux下都是用c开发的程序,那么用c开发的程序,如何才能让cpu认识呢,那么就需要编译器,gcc的编译器,把代码转换成机器认识的代码。cpu只认识0和1.
当源代码编译成2进制的代码,也就是binary code ,那么你就可以安装到你的机器上了。
如果我们下载的是binary code ,2进制的代码,这个以mysql为例,不少的文档,mysql是下载binary code ,那么你解压后,其实就可以直接用了。
source code 是程序员写的码,
binary code 是机器跑的码。
source code 得经过 compile 才能成为 binary code 。如何分?用 file 命令看一看罗:
tar -zxvf some.version.tar.gz
cd some
file *$ file source.file
$ file binary.fileRPM 有分两种:binary rpm 跟 source rpm 。
前者是编好的 binary ,安装就可用。
後者是还没编好的 source ,需 rebuild 之後才能安装。如何安装.src.rpm软件包
有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有两种安装方法方法一:
1. #rpm -i your-package.src.rpm
2. #cd /usr/src/redhat/SPECS
3. #rpmbuild -bp your-package.specs //一个和你的软件包同名的specs文件
4. #cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5. #./configure
6. #make
7. #make install方法二:
1. #rpm -i you-package.src.rpm
2. #cd /usr/src/redhat/SPECS
3. rpmbuild -bb your-package.specs //一个和你的软件包同名的specs文件。这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
4. #rpm -i new-package.rpm 即可安装完成。
-
linux开启telnet服务
2008-11-25 10:25:44
(1)用vi打开/etc/xinetd.d/telnet文件,把disable=yes改为no然后保存退出!
(2)然后执行/etc/init.d/xinetd reload命令重新载入上述的配置文件,telnet就立即启动了;或执行 service xinetd restart
(3)如果还不行,iptables -F关闭防火墙 这样可以允许外部的连接进来
(4)用命令查看下服务的开启状态 pstree |grep telent还有就是直接chkconfig --list看看相应的服务
xinetd 还有telnet启动没有.
但是:
安全上的考虑,linux系统默认并不允许以root账号远程登录,可以新建立一个普通用户,用这个普通用户来登陆, 但登陆后可以用SU 命令转到ROOT下。
如果想要root方式登录,最简单办法就是删除/ect/securetty或者更改/ect/securetty文件名 -
linux下安装及配置snmp服务
2008-11-24 17:50:14
1 下载net-snmp -5.3.0.1.tar.gz包,编译并安装
2 修改snmpd.conf文件配置
按照如下方式修改snmpd.conf文件
(1)修改默认的community string
com2sec notConfigUser default public
将public修改为你才知道的字符串
(2)把下面的#号去掉
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
(3)把下面的语句
access notConfigGroup “” any noauth exact systemview none none
改成:
access notConfigGroup “” any noauth exact mib2 none none
3、重启snmpd服务
#/etc/rc.d/init.d/snmpd restart 或 #service snmpd restart
完成snmpd的配置
4、确保linux的iptables防火墙对我们的流量监控服务器开放了udp 161端口的访问权限
可使用iptables –L –n 查看当前iptables规则
可编辑/etc/sysconfig/iptables文件来修改iptables规则。
把snmpd服务添加为自启动 #chkconfig snmpd on
可以用chkconfig –list |grep on 来查看是否已经是自启组
如果chkconfig –list |grep snmpd 没有的话可以先用以下命令增加
#chkconfig –add snmpd -
[转] Linux系统下Tar文件安装方法
2008-11-24 16:50:31
转自:
http://www.jb51.net/os/RedHat/1344.html
1、将安装文件拷贝至你的目录中,如果是以root身份登录上的,就将软件拷贝至/root中。
#cp xxx.tar.gz /root
2、解压缩。
#tar xvzf xxx.tar.gz
或直接双击解压缩.
3、检查编译。
#./configure
4、检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译。
#make。
5、成功编译后,开始安装。
#make install
6、安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。
#make clean
#make distclean
至此,安装结束。
如果要卸载,则执行make uninstall
-
[转] Linux 时间同步2法
2008-11-24 15:37:26
转载自:
http://blog.51099.com/html/1/1-242.html
1. 与一个已知的时间服务器同步
2. 配置网络时间协议(ntp)
1. 让linux自动同步时间
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.govtime.nist.gov 是一个时间服务器.
2. 时间服务器配置(192.168.10.1)
1). # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm
2). # vi /etc/ntp.conf
注释一行
restrict default ignore
加入一行
restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap
3). # vi /etc/ntp/step-tickers
加入一行
pool.ntp.org
这样每次ntpd启动时,会自动连接该国际标准时间服务器;
4). # service ntpd start
5). # netstat -an |grep 123
确保该端口以udp方式开放时间客户端配置(192.168.10.2)
1). # ntpdate 192.168.10.2
应该显示同步成功
2). # crond -e
加入
0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
表示每隔10分钟同步一次时间 -
linux修改系统时间
2008-11-24 15:20:44
(1)修改为指定时间
#date -s "月/日/年 时:分:秒"
为确保修改生效,执行
#clock -w
(2)通过NTP服务校准系统时间
#sudo ntpdate 210.72.145.44
210.72.145.44 为国家授时中心的IP地址;207.46.232.182也可用。
-
[转]ORACLE10G归档日志满了的解决方法
2008-11-21 16:37:26
转自:
http://rubyol.javaeye.com/blog/193260
如果Oracle的归档日志满了,应用连接数据库就会出错,这时需要手工删除过期的归档日志,方法如下:
1.指定数据库实例
$ export ORACLE_SID=db1
2.进入rman
$ rman
3.连接数据库
RMAN> connect target sys/password;
4.查看归档日志的状态
RMAN> list archivelog all;
5.手工删除归档日志文件
6.更新归档日志
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all; --中间会提示确认,输入"yes"即可
7.退出rman
RMAN> exit
-
[转] Vi编辑器的基本使用方法
2008-11-12 18:30:06
转自:
http://www.ityg.net/article/Show.aspx?ID=242
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
1、vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
2、vi的基本操作
a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!
b) 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
3、命令行模式(command mode)功能键
1). 插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按「ESC」键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
按「ctrl」+「u」:屏幕往“后”移动半页。
按「ctrl」+「d」:屏幕往“前”移动半页。
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
4). 删除文字
「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
5). 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
7). 回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
9). 跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
4、Last line mode下命令简介
在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。
A) 列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
B) 跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
C) 查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
D) 保存文件
「w」:在冒号输入字母「w」就可以将文件保存起来。
E) 离开vi
「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。
「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
5、vi命令列表 -
[转]Windows下通过xmanager远程桌面控制Linux(图)
2008-11-12 14:45:24
有两种方法可以实现远程管理Linux桌面窗口,其中一个就是是我们所选择的X显示管理器(X display manager)或者说xdm,另一个流行的解决方案是vnc。我选择xdm而不是vnc出于两点原因。第一,vnc要有个服务端的守护进程,为每个共享的桌面运行。第二,我已经有X服务器的软件安装在所有的工作站上,不想再添加额外的客户端软件了。
我们先来了解一些X系统方面的知识,X是用在大多数UNIX系统中的图形支持系统。如果你在你的Linux机器上使用GNOME或者KDE的话,你就正在使用X系统。它由X联盟 (www.X.org)定义并维护。大多数的Linux用户使用的都是由XFree86 项目 (www.xfree86.org)提供的X Window系统的实现。xdm 是一个显示管理器,提供了灵活的任务管理功能。然而xdm通常被认为是“GUI的登陆屏幕,可以自动启动我的X任务”,我们会看到实际上它要更为强大。
xdm 使用X联盟的X显示管理控制协议,即XDMCP,来和X服务器通信。它允许X服务器从运行xdm服务的服务器上获得会话服务。
当使用xdm管理这些X任务的时候在设置上有些复杂。但设置xdm 可以得到本地的和其他服务器上的桌面了。我们下面将介绍服务器上配置xdm的方法和步骤,这里描述的配置允许任何的 XDMCP 客户访问 Linux 服务器桌面环境(当然了影响了X的安全)。
第一步,我们在Linux系统下,修改/etc/X11/xdm/Xaccess文件,找到下面的语句:# * #any host can get a login window
去掉最前面的#号,成为
第二步,我们修改/etc/X11/gdm/gdm.conf文件,找到下面的语句:
将其中的Enable=false 改为Enable=true 或 Enable=1。
同时我们要确保存在下面的语句,因为177端口是我们要配置的xdmcp服务的监听端口,我们在后面配置xmanager将看到。
第三步,我们要修改/etc/inittab文件,将下面的语句
改为如下,如果原来就是id:5:initdefault:就不用更改。
同时,找到如下图文字所在的地方,
将它修改为x:5:respawn:/usr/bin/gdm,即如下图所示,
第四步,我们修改/etc/X11/xdm/xdm-config的最后一行,在displayManager.requestPort:0前面加上一个!号,结果如下
第五步,我们修改确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755,在RedHat 9.0中,我们可以看到这两个文件默认的属性就是444和775,因此不用修改。
最后,如果我们的Linux机器配置有防火墙,为防止防火墙将通过177端口(即xdmcp服务)的数据过虑,我们必须加上如下的规则:
iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT
至此为止,我们在Linux下的配置xdm已经基本完成。但上面这些配置还只是x服务器端的配置,我们要想实现在Windows远程桌面控制Linux,还必须要
有Windows下的客户端工具,xmanager正是这样的一个工具,它是一个简单易用的高性能的运行在Windows平台上的 X Server 软件。我们现在来介绍xmanager的在Windows下的安装和配置技巧,这里我使用的机器是windows xp。
我们先下载xmanager的安装文件,我下载的是xmanager1.3.9,安装后,在安装目录下,我们点击xconfig,选择xdm,如下图,选择”XDM Indirect”,在 host:后面填上我们已经配置好的Linux系统的ip,注意下面的XDMCP Port:177, 这就是我们在配置Linux服务器时必须保证 port=177的原因。
然后我们双击xmanager安装目录里的xmanager,出现下面的画面,
选择图中的linux机器,然后点击“连接”即可以连接到我们的redhat登陆桌面了。
输入用户名,确定后系统会提示让你输入密码,验证成功后就可以使用我们的redhat桌面了,效果如下:
本文介绍了windows下通过xmanager来远程桌面控制Linux的方法,并具体介绍了xdm和xmanager的配置和使用方法,希望给大家带来一定的帮助。 -
虚拟机中设置linux连接网络
2008-11-12 11:44:53
转自:
http://lin-style.javaeye.com/blog/166402
虚拟机:vmware
Linux版本:CentOS(版本不会造成很大差异)
vmware下那种精简版的,有个server.bat批处理,启动1(启动本机网络服务),3(启动DHCP。NAT。默认安装网卡
)
在虚拟机下设置网卡网络连接为桥接,设置状态两个选项卡都钩上
文本方式登陆linux后,输入netconfig
IP ADDRESS:你的IP
netmask:掩码
Default gateway:默认网关
Primary nameserver: DNS
接着对该网卡eth0接口操作
ifconfig eth0 down
ifconfig eth0 up
再重新启用下服务
service network start
出现三个OK表示成功
可以再用ifconfig命令看下配置
测试:
真实机上ping虚拟机的linux看通不
虚拟机上可以
ping www.163.com
出现
64 bytes from XXX.XXX.XXX.XXX icmp_seq=19 ttl=54 time=51.3 ms(大概这样)
就可以了方法二:进入/etc/sysconfig/network-scrīpts。找到ifcfg-eth0.编辑它如下:
DEVICE = eth0
ONBOOT = yes
BOOTPROTO = static
IPADDR= 10.9.100.221(你需要的固定ip)
NETMASK=255.0.0.0
GATEWAY=10.255.255.254
如果需要动态分配IP,那么
DEVICE = eth0
ONBOOT = yes
USERCTL = yes
BOOTPROTO = dhcp改了以后再运行/etc/rc.d/init.d/network restart -
做好测试计划和测试用例的工作的关键
2008-10-31 10:08:24
转载自:
http://bbs.51testing.com/forum-157-1.html
对于目前大部分公司存在的状况,很多测试计划文档只是一种形式而已
所以我的理解是:怎样让测试计划对整个测试工作真正具有指导作用
这里把测试计划和测试方案分开来讲(计划对应于管理层面的问题,方案对应于技术方面的问题)
测试计划中最重要的内容包括: 进度安排;人力、物力资源分配(包括组织结构等)、风险假设和规避措施。(其他像软件版本号之类的,只要是个人都会写,这里不列了)
写好测试计划的关键在于:
1 充分了解你的团队的整体实力和团队中每个成员的特点
2 充分理解为当前软件制订的整个研发活动过程
带过项目的人都知道:在实际项目中,往往进度才是第一位的,但是对进度的把握和估算却是极其困难的。只有做到这两点才有可能对进度有比较准确的把握,对人员有一个合理的分配。否则所谓的进度,所谓的资源分配,都是拍脑袋得出的结果,风险假设更是无从谈起,这样的测试计划文档只能流于形式也就不足为奇了。
写好测试方案的关键在于:
1 有一个合理的测试计划
2 熟悉相关业务
3 深入体会用户的实际需求
这个不想多解释了,不难理解。
至于测试用例,看到上面不少朋友认为关键在于理解用户需求。
其实理解用户实际需求是一切的根本,并且对于有些测试(比如像单元测试)对应的测试用例通常和用户需求之间的关系可能并不直接或是十分密切。
当然,如果有一份好的需求和设计文档的话,什么事情都解决了。 可是现实往往是不存在这样的文档的。
所以我的看法是:
1 对业务理解的深入程度
2 经验
3 有自己的文档
前两条不解释了。 自己的文档包括两方面:一个是常用的特殊测试数据,比如一些特殊字符,极限长度的输入等等。这个在项目时间紧迫的时候是非常有帮助的(有的时候甚至可以当成check list)。 另一个就是自己测试模块对应的相关需求和设计文档。服务器上的标准文档拖到本地来并且记得及时更新。然后在测试过程中,需要什么内容文档上没有,最直接的方法是和开发人员沟通。(其实我很反对这么做。你想,按开发人员自己说的标准去测他们自己开发的模块能测出因为需求或者设计错误导致的问题么……应该是和客户和designer去沟通,可惜一般没有这条件-_-)任何标准文档上缺少的内容,只要是和你有关的,一定要记得做记录。 当然你有时间有精力把整个系统的需求和设计文档都捣鼓出来最好,不过通常是没这可能性的。
补充说明:lz最后提到的“完全凭借自己的经验在执行测试活动”不如说是完全凭借自己的感觉在执行测试活动。
项目需要的用例详尽程度可以商量,但是必须要有。 如果进度很紧,可以用一部分用例加上check list进行测试活动(比如很多日本外包项目的UI测试,相当一部分可以用check list来代替具体的用例,效果并不差)
-
翻页功能测试用例
2008-10-30 14:43:44
转载自:http://www.51testing.com/?39517
翻页功能我们常碰到的一般有以下几个功能:
1、首页、上一页、下一页、尾页。
2、总页数,当前页数
3、指定跳转页
4、指定每页显示条数
当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件。本文暂且用以上四点来做为通用的用例来设计吧。
对于1翻页链接或按钮的测试,主要要检查的测试点有:
1、有无数据时控件的显示情况
2、在首页时,首页和上一页是否能点击
3、在尾页时,下一页和尾页是否能点击
4、在非首页和非尾页时,四个按钮功能是否正确
5、翻页后,列表中的记录是否仍按照指定的排序列进行了排序
对于2总页数,当前页数,主要要检查的测试点有:
1、总页数是否等于总的记录数/指定每页条数
2、当前页数是否正确
对于3指定跳转页,主要要检查的测试点有:
1、是否能正常跳转到指定的页数
2、输入的跳转页数非法时的处理
对于4指定每页显示条数,主要要检查的测试点有:
1、是否有默认的指定每页显示条数
2、指定每页的条数后,列表显示的记录数,页数是否正确
3、输入的每页条数非法时的处理
分析完上面的测试点,应该可以进行用例的设计了。
step 1: 列表无记录
expect: 1、四个翻页控件变灰不可点击
2、列表有相应的无数据信息提示
3、不可指定页数
4、不可指定跳转页
5、总页数显示为0
6、当前页数显示为0
step 2: 列表的记录数<=指定的每页显示条数
expect: 1、四个翻页控件变灰不可点击
2、总页数显示为1
3、当前页数显示为1
step 3: 列表的记录数>指定的每页显示条数
expect: 1、默认在首页,当前页数为1
2、列表的数据按照指定的排序列正确排序
3、记录数与数据库相符
4、总页数=记录数/指定的每页显示条数
step 4: 列表的记录数>指定的每页显示条数,在首页
expect: 1、首页变灰不可点击
2、上一页变灰不可点击
3、下一页可点击,从(每页指定条数+1)条记录开始显示,当前页数+1
4、尾页可点击,显示最后页的记录
step 5: 列表的记录数>指定的每页显示条数,在中间的某页
expect: 1、首页可点击,显示1到每页指定条数的记录
2、上一页可点击,显示上一页的记录
3、下一页可点击,从后一页的记录
4、尾页可点击,显示最后页的记录
5、列表的数据按照指定的排序列正确排序
6、当前页数为所在页
-
[转帖]测试人员容易遗漏一些隐藏的缺陷
2008-08-04 16:25:02
转自:http://www.51testing.com/?action_viewnews_itemid_87899.html
通常软件测试会暴露软件中的缺陷,经过修正后可以保证软件系统的功能满足需求并正确运行。但是,在系统测试和确认测试中,测试人员容易遗漏一些隐藏的缺陷。众所周知,软件测试不可能发现所有的缺陷,而软件开发周期各个阶段仍然存在注入缺陷的可能,但是,有一些缺陷是测试中容易忽略的,也就是说,通过测试方法和用例可以充分暴露这些缺陷,遗憾的是,它们往往被忽略或者某种原因忘记测试了,这就给软件留下了隐患或者危机。这些容易被忽略的缺陷包括:
1、安装缺陷
通常项目组完成代码后,发布时候安装打包是最后一个环节,而软件测试人员通常在测试的时候,没有仔细的测试这一部分,而把用例集中在其他功能上。安装时候的缺陷通常通过拷贝而不是运行安装程序方式给测试人员安装软件,结果正式安装时候出现问题,引起例如控件没有注册,注册表没有导入等。删除时候没有注意安装文件夹是否存在用户文件,造成数据丢失;使用绝对路径;安装顺序没有说明书。
2、配置文件
有些文件在ini等配置文件中写出了管理员口令密码等信息,而且是明文的!这是一个安全隐患。另外,有些安装文件的 XML 文件,为了方便在数据库和中间层连接文件中写入了Admin 口令和密码。作为一个合格的软件测试人员,必须检查这些可以用记事本打开的文件。因为,一个稍有常识而且喜欢探索的用户,可能从中获取信息而成为不自觉的黑客。所以,配置文件可能成为软件安全方面的一个缺陷。
3、网页安全缺陷
现在网站开发已经注意到:登陆网站进入其内部网页后,直接拷贝网址,然后粘贴到另一IE 窗口输入,可以绕过登陆直接访问。也许商业网站很关注这个问题,但是很多行业软件却很容易忽略。
网页安全缺陷还可能存在于 IE 弹出的子窗口。有些设计不严格的软件,在主页面关闭的时候子页面还可以运行,这是一个明显的漏洞,而且还大大增加了错误发生的几率。
4、判断顺序/逻辑缺陷
对界面进行多个输入判断的时候,非常容易出现这种问题。例如判断年月顺序,判断长度,判断非空等。假如操作员仅仅满足单个条件,保存不能成功;而按界面从上之下顺序一一满足条件之后,保存是没有问题的。但是,改变一下输入的次序,校验失效。例如,一一满足条件之后,不保存,倒过来将上面的输入改成非法输入,然后保存,结果居然也能成功,这是因为原先的判断由于发生过,或者根据语句顺序只检查最后一个判断,所以没有报错。这种错误尤其在 Java scrīpt 脚本的页面中要注意。能够保存不能保证数据正确,有可能引起系统崩溃或者后续数据错误。所以,在测试的时候,不要按照正常的顺序输入,而是要打乱步骤,看看代码是否强健,是否在判断逻辑上没有错误。良好的代码应该经得起折腾,至少保存时会再此全部进行判断,而不只是简简单单走到判断的最后一行。
5、调试语句和冗余信息
维护项目和升级改造的推广系统最容易潜伏这类缺陷。典型表现在没有删除或者屏蔽调试语句。弹出一个界面不友好的提示信息,会使不明真相的用户产生误以为系统发生了严重故障,从而引起对软件的不信任感。页面中某个角落存在当前客户不需要的冗余按钮和功能也是一种缺陷。多余的功能会使用户以为是额外附加部分而去使用,其结果可想而知;而多余的按钮会误导好奇心强的用户操作,产生不必要的错误。
同样值得关注的还有参数设置,由于没有实际数据,开发人员在调试或者单元测试的时候,习惯性的进行自我设定而忘了删除,软件测试人员可能会忽略掉了这部分测试,也可能导致在客户现场发生错误而影响系统发布和验收。
6、不可重现的故障
新参加软件测试的人员或者新来的开发人员总是要问,不可重现的缺陷是否需要记录,有必要吗?回答是肯定的。测试必须如实的记录发生的问题,也许不能重现,或者使非软件系统本身问题,但是,可能这些偶然性背后是有规律的,不记录这些,就不可能发现这些规律。
7、多节点的逆向流转缺陷
当前软件不少喜欢使用工作流来驱动。工作流的问题,就是可能出现多个流向分支。测试容易忽略的部分,就是工作流多节点的逆向流转。例如,通过不通过涉及两个分支,但是流程逆转的时候,有可能不是回到上一节点而是平级的另一个节点去了。软件测试要格外注意这类用例的设计。另外,有些时候默认分支在向前的时候是有默认值的,例如默认通过,那么保存的时候要提示用户是否通过,否则可能由于操作疲劳而走错了节点,引起回退。
8、输入框缺陷
试过往输入框粘贴数据而不是直接输入吗?可能这里会出现问题。按 Ctrl+V 的时候,输入框会根据长度大小自动截断输入长度。但是用鼠标,截断可能会失效。有一次测试人员就是用这种方法把一篇 Word 文档输入进去了,保存的时候,数据库崩溃。有些网站登陆的口令****可以拷贝下来的,只要放在剪贴板里面马上明文显示。
输入框可以说是问题最多的部分,能够引起的麻烦也很多。日期、数字、文本等等,都需要耐心的测试一下。
9、界面布局缺陷
曾经有一次,项目经理回来向测试部反映一个问题,客户对界面不满意。原因很简单,因为界面上删除按钮和保存按钮挨得很近。结果有些操作不熟练的业务人员,很容易误按。这个问题是测试人员没有意料到的,因此注意关闭、删除、退出按钮与保存、下一步等按钮的距离。类似的按钮应按此规则排列分布。
界面布局还可能发生在窗口最大化和最小化上,有可能窗口缩小的时候没有下拉框或不匹配分辨率,对用户来讲,这个错误实在很低级。有些用户由于操作习惯,非常不喜欢腾出手使用鼠标,尤其是大量输入的界面,因此,要注意设置键盘的快捷方式。还有,按 Tab定位到下一焦点时要注意顺序,避免跳转太灵活而让操作人员感到无从适应,在界面进行维护或者修改的时候,不要忘了软件测试开发人员是否无意改变了这些快捷方式和跳转顺序。
10、版本和补丁包的环境问题
理论上讲,这属于兼容性测试应该覆盖的问题。有些客户很喜欢更新最新的软件版本或者微软时不时打些补丁包,问题就出现了。有时候升级不一定是好事。这些问题最好在测试的时候增加几个用例,多用不同软件版本的机器跑一跑。软件测试有个定律是:你没跑过的地方,就一定会出事。经常听到开发人员抱怨,怎么我的机器没问题,你的机器就有事了呢?这不能完全靠配置管理员解决问题,环境配置项是大家最容易忽略的。
11、用户管理缺陷
用户管理的角色和授权需要好好研究一下,作过测试的人员都知道,有时候为了测试的方便,测试用户都是具有超级权限的用户。而且,比较容易忽略用户管理这一部分的测试。往往发往客户的时候,很多测试用户都没有删除。
另外,有些接口的用户和口令,到软件使用寿命结束都没有更改过。在一次测试中,软件测试人员发现,给一个用户授超级用户权限,之后更改这个用户为受限权限。使用中发现,用户居然没有真正回收权限,用户管理界面上没有任何不对。及早准备用户管理用例,不要等到测试快结束时候才想起。
12、常识缺陷
从逻辑或者统计学上讲,计算机是允许如此处理的,但是从常识上来讲,这些情况不可能发生。例如电话号码不可能出现小数点,终止时间不能大于开始时间等等。除此之外,常识还要结合业务特点来进行判断,因此,开发和测试人员要格外注意对自己知识的培养以及增加对需求细节的了解。不能因为一味追求进度而采用最简单的代码来实现,对用户来说,这些错误可能是很荒谬的。
尽管我们不可能完美的测试一个软件,但是我们仍然可以改进我们的软件测试。每次测试结束,及时总结测试中的不足,进一步完善用例。思考一下那些容易忽略的软件缺陷,能提高对软件测试的认识,提高所在组织软件的质量。
-
[转贴]Linux VI使用
2008-06-23 15:27:04
转载自:http://blog.csdn.net/flp/archive/2007/09/19/1791967.aspx
功能最强在的编辑器——vi
vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视 窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来, 以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您 不会vi,那您可能就没辄了。
vi的基本概念
基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode),各模式的功能区分如下:
1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。
2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。
3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。
不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。
vi的基本操作
•进入vi
在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:
$ vi testfile
有一点要特别注意,就是您进入vi之后是处于“Command mode”下,您要切换到Insert mode才能输入文字。初次用vi的用户都会想先用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后,先不要乱动,转换入Insert后再说。
•切换至Insert mode编辑文件
在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode。这时候您就可以开始输入文字了。
i: 插入,从目前光标所在之处插入所输入的文字。
a: 增加,目前光标所在的下一个字开始输入文字。
o: 插入新的一行,从行首开始输入文字。
•Insert的切换→Command mode,按Esc键
您目前处于Insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除,就要按ESC键转换回Command mode,再删除文字。
•离开vi及存文件
在Command mode下,可按冒号“:”键入入Last line mode,例如:
:w filename (输入“w filename”,将文章存入指定的文件名filename)
:wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)
:q! (输入“q!”,强制离开并放弃编辑的文件)Command mode功能键列表
在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,请读者您一定要学会、记住。
(1)I、a、o切换进入Insert mode。[超级常用]
(2)移动光标
vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母
h、j、k、l,分别控制光标左、下、上、右移一格。
按Ctrl+B:屏幕往后移动一页。[常用]
按Ctrl+F:屏幕往前移动一页。[常用]
按Ctrl+U:屏幕往后移动半页。
按Ctrl+D:屏幕往前移动半页。
按 0 (数字零):移动文章的开头。[常用]
按 G:移动到文章的最后。[常用]
按 w:光标跳到下个word的开头。[常用]
按 e:光标跳到下个word的字尾。
按 b:光标回到上个word的开头。
按 $:移到光标所在行的行尾。[常用]
按 ^:移到该行第一个非空白的字符。
按 0:移到该行的开头位置。[常用]
按 #:移到该行的第#个位置,例:51、121。[常用]
(3)删除文字
x:每按一次删除光标所在位置的后面一个字符。[超常用]
#x:例如,6x 表删除光标所在位置的后面6个字符。[常用]
X:大字的X,每按一次删除光标所在位置的前面一个字符。
#X:例如,20X 表删除光标所在位置的前面20个字符。
dd:删除光标所在行。[超常用]
#dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]
(4)复制
yw:将光标所在处到字尾的字符复制到缓冲区中。
(想在和#x、#X的功能相反)
p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。
yy:复制光标所在行。[超常用]
p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)
#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]
p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)
“ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer
“ap:将放在buffer a的数据粘贴。
“b3yy:将三行数据存入buffer b。
“b3p:将存在buffer b的资料粘贴
(5)取代
r: 取代光标所在处的字符:[常用]
R:取代字符直到按Esc为止。
(6)复原(undo)上一个指令
u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用]
.: .可以重复执行上一次的指令。
(7)更改
cw:更改光标所在处的字到字尾$处。
c#w:例如,c3w代表更改3个字。
(8)跳至指定行
Ctrl+G:列出光标所在行的行号。
#G:例如,15G,表示移动光标至文章的第15行行首。[常用]
Last line mode下指令简介
读者您要使用Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”三键的其中一键进入Last line mode。
1.列出行号
set nu: 输入“set nu”后,会在文章的每一行前面列出行号。
2.跳到文章的某一行
#:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了,如:15[Enter]就会跳到文章的第15行。[常用]
3.寻找字符串
/关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。
?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。
4.取代字符串
1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。
%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,c则是表示要替代之前必须再次确认是否取代。
1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。
5.存文件
w:在last line mode提示符号“:”前按w即可将文件存起来。[超常用]
#,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,将您正在编辑文章的第30~50行存成nice这个文件。
6.离开
q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”
qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件。[常用] -
实战--WINDOWS恢复系统时区
2008-06-04 13:10:43
昨天测试项目的时候,重启机器以后,就出现了这个怪问题----系统时间、日期和时区设置都没有问题,可是启动JAVA程序,服务器的时间和实际时间始终相差8个小时,找原因找的甚是郁闷,最后在同事的指点下,确定 原因是在于系统时区,就在网上google了一下,:) 最后问题终于解决了,解决方法如下:
找一台操作系统跟你机器一样的,并且时区没问题的机器,将注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones 这个注册表分支导出,然后再把这个文件导入到自己的机器中,一切OK了~
嘿嘿~~又学了一招。
我的栏目
标题搜索
我的存档
数据统计
- 访问量: 145718
- 日志数: 249
- 书签数: 41
- 建立时间: 2007-08-11
- 更新时间: 2013-03-28