有没有人会dos下联机命令?

mfkzzh 2003-08-26 09:25:54
“可以用98启动系统之后,再做一根LPT口的连接线,DOS下有连机的命令,把台式机里的安装文件拷过来。”有人这样教过我,由于本人是菜鸟所以具体做法不是很清楚。请各位好心的大哥们帮帮忙(说得详细一点),小弟在此谢过了!
...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainbowhq 2003-08-26
  • 打赏
  • 举报
回复
两台机器直接连接,但要用双绞线!!就是两个水晶头里的线位置和普通的直通线不一样。
然后一台做主机,一台做副机就行了
哈哈 2003-08-26
  • 打赏
  • 举报
回复
回复人: apacheshine([P*D]乱石(75)) ( ) 信誉:100 2003-08-26 09:38:00 得分:0


如果两台电脑都是98的话那么可以直接运行98中的直接电缆连接就可以了
如果两台都是DOS那么在服务器的config.sys加载 好像叫 INTRLINK.EXE,你在DOS622下看看帮助具体我忘记了。很简单的。


回答正确!
apacheshine 2003-08-26
  • 打赏
  • 举报
回复
如果两台电脑都是98的话那么可以直接运行98中的直接电缆连接就可以了
如果两台都是DOS那么在服务器的config.sys加载 好像叫 INTRLINK.EXE,你在DOS622下看看帮助具体我忘记了。很简单的。
amdpc 2003-08-26
  • 打赏
  • 举报
回复
1、制作电缆线 准备一条串行电缆线或双向并行电缆线(一般最常用的是利用两个微机的打印机并行口连接,并行电缆线的传递信息速度比串行口快很多)。但是不能简单使用一般的电缆线,而必须按照下面介绍的连接方法,如动手能力能强可自己制作(我就是自己改造的)或是购买成品,但要和商家说好是并口双机互连线,否则无法连接成功,大多数微机的LPT并行口都是25针的,因此需要准备两个25针的插头和一条11芯的电缆,如果需要传递信息的微机较多,应准备较长的电缆线。然后按以下规则焊接即可。并行电缆,连接方法是:2-15 3-13 4-12 5-10 6-11 15-2 13-3  12-4 10-5 11-6 25-25 (地-地)其它线可不接。因此电缆线只需11芯的即可,连好后可以用万用表测一下如果没问题就可以了。从中还可以看出线路的接法是对称的,因此使用时没有主从、正反之分,非常方便。
 2、连接的建立  在关机的状态下,将制作好的通信电缆分别插入两台微机的并行口。要注意硬盘分区一定要是FAT16的,且不大于2GB,否则只能看见分区大小为268MB字样,无法访问主机内容或连机失败。指定两台微机其中一台为服务器(Server),,另一台为客户机(client)。其中客户机是主动的,连接后可以在其上键入各种DOS命令,执行各种操作。而服务器则是被动的,其上只显示工作状态,而不能执行其它操作。需要建立连接时,在服务器上键入:C:\dos>intersvr 在客户机(client),上键入:C:\DOS\edit config.sys编辑系统文件。添加:device=C:\DOS\interlnk.exe  lastdrive=z当编辑完config.sys后,重新启动微机。然后再键入:C:\DOS>interlnk这时屏幕上将显示出建立连接后驱动器的对应情况。
这时,服务端(Server),微机屏幕显示如下所示(根据分区的不同,此画面可能不同)。
  Intersvr
  This Computer   Other Computer
  ---------------------
  (Server)     (Client)
  A: equals     D:
  C:(640M) equals  E:
  LPT1
 3、传送数据 建立好连接的两个微机,可以方便地使用DOS的COPY、XCOPY命令,根据驱动器的对应情况,将服务器中的信息复制到客户机;也可以相反,将客户机中的信息复制到服务器。注意:1、由于连接后盘符较多,注意不要写错(如果本机只有C,D两个分区,则对应主机的的A为E C为F以此类推)。2、连接后的微机通常要传送的信息较多,且往往有复杂的多层目录结构,所以较多使用XCOPY命令,并加上“/S”选项。3、该方法只能由客户机(服务器)单独操作,而服务器(客户机)只能观看屏幕上连机的状态报告,客户机和服务器无法同时操作,并且此方法无法重定向对方的CD-ROM驱动器,也就是说,无法访问光盘驱动器,这样,需要利用对方微机上的光盘驱动器来安装软件则非常不方便。
一)MD——建立子目录   1.功能:创建新的子目录  2.类型:内部命令  3.格式:MD[盘符:][路径名]〈子目录名〉  4.使用说明:  (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;  (2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。  例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。  C:、>MD FOX (在当前驱动器C盘下创建子目录FOX)  C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录)  (二)CD——改变当前目录  1.功能:显示当前目录  2.类型:内部命令  3.格式:CD[盘符:][路径名][子目录名]  4.使用说明:  (1)如果省略路径和子目录名则显示当前目录;  (2)如采用“CD、”格式,则退回到根目录;  (3)如采用“CD.。”格式则退回到上一级目录。  例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。  C:、>CD FOX 、USER(进入FOX子目录下的USER子目录)  C:、FOX、USER>CD.。 (退回上一级根目录)  C:、FOX>CD、 (返回到根目录)  C:、>  (三)RD——删除子目录命令  1.功能:从指定的磁盘删除了目录。  2.类型:内部命令  3.格式:RD[盘符:][路径名][子目录名]  4.使用说明:  (1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身;  (2)不能删除根目录和当前目录。  例:要求把C盘FOX子目录下的USER子目录删除,操作如下:  第一步:先将USER子目录下的文件删空;  C、>DEL C:、FOX、USER、*。*  第二步,删除USER子目录。  C、>RD C:、FOX、USER  (四)DIR——显示磁盘目录命令  1.功能:显示磁盘目录的内容。  2.类型:内部命令  3.格式:DIR [盘符][路径][/P][/W]  4. 使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press any key to continue  /W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。  PATH——路径设置命令  1.功能:设备可执行文件的搜索路径,只对文件有效。  2.类型:内部命令  3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}  4.使用说明:  (1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;  (2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;  (3)PATH命令有三种使用方法:  PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径)  PATH:(取消所有路径)  PATH:(显示目前所设的路径)  (六)TREE——显示磁盘目录结构命令  1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。  2.类型:外部命令  3.格式:TREE[盘符:][/F][》PRN]  4.使用说明:  (1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;  (2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。  (七)DELTREE——删除整个目录命令  1.功能:将整个目录及其下属子目录和文件删除。  2.类型:外部命令  3.格式:DELTREE[盘符:]〈路径名〉  4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!!  五、磁盘操作类命令  (一)formAT——磁盘格式化命令  1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。  2.类型:外部命令  3.格式:formAT〈盘符:〉[/S][/4][/Q]  4.使用说明:  (1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON ——REMOVABLE DISK  DRIVE C:WILL BE LOST !  Proceed with format (Y/N)?  (警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)  (2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;  and press ENTER when ready…  (在A驱中插入新盘,准备好后按回车键)。  (3)选用[/S]参数,将把DOS系统文件IO.SYS 、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘;  (4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;  (5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。  (6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。  (二)UNformAT恢复格式化命令  1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。  2.类型:外部命令  3.格式:UNformAT〈盘符〉[/L][/U][/P][/TEST]  4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNformAT来抢救。  (1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做formAT工作。  (2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will be sent to LPT1”  (3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only”  (4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNformAT。  (5)选用/PSRTN;修复硬盘分区表。  若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNformAT会“假设”此时磁盘没有MIRROR映像文件。  注意:UNformAT对于刚formAT的磁盘,可以完全恢复,但formAT后若做了其它数据的写入,则UNformAT就不能完整的救回数据了。UNformAT并非是万能的,由于使用UNformAT会重建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几个文件或子目录,只需要利用UNDELETE就够了。 三) CHKDSK——检查磁盘当前状态命令  1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。  2.类型:外部命令  3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]  4.使用说明:  (1)选用[文件名]参数,则显示该文件占用磁盘的情况;  (2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误;  (3)选用[/V]参数,显示盘上的所有文件和路径。  (四)DISKCOPY——整盘复制命令  1.功能:复制格式和内容完全相同的软盘。  2.类型:外部命令  3.格式:DISKCOPY[盘符1:][盘符2:]  4.使用说明:  (1)如果目标软盘没有格式化,则复制时系统自动选进行格式化。  (2)如果目标软盘上原有文件,则复制后将全部丢失。  (3)如果是单驱动器复制,系统会提示适时更换源盘和目标盘,请操作时注意分清源盘和目标盘。  (五)LABEL——建立磁盘卷标命令  1.功能:建立、更改、删除磁盘卷标。  2.类型:外部命令  3.格式:LABEL[盘符:][卷标名]  4.使用说明:  (1)卷标名为要建立的卷标名,若缺省此参数,则系统提示键入卷标名或询问是否删除原有的卷标名;  (2)卷标名由1至11个字符组成。  (六)VOL——显示磁盘卷标命令  1.功能:查看磁盘卷标号。  2.类型:内部命令  3.格式:VOL[盘符:]  4.使用说明:省略盘符,显示当前驱动器卷标。  (七)SCANDISK——检测、修复磁盘命令  1.功能:检测磁盘的FAT表、目录结构、文件系统等是否有问题,并可将检测出的问题加以修复。  2.类型:外部命令  3.格式:SCANDISK[盘符1:]{[盘符2:]…}[/ALL]  4.使用说明:  (1)CCANDISK适用于硬盘和软盘,可以一次指定多个磁盘或选用[/ALL]参数指定所有的磁盘;  (2)可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误,并加以修复。  (八)DEFRAG——重整磁盘命令  1.。功能:整理磁盘,消除磁盘碎块。  2.类型:外部命令  3.格式:DEFRAG[盘符:][/F]  4.使用说明:选用/F参数,将文件中存在盘上的碎片消除,并调整磁盘文件的安排,确保文件之间毫无空隙。从而加快读盘速度和节省磁盘空间。  (九)SYS——系统复制命令  1.功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。  2.类型:外部命令  3.格式:SYS[盘符:]  *使用说明:如果磁盘剩余空间不足以存放系统文件,则提示:No roomfor on destination disk.  文件操作类命令  (一) COPY文件复制命令  1.功能:拷贝一个或多个文件到指定盘上。  2.类型:内部命令  3.格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]  4.使用说明:  (1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;  (2)复制过程中,目标盘上相同文件名称的旧文件会被源文件取代;  (3)复制文件时,必须先确定目标般有足够的空间,否则会出现;insufficient的错误信息,提示磁盘空间不够;  (4)文件名中允许使用通配举“*”“?”,可同时复制多个文件;  (5)COPY命令中源文件名必须指出,不可以省略。  (6)复制时,目标文件名可以与源文件名相同,称作“同名拷贝”此时目标文件名可以省略;  (7)复制时,目标文件名也可以与源文件名不相同,称作“异名拷贝”,此时,目标文件名不能省略;  (8)复制时,还可以将几个文件合并为一个文件,称为“合并拷贝”,格式如下:COPY;[源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉;  (9)利用COPY命令,还可以从键盘上输入数据建立文件,格式如下:COPY CON [盘符:][路径]〈文件名〉;  (10)注意:COPY命令的使用格式,源文件名与目标文件名之间必须有空格!  (二)XCOPY——目录复制命令  1.功能:复制指定的目录和目录下的所有文件连同目录结构。  2.类型:外部命令  3.格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]  4.使用说明:  (1)XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;  (2)使用时源盘符、源目标路径名、源文件名至少指定一个;  (3)选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;  (4)选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。  (三)TYPE——显示文件内容命令  1.功能:显示ASCII码文件的内容。  2.类型:内部命令。  3.格式:TYPE[盘符:][路径]〈文件名〉  4.使用说明:  (1)显示由ASCII码组成的文本文件,对。EXE.COM等为扩展名的文件,其显示的内容是无法阅读的,没有实际意义2;  (2)该命令一次只可以显示一个文件的内容,不能使用通配符;  (3)如果文件有扩展名,则必须将扩展名写上;  (4)当文件较长,一屏显示不下时,可以按以下格式显示;TYPE[盘符:][路径]〈文件名〉|MORE,MORE为分屏显示命令,使用些参数后当满屏时会暂停,按任意键会继续显示。  (5)若需将文件内容打印出来,可用如下格式:  TYPE[盘符:][路径]〈文件名〉,>PRN  此时,打印机应处于联机状态。  (四) REN——文件改名命令  1.功能:更改文件名称  2.类型:内部命令  3.格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉  4.使用说明:  (1)新文件名前不可以加上盘符和路径,因为该命令只能对同一盘上的文件更换文件名;  (2)允许使用通配符更改一组文件名或扩展名。  (五)FC——文件比较命令  1.功能:比较文件的异同,并列出差异处。  2.类型:外部命令  3.格式:FC[盘符:][路径名]〈文件名〉[盘符:][路径名][文件名][/A][/B][/C][/N]  4.使用说明:  (1)选用/A参数,为ASCII码比较模式;  (2)选用/B参数,为二进制比较模式;  (3)选用/C参数,将大小写字符看成是相同的字符。  (4)选用/N参数,在ASCII码比较方式下,显示相异处的行号。  (六)ATTRIB——修改文件属性命令  1.功能:修改指定文件的属性。(文件属性参见2.5.4(二)文件属性一节)  2.类型:外部命令。  3.格式:ATTRIB[文件名][R][——R][A][——A][H][——H][——S]  4.使用说明:  (1)选用R参数,将指定文件设为只读属性,使得该文件只能读取,无法写入数据或删除;选用——R参数,去除只读属性;  (2)选用A参数,将文件设置为档案属性;选用——A参数,去除档案属性;  (3)选用H参数,将文件调协为隐含属性;选用——H参数,去隐含属性;  (4)选用S参数,将文件设置为系统属性;选用——S参数,去除系统属性;  (5)选用/S参数,对当前目录下的所有子目录及作设置。  七) DEL——删除文件命令  1.功能:删除指定的文件。  2.类型:内部命令  3.格式:DEL[盘符:][路径]〈文件名〉[/P]  4.使用说明:  (1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除;  (2)该命令不能删除属性为隐含或只读的文件; (3)在文件名称中可以使用通配符; (4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Arey ou sure?)(你确定吗?)若回答Y,则进行删除,回答N,则取消此次删除作业。 (八) UNDELETE——恢复删除命令 1.功能:恢复被误删除命令 2.类型:外部命令。 3.格式:UNDELETE[盘符:][路径名]〈文件名〉[/DOS]/LIST][/ALL] 4.使用说明:使用UNDELETE可以使用“*”和“?”通配符。 (1)选用/DOS参数根据目录里残留的记录来恢复文件。由于文件被删除时,目录所记载斩文件名第一个字符会被改为E5,DOS即依据文件开头的E5和其后续的字符来找到欲恢复的文件,所以,UNDELETE会要求用户输入一个字符,以便将文件名字补齐。但此字符不必和原来的一样,只需符合DOS的文件名规则即可。 (2)选用/LIST只“列出”符合指定条件的文件而不做恢复,所以对磁盘内容完全不会有影响。 (3)选用/ALL自动将可完全恢复的文件完全恢复,而不一一地询问用户,使用此参数时,若UNDELTE利用目录里残留的记录来将文件恢复,则会自动选一个字符将文件名补齐,并且使其不与现存文件名相同,选用字符的优选顺序为:#%——0000123456789A~Z。 UNDELETE还具有建立文件的防护措施的功能,已超出本课程授课范围,请读者在使用些功能时查阅有关DOS手册。 七、其它命令 (一)CLS——清屏幕命令 1功能:清除屏幕上的所有显示,光标置于屏幕左上角。 2类型:内部命令 3格式:CLS (二) VER查看系统版本号命令 1功能:显示当前系统版本号 2类型:内部命令 3格式:VER (三) DATA日期设置命令 1功能:设置或显示系统日期。 2类型:内部命令 3格式:DATE[mm——dd——yy] 4使用说明: (1)省略[mm——dd——yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm——dd——yy]为“月月——日日——年年”格式; (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。 (四) TIME系统时钟设置命令 1功能:设置或显示系统时期。 2类型:内部命令 3格式:TIME[hh:mm:ss:xx] 4使用说明: (1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式; (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。 (五)MEM查看当前内存状况命令 1功能:显示当前内存使用的情况 2类型:外部命令 3格式:MEM[/C][/F][/M][/P] 4使用说明: (1)选用/C参数列出装入常规内存和CMB的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间; (2)选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小; (3)选用/M参数显示该模块使用内存地地址、大小及模块性质; (4)选用/P参数指定当输出超过一屏时,暂停供用户查看。 (六) MSD显示系统信息命令 1功能:显示系统的硬件和操作系统的状况。 2类型:外部命令 3格式:MSD[/I][/B][/S] 4使用说明: (1)选用/I参数时,不检测硬件; (2)选用/B参数时,以黑白方式启动MSD; (3)选用/S参数时,显示出简明的系统报告。 ping命令详解 对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-wz timeout] destination-list Options: -t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C. 不停的ping地方主机,直到你按下Control-C。 此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。 -a Resolve addresses to hostnames. 解析计算机NetBios名。 示例:C:\>ping -a 192.168.1.21 Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data: Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 timeping -n 50 202.103.96.68 Pinging 202.103.96.68 with 32 bytes of data: Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Request timed out. ……………… Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Ping statistics for 202.103.96.68: Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds: Minimum = 40ms, Maximum = 51ms, Average = 46ms 从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。 -l size Send buffer size. 定义echo数据包大小。 在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负) C:\>ping -l 65500 -t 192.168.1.21 Pinging 192.168.1.21 with 65500 bytes of data: Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 Reply from 192.168.1.21: bytes=65500 timeping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由) Pinging 202.96.105.101 with 32 bytes of data: Reply from 202.96.105.101: bytes=32 time=10ms TTL=249 Route: 202.107.208.187 -> 202.107.210.214 -> 61.153.112.70 -> 61.153.112.89 -> 202.96.105.149 -> 202.96.105.97 -> 202.96.105.101 -> 202.96.105.150 -> 61.153.112.90 Ping statistics for 202.96.105.101: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 10ms, Maximum = 10ms, Average = 10ms 从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。 -s count Timestamp for count hops. 指定 count 指定的跃点数的时间戳。 此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。 -j host-list Loose source route along host-list. 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。 -k host-list Strict source route along host-list. 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。 -w timeout Timeout in milliseconds to wait for each reply. 指定超时间隔,单位为毫秒。 此参数没有什么其他技巧。 ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "DefaultTTL"=dword:000000ff 255---FF   128---80   64----40   32----20 好了,ping命令也基本上完全讲解完了,其中还有-j,-k参数我还没有详细说明,由于某些原因也包括我自己所收集的资料过少这里也没有向大家详细介绍,请大家见谅,如果在看了这篇文章的朋友当中有知道得比我更多的,以及其他使用技巧的也希望您能告诉我,并在此先谢过。 对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list Options: -t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C. 不停的ping地方主机,直到你按下Control-C。 此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。 -a Resolve addresses to hostnames. 解析计算机NetBios名。 示例:C:\>ping -a 192.168.1.21 Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data: Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 timeping -n 50 202.103.96.68 Pinging 202.103.96.68 with 32 bytes of data: Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Request timed out. ……………… Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Ping statistics for 202.103.96.68: Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds: Minimum = 40ms, Maximum = 51ms, Average = 46ms 从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。 -l size Send buffer size. 定义echo数据包大小。 在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负) C:\>ping -l 65500 -t 192.168.1.21 Pinging 192.168.1.21 with 65500 bytes of data: Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 Reply from 192.168.1.21: bytes=65500 timeping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由) Pinging 202.96.105.101 with 32 bytes of data: Reply from 202.96.105.101: bytes=32 time=10ms TTL=249 Route: 202.107.208.187 -> 202.107.210.214 -> 61.153.112.70 -> 61.153.112.89 -> 202.96.105.149 -> 202.96.105.97 -> 202.96.105.101 -> 202.96.105.150 -> 61.153.112.90 Ping statistics for 202.96.105.101: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 10ms, Maximum = 10ms, Average = 10ms 从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。 -s count Timestamp for count hops. 指定 count 指定的跃点数的时间戳。 此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。 -j host-list Loose source route along host-list. 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。 -k host-list Strict source route along host-list. 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。 -w timeout Timeout in milliseconds to wait for each reply. 指定超时间隔,单位为毫秒。 此参数没有什么其他技巧。 ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "DefaultTTL"=dword:000000ff 255---FF   128---80   64----40   32----20 好了,ping命令也基本上完全讲解完了,其中还有-j,-k参数我还没有详细说明,由于某些原因也包括我自己所收集的资料过少这里也没有向大家详细介绍,请大家见谅,如果在看了这篇文章的朋友当中有知道得比我更多的,以及其他使用技巧的也希望您能告诉我,并在此先谢过。 FTP命令大全 FTP:文件传输协议。先说说他的功能吧,主要就是从运行FTP服务器的计算机传输文件。可以交互使用。这里要注意,只有安装了tcp/ip协议的机器才能使用ftp命令命令格式:ftp [-v][-d][-i][-n][-g][-s:filename][-a][-w:windowsize][computer] 说说他们的含义吧。 -v 不显示远程服务器响应 -n 禁止第一次连接的时候自动登陆 -i 在多个文件传输期间关闭交互提示 -d 允许调试、显示客户机和服务器之间传递的全部ftp命令 -g 不允许使用文件名通配符,文件名通配符的意思是说允许在本地文件以及路径名中使用通配字符 -s:filename 指定包含ftp命令的文本文件。在ftp命令启动后将自动运行这些命令。在加的参数里不能有空格。 -a 绑定数据连接时,使用任何的本地端口 -w:windowsize 忽略默认的4096传输缓冲区 computer 指定要连接的远程计算机的ip地址 呵呵,理解了上面的,就说说一些具体的命令,我个人觉得虽然现在工具用起来很方便了,但懂这些命令在很多地方还是很有用的,就像现在nt下的命令提示符 1) ? 说明:显示ftp命令的说明。后面可以加参数,是加需要解释的命令名,不加则显示包含所有命令列表。 2) append 说明:使用当前文件类型设置,将本地文件附加到远程计算机中。大概格式是 append local-file [remote-file] 其中local-file是说指定要添加的本地文件。 remote-file是说指定要将local-file附加到远程计算机文件,要是省了这个,则是使用本地文件名做远程文件名。 3)ascii 说明:默认情况下,将文件传输类型设置为ASCII 4)bell 说明:响玲开关,意思是文件传输完成后是否有玲声提醒。默认是关闭的。 5)binary 说明:将文件传输类型设置为二进制。 6)bye 说明:结束和远程计算机的ftp会话,也就是安全断开,退出ftp. 7)cd 说明:更改远程计算机上的工作目录。如cd data 其中data是要进入的远程计算机的目录。 8)close 说明:结束与远程服务器的ftp会话,并返回命令解释程序。 9)dir 说明:显示远程的文件以及子目录列表。如dir data local-file 其中data是指定要查看列表的目录,没指定的话就是当前目录。local-file是指定要保存列表的本地文件,不指定的话就在屏幕输出。 10)debug 说明:调试开关,打开的时候打印每个发送到远程计算机的命令命令前有——> 默认情况是关闭的。 11)disconnnect 说明:与远程计算机断开连接,但还保持着ftp命令提示符。 12)get 说明:使用当前文件传输类型,把远程的文件拷贝到本地计算机上。 如get remote-file local-file remote-file是指定要复制的文件,local-file是指定本地计算机上的文件名, 没有指定的话则个remote-file同名。 13)glob 说明:文件名通配开关 14)hash 说明:转换每个传输数据快的散列标记打印(#).数据快的大小是2048字节。默认情况下是关闭的, 15)help 说明:显示ftp命令的解释,如help commmand 其中command就是你要解释的命令,如果不加command这个参数的话就会显示所有命令的列表 16)! 说明:这个命令差点忘记了:)功能是在本地计算机上运行指定命令。如! command 其中command就是你要运行的命令,如果不加command这个参数的话,则显示本地命令提示, 这时你输入exit命令就能返回到ftp了。 17)lcd 说明:更改本地计算机的本地目录,在默认的时候是启动ftp的目录.这个不要觉得没用啊,在你使用ftp的时候为了传递文件不是常改变本地和远程计算机的目录吗?:) 如lcd [directory] 其中[directory]是指定要进入的本地计算机的目录,如果你不加这个参数,就会显示出本地计算机的工作目录. 18)literal 说明:向远程ftp服务器发送协商参数,报告. 如lireral argument [...] 其中argument是指定要发送给远程服务器的协商参数。 19)ls 说明:显示远程目录的文件和字目录. 如ls remote-directory local-file 其中remote-directory是指要查看的列表的目录,不指定的话显示的是当前工作目录。local-file是指定要保存列表的本地文件.不指定的话是在屏幕上输出. 20)mdelete 说明:删除远程计算机上的文件.如mdelete remote-file ... remote-file肯定是要删的文件啊,可以删除多个. 21)mdir 说明:显示远程目录的文件和子目录列表,他允许指定多个文件. 如mdir remote-file ... local-file 参数我想大家应该明白什么意思吧?不明白就看看前面的类似命令吧. 22)mget 说明:使用当前文件传输类型将多个远程文件复制到本地计算机. 如mget remote-files ... 其实remote-files可以指定多个,他就是指定要复制到本地计算机的远程文件. 23)mkdir 说明:创建远程目录. 如mkdir directory 这个命令和nt下的命令提示符中的md directory一样,不多说了. 24)mls 说明:显示远程目录的文件和目录简表 如mls remote-file ... local-file 其中remote-file这个参数是必须要加的,’’-’’是使用远程计算机的当前工作目录. 25)mput 说明:使用当前文件传输类型,将本地文件复制到远程计算机. 如mput local-files ... 26)open 说明:连接到指定ftp服务器上, 如open computer port 其中computer一般是远程计算机的ip地址,port不用说就是指定端口了。 27)prompt 说明:转换提示,在多个文件传输的时候,ftp提示可以有选择的检索或保存文件,如果关闭提示,则mget和mput命令传输所有文件,在默认情况下是打开的. 28)put 说明:使用当前文件传输类型将本地文件复制到远程计算机中, 如put local-file remote-file 其中local-file是指定要复制的本地文件, remote-file是指定要复制的远程计算机上的文件名,不指定的话是和本地计算机上的文件名同名. 29)pwd 说明:显示远程呢感计算机上的当前目录. 30)quit 说明:结束与远程计算机的ftp会话,并退出ftp. 31)quote 说明:向远程ftp服务器发送协议,报告.期待ftp单码应答,这个命令的功能和literal相同. 32)recv 说明:使用当前文件传输类型将远程文件复制到本地计算机,他与get命令作用相同。 33)remotehelp 说明:显示远程命令的帮助.这个命令的用法和help,!一样可以参考他的用法. 34)rename 说明:更改远程计算机上的文件名。 这个命令和nt的命令提示符的ren一样,如rename filename newfilename 35)rmdir 说明:删除远程目录. 这个命令和nt的命令提示符的rm一样,如rmdir directory 36)send 说明:使用当前文件传输类型将本地文件复制到远程计算机.send和put命令的功能一样。 如send local-file remote-file 37)status 说明:显示ftp连接和转换的当前状态 38)trace 说明:转换报文跟踪,运行ftp的命令时,trace将显示没个报文的理由。 39)type 说明:设置或显示文件传输类型. 如type [type-name] 其中type-name 的意思是文件传输的类型,默认是ASCII,没加这个参数就是显示当前的传输类型. 40)user 说明:指定连接到远程计算机的用户. 如user user-name [passwd] [account] 其中user-name不用说都是用来登陆计算机的用户名了, passwd是指定user-name的密码,不指定的话ftp会提示输入密码。 account是指定用来登陆计算机的帐号,如不指定,ftp会提示输入帐号. 41)verbose 说明:转换冗余模式。这里如果打开,会显示所有ftp响应,文件传输结束的时候会显示传输的效率和统计信息,默认的情况是打开的. 呵呵,命令就介绍这些了,可以自己熟悉一下,其实现在ftp的软件很多,很方便,但你说这些命令没用也是不可能的,就像windows下一样还保留着命令提示符.:)_ 特别有些时候ftp软件很多地方做不到的,.? 什么地方。 打个比方,我看过一种觅名ftp用户得到admin的入侵列子,就的用到他.呵呵,这里不多说了,就写到这里了。 88291622
Tcl_TK编程权威指南pdf 内容简介回到顶部↑Tcl/Tk是第一种能通过Windows、Macintosh和Solaris等主要平台处理企业级任务的脚本语言。本书共分为55章,依次详细讲述了Tcl基础、Tcl高级特性、TK基础、TK组件、TK详解、C语言编程、各版本之间的差异等方面的知识,并通过大量实例,生动翔实地向读者介绍了Tcl/Tk编程,是读者掌握Tcl/Tt的必备参考书。 本书适合各个层次的读者阅读。 目录回到顶部↑第1部分 tcl基础 第1章 tcl的基本知识 tcl命令 hello,world! 变量 命令替换 数学表达式 反斜杠替换 使用花括号和双引号进行分组 过程 一个阶乘的例子 更多有关变量的知识 更多有关数学表达式的内容 注释 有关替换与分组的总结 要点 参考 第2章 开始使用 source命令 unix上的tcl脚本程序 .windows 95的开始菜单 macintosh与resedit console命令 命令行变元 预定义变量 第3章 cgi应用程序--顾客留言簿 html简介 使用cgi创建动态页面 guestbook.cgi脚本程序 定义表单以及处理表单数据 cgi.tcl软件包 接下去的几步 第4章 tcl中的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章 tcl列表 tcl列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 相关章节 第6章 控制结构命令 if then else switch while foreach for break与continue catch error return 第7章 过程与作用域 proc命令 使用rename来改变命令名 作用域 global命令 通过upvar以名字进行调用 使用upvar来处理变量别名 第8章 tcl数组 数组的语法 array命令 使用数组来构建数据结构 第9章 对文件和程序的操作 使用exec运行程序 file命令 跨平台的文件命名方式 操作文件和目录 文件属性 对i/o命令的总结 打开文件用于i/o操作 读写操作 当前目录-cd和pwd 使用glob来匹配文件名 exit和pid命令 环境变量 registry命令 第2部分tcl高级特性 第10章 引用问题与eval 使用list命令来构建代码 在eval内部利用concat uplevel命令 subst命令 第11章 正则表达式 何时使用正则表达式 正则表达式的语法 高级正则表达式(are) 语法总结 regexp命令 rgsub命令 使用regsub将数据转换为程序 其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件tclindex的库 unknown命令 方便交互 tclshell的库环境 编码风格 第13章 反射与调试 clock命令 info命令 跨平台支持 跟踪变量的值 交互式命令历史记录 调试 scriptics的tclpro 其他工具 性能调校 第14章 名字空间 使用名字空间 名字空间变量 命令查找 嵌套名字空间 过程的进口与输出 回调与名字空间 内省(introspection) namespace命令 转换现有的软件包以使用名字空间 [incrtcl]对象系统 注意事项 第15章 国际化(internationalization) 字符集与编码 消息目录 第16章 事件驱动的编程 tcl事件循环 after命令 fileevent命令 vwait命令 fconfigure命令 第17章 套接字编程 客户端套接字 服务器端套接字 回送(echo)服务 使用http获取一个url http软件包 基本认证 第18章 tclhttpd web服务器 将 tclhttpd与你的应用程序集成 域处理程序 应用执导的url 文档类型 html+tcl模板 表单处理程序 编程参考 标准应用执导(application-dirct)的url tclhttpd发行版 服务器配置 第19章 多解释器与 safe-tcl interp命令 创建解释器 安全解释器 命令别名 隐藏命令 替换 从安全解释器中执行i/o操作 安全基础 安全策略 第20章 safe-tk与浏览器插件 子解释器中的tk 浏览器插件 安全策略与浏览器插件 配置安全策略 第3部分 tk基础 第21章 tk的基本知识 th中的hello,world! tk组件的命名 配置tk组件 tk组件属性与资源数据库 tk命令概要 第22章 tk实例解析 execlog example browser tcl shell 第23章 打包摆放布局管理器(pack) 朝一侧摆放 水平与垂直难叠 空腔模型( cavity model) 打包摆放空间(packing space)与显w空间(display space) 尺寸调整与一expand 挂靠 摆放顺序 选择用于摆放的父组件 取消一个组件的摆放 打包器总结 窗口的堆叠顺序 第24章 栅格摆放布局管理器( grid) 一种基本栅格 跨行列摆放 行列约束 grid命令 第25 章定位摆放布局管理器( place) place的基础知识 面板管理器 place命令 第26章 将命令与事件编联 bind命令 bindtags命令 事件的语法 修饰符 事件序列 虚拟事件 事件关键词 第4部分 tk组件 第27章 按钮与菜单 按钮命令与作用域问题 与tcl变量关联的按钮 按钮属性 按钮操作 菜单和菜单按钮 键盘遍历 操纵菜单和菜单条目 菜单属性 通过名字来指定菜单的软件包 第28章 资源数据库 有关资源的介绍 加载选项数据库 添加单一的数据库条目 存取数据库 用户定义的按钮 用户定义的菜单 第29章 简单的tk组件 框架组件与顶层窗口 标签组件 消息组件 标尺组件 bell命令 第30章 滚动条 使用滚动条 滚动条协议 滚动条组件 第31章 输入条组件 使用输入条组件 输入条组件 第32章 列表框组件 使用列表框组件 列表框组件的编联 列表框组件的属性 第33章 文本组件 文本索引 文本标记 文本标签 文本信息的选择( selection) 标签的编联 文本搜索 嵌入组件 图片的嵌入 查看文本组件的内部信息 文本组件的编联 文本组件的操作 文本组件的属性 第34章 画布组件 画布坐标 hello, world! 最小和最大标尺的例子 画布对象 画布组件的操作 产生postscript输出 画布组件的属性 建议 第5部分 tk详解 第35章 选择和剪贴板 选择模型 selection命令 clipboard命令 选择处理程序 第36章 焦点、焦点的捕获和对话框 标准对话框 定制对话框 使用update命令实现动画 第37章 tk组件的属性 配置属性 尺寸 边界与浮雕效果 焦点的高亮显示 补自(padding)与挂靠(anchor) 第38章 颜色、图片和鼠标指针 颜色 色彩映射与视频种类 位图和图片 文本插入光标 鼠标指针 第39章 字体与文本属性 字体命名 x字体名 字模 font命令 文本属性 栅格化、尺寸调整和布局 一个字体选择应用程序 第40章 send send命令 发送者脚本 通信进程 通过套接字来实现远程eval 第41章 窗口管理器与窗口信息 win命令 winfo命令 tk命令 第42章 管理用户首选项 应用默认设置文件 定义首选项 首选项的用户界面 管理首选项文件 跟踪对首选项变量的修改 对该软件包的改进 第43章 一种操作编联的用户界面 一对协调工作的列表框 编辑界面 保存与加载编联 第6部分 c语言编程 第44章 c语言编程与tcl 基本概念 创建可加载软件包 一个用c语言实现的命令过程 blob命令的例于 字符串与国际化 tolmain和tcl-applnit tk_main 事件循环 从c中调用脚本 第45章 编译tci及扩展模块 标准目录结构 从源代码建立tci 使用占位函数库(stub library) 使用autoconf 扩展模块范例 makefile.in 第46章 使用c语言编写tk组件 初始化扩展模块 组件的数据结构 组件的类命令 组件实例命令 配置和重新配置属性 指定组件属性 时钟的显示 窗口事件过程 最后的清除工作 第47章 c函数库概览 tclc函数库概览 tk c函数库概览 第7部分 各版本之间的差异 第48章 tcl 7.4/tk 4.0 wish 过时废弃的功能 cgct操作 输入焦点的高亮显示 编联 滚动条接日 pack info 焦点 send命令 按钮的内部补白 单选按钮的值 输入条组件 菜单 列表框 没有了geometry属性 文本组件 颜色属性 颜色分配与tk colormodel 画布组件的scrollincrement 选择 bell命令 第49章 tcl 7.5/tk 4.1 跨平台脚本 clock命令 load命令 package命令 多个foreach循环变量 事件循环从tk转移到了tcl 网络套接字 多解释器与safe-tcl grid布局管理器 文本组件 输入条组件 第50章 tcl7.6/tk 4.2 更多的file操作 虚拟事件 标准对话框 新的grid布局管理器 macintosh的unsupportedl命令 第51章 tcl/tk 8.0 tcl编译器 名字空间 safe-tcl 新的lsort tcl_precision变量 2000年约定 http软件包 串行线i/o 独立于平台的字体 tk scaling命令 应用程序的嵌入 本地化菜单与菜单条 cde的边界宽度 本地化的按钮和滚动条 文本组件中的图片 destroy不再产生错误 grid rowconfigure 补丁版本 第52章 tcl/tk 8.1 unicode与国际化 线程安全 高级正则表达式 新字符串命令 dde扩展模块 杂类 第53章 tcl/tk 8.2 trf补丁 更快的字符串操作 空数组名 浏览器插件的兼容性 第54章 tcl/tk 8.3 关于tcl的修改建议 关于tk的改动建议 第55章 有关本书的cd-rom ↓展开全部内容 序言回到顶部↑Tcl为工具命令语言(Tool Command Language)的缩写。它其实是指两样东西:一种脚本语言,以及该脚本语言的解释器。该解释器可以很容易地嵌入到你的应用程序中。Tcl和与之关联的图形用户界面工具包(Tk)是由加州大学的John Ousterhout教授设计并编写的。尽管它是个商用软件包,但你也可以在Internet上找到它(见第VII页),而且可以在自己的应用程序中自由使用这个软件包。Tcl解释器已经从Unix平台移植到了DOS、Windows、OS/2、NT以及Macintosh环境中,而TK工具包也从X window系统移植到了Windows和Macintosh环境中。 1988年,当我在Berkeley做ousterhout教授的博士生时,第一次听说了Tcl。我们当时正在设计一种名为Sprite的网络操作系统。同学们在努力编制一个新式的内核程序,而John编写了一个新的编辑器和终端仿真程序。他使用Tcl作为这两种工具的命令语言,这样用户就可以定义菜单或者对那些程序进行定制。那时还处在使用X10的时代,他计划编写一个基于Tcl的X工具包,以使程序之间通过Tcl命令进行通信,彼此相互协作。对我来说,这种工具之间的相互协作就是Tcl的实质。 这种早期的设想就是让应用程序由包含编译代码的大块实体和一小部分用于进行配置和编写高级命令的Tcl代码组成。John的编辑器皿,还有终端仿真程序tx就遵循了这种模式。虽然这种模式仍然是有效的,但结果表明用Tcl来编写整个应用程序也是可能的。这是因为Tcl/Tk的shell程序wish提供了对其他程序、文件系统和网络套接字的存取功能,同时还能够创建图形用户界面。不管怎样,现在发现包含几千行Tcl脚本的应用程序并不稀奇。 我编写这本书的原因就是,虽然自己觉得使用Tcl与Tk既有乐趣又高效,但是也有令人头痛的时候。此外,在Xerox PARC工作,那里有许多语言和系统上的专家,我不得不强迫自己去理解Tcl/Tk的长处和弱点。我的许多同事都在他们的项目中采用了Tcl和Tk,但是他们也很快指出了它的缺点。因此,我就总结了一套编程技巧以充分利用Tcl/Tk的强大功能,同时回避一些棘手的问题。这本书就是一本帮助你最大限度地利用Tcl/Tk并回避一些我所经历过的令人头痛的问题的实用编程指南。 我接触Tcl语言大概已经有10年的时间了,而本书的第一版也已经出版5年了。在过去的几年中,我一直在John Ousterhout的手下工作,最初是在Sun微系统公司,而现在是在Scriptics公司。我一直使自己在很大程度上保持着一个Tcl程序员的角色,而我们工作组中的其他人员则埋头于Tcl本身的C语言实现。我创建的应用程序有HTML编辑器、EMAIL比用户接口程序、Web服务器以及用户数据库,我们的商务应用就建立在它们的基础上。这些经历在本书中有所反映。本书的大部分内容是有关Tcl脚本编程的,而有关使用C语言来创建Tcl扩展模块的内容没有着重讲述。我有幸一直参与Tcl核心技术的开发活动,希望通过本书能够将自己使用Tcl时获得的切身体会表达出来。 为什么要使用Tcl 作为一种脚本语言,Tcl与其他的Unix shell语言,如Bourne Shell(sh)、C Shell(csh)、Korn Shell以及Perl类似。Shell程序可以让你执行其他的程序。它们提供了足够的可编程特性(变量、流程控制和过程),使你可以将现有程序组装成符合自己需要的复杂的脚本程序。Shell程序非常适用于一些日常任务的自动化处理工作。 Tcl解释器可以很容易地添加到你的应用程序中,这种能力将它与其他的shell语言区分开来。Tcl扮演了一种扩展语言的角色,用来配置和定制应用程序。你没有必要再去为自己的新应用程序发明一种命令语言,或是费力为自己的工具提供某种用户可编程特性。其实,你可以通过添加一个Tcl解释器,来将自己的应用程序组织成一组操作原语,并使用这些原语来构造最符合用户需求的脚本程序。这样还可以允许其他的程序通过编程来控制你的应用程序,以使套装应用程序能够很好地在一起工作。 Tcl的C函数库拥有清晰的接口而且便于使用。该函数库实现了基本的解释器,它有一套实现变量、流程控制和过程的核心脚本命令,而且还有一组用来存取操作系统服务以运行其他程序、存取文件系统和使用网络套接字的命令。Tcl和Tk提供了一台可以在UNIX、Windows和Macintosh环境中可移植的"虚拟机"。 因为你的应用程序可以定义新的Tcl命令,所以Tcl虚拟机是可扩展的。这些命令与你的应用程序所提供的C或C++过程关联。结果应用程序就分割成一组用编译语言编写的原语,并输出成为相应的Tcl命令。使用Tcl脚本程序可以将这些原语组装成完整的应用程序。脚本语言层可以存取与shell类似的功能以运行其他的程序,可以存取文件系统,还可以直接通过自己定义的Tcl命令来调用应用程序中编译的代码部分。此外,从C编程的层面上来说,你还可以调用Tcl脚本程序、设置和询问Tcl变量,甚至跟踪Tcl解释器的执行。 在Internet上有许多可自由使用的Tcl扩展模块。许多扩展模块都包含了一个提供某种新功能的C函数库,以及该函数库的Tcl接口。这样的例子包括数据库存取、电话控制、MIDI控制器存取,还有expect,它为控制交互式程序增加了一组Tcl命令。 最为著名的扩展模块就是Tk,这是一种图形用户界面工具包。Tk定义了用来创建和操作用户界面组件的Tcl命令。这种基于脚本的用户界面编程方法有三个好处: . 由于快速的响应周期,所以开发迅速,不存在漫长的编译等待过程。 . Tcl命令提供了一种比绝大多数由标准C函数库实现的用户界面工具包更为高级的接口。它只需一小组命令就可以定义简单的用户界面,同时又可以对用户界面进行细化以恰当地实现每一个细节。快速的响应周期又为这种细化过程提供了帮助。 用户界面处理可以从你的应用程序的其余部分分离出来。因而开发人员能够专心致志地实现应用程序的核心部分,然后再颇为轻松地构建出用户界面。Tk组件的核心功能通常能够满足你所有的用户界面需求。不过,你还可以用C语言来编写定制的Tk组件,而且网上还有许多大家提供的Tk组件可以使用。 还有其他可以用做扩展语言的选择,这包括VisualBasic、Scheme、Elisp、Perl;Python和Javascript等,你可以依照个人喜好从中进行选择。Tcl拥有简单的结构,而且还有些地方类似于C语言,可以通过编制C过程来增添新的Tcl原语。Tcl非常易学,许多有关用户使用Tcl在很短的时间内(例如几个星期)就完成了相当难度的项目,并且他们以前压根就没有接触过Tcl。 当本书第一次出版时,Java轰动了计算机界。Java是一种极为优秀的系统编程语言,长远来看还有可能代替C和C什语言。这对Tcl来说挺好,它在设计时就被用来将由任意系统编程语言编写的构件粘连起来。Tcl过去被设计与C语言一起工作,但是现在已经被改造成能够与Java虚拟机一起工作。在我们提到"C或C++"的地方,现在也可以说"C、C++或Java"了,但是对于Java来说,其细节上还多少存在些差异。这本书并没有描述TcVJava接口,但是你可以在CD-ROM上找到TclBlend。TclBlend将Java虚拟机加载到你的Tc3应用程序中并允许你调用Java方法,它还可以让你使用Java而不是C或C十十来实现Tcl命令。 Javascript是一种来自于Netscape的语言,它被设计用来编写与w曲页面进行交互的脚本程序。由于Netscape的广泛使用,Javascript就显得很重要,然而Tcl提供了一种更为通用的脚本方案,可以在更为广泛的范围中使用。Tcl/Tk的Web浏览器插件提供了一种在浏览器中运行Tcl的方式,结果使得Tcl更像是一种Java的替代品而不是Javascript的替代品。该插件可以让你在浏览器中执行Tcl应用程序,而Javascript则为你提供了对浏览器和HTML显示的精细控制。这种插件将在第20章有所描述。TcI与Tk的版本 Tcl与Tk仍在继续演变。请参看http://www.beedub.com/book/来了解有关最新的Tcl版本的更新和消息。由于历史原因,Tcl与Tk曾各有各的版本号,但是它们成对发行,并一起工作。这本书的原始版本基于Tcl7.4和Tk 4.0并有几处引用了Tk 3.6的功能。第三版已经进行了更新,它反映了直到Tcl/Tk8.2以来所增添的各种新特性: . Tcl7.5和Tk 4.1的最终发布在1996年5月。这些版本的特点是将Tk移植到了Windows和Macintosh环境。它引入了Safe-Tcl安全机制,以支持网络小应用程序(Applet)的 .安全执行。它还提供了对网络套接字的支持以及一种新的输入输出(I/O)子系统,以支持高性 能的事件驱动I/O。 . Tcl7.6和Tk4.2的最终发布是在1996年的10月。这些版本包含了对S池-Tcl的改进,以及对在Tk 4.1中引进的grid布局管理器的改进。跨平台的支持包括虚拟事件(例如,以<<Copy>>宋代表<Control-c>=、标准对话框,还有更多的文件操作命令。 . Tcl 7.7和Tk 4.3是内部版本,用于开发NetscapeNavigator和MicrosoftInternetExplorer Web浏览器的Tcl/Tk插件。它们的开发工作实际上与Tcl7.6和Tk 4.2并行进行。Tcl/Tt插件已经发布了许多各种平台上的版本,其中包括Solaris/SPARC、Solaris/INTEL、SunOS、Linux、Digital UNIX、IRIX、HP/UX、Windows95、Windows NT以及Macintosh。该浏览器插件支持Web页面中的Tcl小应用程序(Applet),同时使用Safe-Tcl复杂的安全机制来提供安全保证。 . Tcl8.0为Tcl新增了一个运行时用的编译器,这个编译器提供了数倍于Tcl脚本的执行速度。Tcl8.0支持内嵌空字符的字符串。编译器对脚本来说是透明的,但是扩展模块编写入员需要学习一些新的C API才能发挥它的潜力。由于John Ousterhout从Sun微系统公司到了Scriptics公司,发布8.0版的时间推迟了几年。广泛使用的版本8.0p2是在1997年完成的,但是最终的补丁版本8.0.5直到1999年春才发布。 . 在8.0时,Tk更改了版本号以与Tcl相匹配。Tk 8.0包含了一种新的独立于平台的字体机制,它还包含了本地化菜单和菜单条,以及更多的本地化组件,它们在Windows和Macintosh上拥有更好的本地化外观。 Tcl/Tk8.1新特性主要包括对Unicode的完整支持,以及线程安全,这样你就可以将Tcl嵌入到多线程的应用程序中。Unicode是一种新的正则表达式引擎,它提供了在Perl5中所能找到的所有功能。Tk为找到正确的用于显示Unicode字符的字体完成了卓越的工作,它还增加了一种信息目录设施,这样你就可以编写国际化的应用程序。Tcylk 8.1的发布史中还包括了Sun到Scriptics的过渡。第一个alpha版本完成于1997年秋,而最终的补丁版本完成于1999年5月。 Tcl/Tk 8.2主要是一个进行bug修正和稳固化的版本。它对TclC函数库API进行了几处微小增补,这样无须核心补丁程序也能支持更多的扩展模块。Tcl/Tk 8.2很快在1999年夏进入最终版本。 谁应当阅读本书 本书不仅适用于熟练的编程人员,同样也适用于初学者。对于初学者和熟练编程人员来说,我建议大家仔细学习一下策1章"Tcl的基本知识"。Tcl的编程模型被设计成一种简单的模式,它与许多编程语言存在差异。该模型基于字符串替换,你对这一点的正确理解很重要,这样才能避免在复杂情况下遇到麻烦。这本书的其余部分则包含了演示如何高效地使用Tcl与Tt的例子。每一章中都有对其中所描述的Tcl命令和Tk组件进行总结的表格,以供参考。 本书假定你有一些编程经验,但是你如果是个彻头彻尾的新手也能够读下去。对Unix shell的了解将会对你有所帮助,但这并不是必须的。在那些涉及Windows系统的地方,我会提供一些背景信息。第2章详细描述了在UNIX、Windows和Macintosh上使用Tcl与Tk的内容。 如何阅读本书 本书最好能在上机实习中使用,可以在计算机上尝试一下书中的例子。Tcl与Tk的命令手册尽管完整但却缺少上下文的的相关信息和例子,本书就试图填补在简明手册与现有的文档化或没有很好文档化的Tcl程序之间的空隙。 我推荐使用联机手册来查阅有关的Tcl/Tk命令。它为每个命令都提供了详细的参考指南,但是它没能提供完整的细节,这在每一次发布的版本中都有所不同。HTML版本的联机手册可以在随书的CD-ROM中找到。

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧