作为程序猿,要想熟练操纵电脑使其为我们工作,那么久必须学会一些常用的DOS命令。我们现在使用的系统开发环境大多是采用的Windows系列操作系统,其实是构建在DOS内核的基础上的。因此,掌握一些DOS命令的用法,可以大大方便我们日常的维护工作,那么有哪些DOS命令是需要我们做为程序猿要掌握的呢?
DOS命令扩展知识
通俗地讲,DOS命令其实就是一系列的英文组成的命令行,在键盘上输入了这些命令行后,电脑会执行一定的操作。
1、dir命令
功能:Dir命令主要是用来显示一个目录下的文件和子目录
格式:Dir {路径} {参数}
参数详解:Dir命令可以显示一个目录下的文件和子目录。Dir命令可以直接使用,不需要加任何参数。
在当前的路径下使用Dir命令查看时,显示的是当前路径下的所有文件和所有子目录。同时,Dir也可以与通配符结合使用。
/p:分页显示,显示信息满一屏时,暂停显示,按任意键后显示下一屏
/w:宽行显示,只显示文件名目录名,每行五个文件名。
/ah:显示隐含属性的文件,使用此参数会当前路径下的所有隐含文件
具体应用:
①我们当前在C:>提示符下,如果我们要查看C盘Windows目录下的文件与子目录,可以直接在提示符下执行dir c:\windows就可以了。注意,dir命令与C:>之间有空格存在。
②我们要查看C盘目录下扩展名为txt的所有文件,格式为:dir *.txt
③我们要查看D盘System目录下的文件和子目录,在C:>提示符下的正确格式为:dir d:\system
说明:
①由于我们的硬盘存在多个分区,我们可以直接在提示符下键入X:后回车,这样我们就切换到另外一个硬盘分区了,其中X代表硬盘分区的符号。
②dir命令的参数,可以多个同时使用。多个参数同时使用时,每个参数之间,用空格隔开就可以了。
2、cd 命令
在学习Cd命令前,我们要先了解什么是根目录和子目录。随着硬盘容量的增大,我们对硬盘一般都划分了多个逻辑分区。从第一个硬盘分区开始分配盘符,依次为C、D等。这样,我们就有了C:>或D:>这样的提示符,这提示符下的路径,称为根目录。在根目录下,建立的目录为一级子目录,如果我们在一级子目录下建立了一个目录,则称之为二级子目录,以此类推。
小技巧:我们可以通过看提示符,查看自己处在几级目录下,如果我们的提示符是这样的C:\Windows\system32>,则证明我们在二级子目录System32 功能:改变系统当前路径或工作目录
格式:cd 目录名
参数详解:对于Cd命令来说,有两个格式,一个是cd..(Cd后面两个点),另外一个是Cd\。在DOS命令中,执行Cd..的功能是返回上一级子目录;而Cd\的功能是无论在哪一级子目录下,使用此命令可以直接返回根目录。
具体应用:
①进入目录:我们在C:>提示符下,如果要进入C盘的Windows目录,可以直接输入cd空格Windows回车就可以了。
②进入多级了目录:我们在C:>提示符下,如果要进入C盘的Windows目录下的二级子目录Command,可以有两种方法。一种方法是:先执行cd空格Windows,然后在C:\Windows>下执行Cd空格Command;另外一种方法是,直接执行Cd\Windows\Command就可以了。
小技巧:在DOS系统中,如果对哪一命令的参数不明白的话,可以使用?查找帮助。如果我们对Cd命令的参数不了解,可以输入Cd /?查看该命令的所有参数。
在DOS命令中,Dir和Cd是我们使用频率最高的两个命令。结合Dir和Cd命令,我们可以查出磁盘中的可执行文件,这样我们就掌握了如何操作DOS系统了!
通过DOS命令,我们在磁盘内的建立文件、复制文件、移动文件等操作。本篇着重介绍使用DOS命令如何建立、复制、删除文件及目录。
3、md 命令
功能:创建新的子目录
格式:MD [盘符:][路径名][子目录名]
具体应用:
①盘符:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器。
②路径名:要建立的子目录的上级目录名,若缺省则建在当前目录下。
③目录命名:这里在给新目录命名时,必须遵守文件命名的8.3制。目录名字也不能超过8个英文字母。
注意:我们在使用MD命令时,盘符与路径名之间,一般用\来隔开。在DOS系统中,盘符与路径名之间用\隔开,参数与命令之间用/隔开,在使用中请注意区别。在DOS命令中,命令词与盘符之间,需要空格。
使用特例:
我们如果要在D盘下建立一个名字为Network的子目录,在C:>提示符下的正确命令格式为:C:>md d:\network。如果我们是在D:>的提示符下,正确的命令格式为:md network。
4、rd 命令
功能:删除的空子目录
格式:RD [盘符:][路径名][子目录名]
使用说明:
①RD命令,只能删除空的子目录,也就是说,这个子目录下,不能有任何文件或子目录。
②RD命令不能删除根目录
使用特例:
我们如果要删除D盘下的System子目录,在C:>提示符下的正确命令格式为:C:>rd d:\system。如果我们是在D:>的提示符下进行操作,正确的命令格式为:D:>rd system。
5、Del命令
功能:删除指定的文件
格式:Del [盘符:][路径名][子目录名][参数]
使用说明:
①Del命令有一个参数/P,在使用了参数/P后,系统在删除前询问是否真的要删除该文件,按Y删除,按N不删除。若不使用这个参数,系统会自动删除文件。
②该命令不能删除属性为隐含或只读的文件,一个文件具备上述任何一种属性,使用Del命令都无法删除。
③在Del命令中,可以使用任何文件通配符。
④如要使用Del .或Del .命令删除磁盘上的所有文件时,系统会给会提示:Are you sure?若点Y,则开始进行删除操作;若回答N,则取消此次删除操作。
使用特例:
我们如果要删除D盘System目录下的readme.txt文件,在C:>提示符下的正确格式为:C:>del d:\system\readme.txt。
我们如果要删除D盘System目录下的所有扩展名为txt的文件,在C:>提示符下的正确格式为:C:>del d:\system*.txt。
6、Copy 命令
功能:复制一个或多个文件到磁盘的指定位置
格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]
使用说明:
①COPY是文件对文件的数据复制模式,复制前必须保证目标盘有足够的空间。如果目标盘空间不足,系统会给出提示并中止操作。
②复制过程中,目标盘上相同文件名称的旧文件会被源文件取代。
③Copy命令在使用时,文件名中允许使用通配符,而且一次可以同时复制多个文件。
④Copy命令中源文件名必须指出,不可以省略,目标文件名如果与源文件名要保持一致的话,目标文件名可以省略。
⑤使用Copy命令复制文件时,目标文件名也可以与源文件名不相同,这样的复制称为“更名拷贝”。操作时,直接把要更改的文件名写到目标文件名的位置中。注意,更名拷贝不支持多个文件同时操作。
⑥在Copy命令格式中,Copy与源文件名之间、源文件名与目标盘之间有空格,操作时请务必注意。
Copy的特殊功能:
①合并文件:使用Copy命令,可以将几个文件合并为一个文件,具体的格式为:格式如下:COPY [源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉。在使用Copy命令合并文件命令,并不保证所有合并后的文件可以正常使用,因为有一部分文件是不能合并的。
②建立文件:我们可以使用Copy命令,建立一个文件。原理就是我们将在屏幕上输入的数据,存储为一个文件。格式为:Copy con [源盘][路径] 〈新建文件名〉,在屏幕上输入数据后,按F6或者Ctrl+Z存盘即可。
说明:在DOS操作系统中,Con指屏幕,Prn指打印机。
③打印文件:我们可以使用Copy命令,将一个文件的内容打印出来。格式为:Copy [源盘][路径] 〈打印文件名〉 prn。注意,如果使用此命令打印非文本类的文件,打印机打印出来的将会是乱码。
使用特例:
①文件复制:
我们如果要将F盘下Win98目录下的所有文件,复制到D盘System目录下的Win98子目录下,在C:>提示符下的正确格式为:C:>copy f:\win98*. d:\system\win98\.*。
②更名拷贝:
我们如果要将E盘下Bak目录下的Serial.no文件复制到D盘System目录下,并更名为sn.txt,在C:>提示符下的正确格式为:C:>copy e:\bak\serial.no d:\system\sn.txt
7、Ren命令
功能:更改文件或目录的名字
格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉
使用说明:
①Ren文件更名命令,允许使用通配符更改一组文件名或扩展名。
②Ren更名命令,在Windows 95以上的DOS版本中,可以对目录进行更名操作,其他低版本的DOS命令只能对文件进行更名。
③使用Ren对文件进行更名时,可以同时更改文件基本名和扩展名,也可以单独更改文件基本名或扩展名。
使用特例:
我们要将E盘System下的lan.doc更名为network.txt,在C:>提示符下正确的命令格式为:C:>ren e:\system\lan.doc network.txt。
8、Move文件移动命令
功能:移动系统中的文件
格式:Move [源文件路径][源文件名] [目标文件路径] [目标文件名]
使用说明:
①Move命令在使用时,支持文件通配符。对于Windows 95及以上版本的DOS中,Move不但可以移动文件,也可以移动目录。
②使用Move命令移动文件时,源文件名与目标文件名,可以相同,也可以不同。
③使用Move命令移动文件后,源文件就不存在了。
使用特例:
我们可以将D盘Web目录下的所有EXE文件,移动到C盘Windows目录下的Command目录下,正确的格式为:C:>move d:\web*.exe c:\windows\command
9、Xcopy文件复制命令
功能:文件复制命令,与Copy命令不同的是,Xcopy可以复制目录及目录下的子目录和所有文件
格式:Xcopy [源文件路径][源文件名] [目标文件路径] [目标文件名] [参数]
使用说明:
①/s参数指在使用Xcopy命令复制目录时,此目录下的子目录包括空子目录也一块复制。
②使用Xcopy命令复制目录时,命令会自动在目标处建立目录名。
③Xcopy命令也支持文件通配符,一次可以复制多个文件。Xcopy命令的其他用法,与Copy命令相同。
使用特例:
我们把F盘System目录下的所有文件和子目录,全部复制到D盘的jiaweb目录下,正确的格式为:C:>xcopy f:\system*. d:\jiaweb\system\.* /s。
10、Deltree删除命令
功能:删除目录和文件
格式:Deltree [盘符:][路径名][子目录名][参数]
使用说明:
①Deltree命令可以删除文件、目录,而且Deltree命令可以删除非空子目录。如果一个子目录中,即有大量的文件,还有大量的二级子目录,使用Deltree命令就可以删除这一个子目录。
②/y参数是表示在使用Deltree命令删除文件或目录时,不出现是否确认删除的提示对话框。
③Deltree /y .表示删除所有的文件和目录,并且不出现是否确认删除的对话框。
使用特例:由于此命令与Del命令的格式完全相同,因此不再详细说明用法。
11、ping命令
它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,出现如图1所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。
-t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。
-l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。
-n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。
说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。
下面我们举个例子来说明一下具体用法,如图2。这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。
(小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)
12、nbtstat命令
该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。
-a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息。如图3。
-A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。
-n 列出本地机器的NETBIOS信息。
当得到了对方的IP或者机器名的时候,就可以使用nbtstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。
13、netstat命令
这是一个用来查看网络状态的命令,操作简便功能强大。
-a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息,如图4,这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。
-r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP
14、tracert命令
跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。如图5,这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。
15、net命令
这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车如图6。在这里,我们重点掌握几个入侵常用的子命令。 net view
使用此命令查看远程主机的所以共享资源。命令格式为net view \IP。如图7。
net use
把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: \IP\sharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use \IP\IPC$ “password” /user:”name”),如图8。建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe \192.168.0.7\admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。
net start
使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,如图9,成功启动了telnet服务。
net stop
入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。
net user
查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。
1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。
2,net user abcd /del,将用户名为abcd的用户删除。
3,net user abcd,查看用户名为abcd的用户的情况,如图10。
4,net user abcd /active:no,将用户名为abcd的用户禁用。
5,net user abcd /active:yes,激活用户名为abcd的用户。
net localgroup
查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。用法:net localgroup groupname username /add,如图11。 现在我们把刚才新建的用户abcd加到administrator组里去了,这时候abcd用户已经是超级管理员了,呵呵,你可以再使用net user abcd来查看他的状态,和图10进行比较就可以看出来。
net time
这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time \IP。如图12。
16、at命令
这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time command \computer。如图13,表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。
17、ftp命令
大家对这个命令应该比较熟悉了吧?网络上开放的ftp的主机很多,其中很大一部分是匿名的,也就是说任何人都可以登陆上去。现在如果你扫到了一台开放ftp服务的主机(一般都是开了21端口的机器),如果你还不会使用ftp的命令怎么办?下面就给出基本的ftp命令使用方法。
首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入“help”来查看帮助(任何DOS命令都可以使用此方法查看其帮助),如图14。大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。
首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入“open 主机IP ftp端口”回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍,如图15。用户名和密码都是ftp,密码是不显示的。当提示** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。
接下来就要介绍具体命令的使用方法了,如图16:
dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。
cd 进入某个文件夹。
get 下载文件到本地机器。
put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。
delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。
bye 退出当前连接。
quit 同上。
18、telnet命令
功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以administrator身份连接了远程机器后,就可以用它来干你想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息,如图17。
然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的,如图18。
当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了,如图19。这里我使用的超级管理员权限登陆的。 到这里为止,网络DOS命令的介绍就告一段落了,这里介绍的目的只是给菜鸟网管一个印象,让其知道熟悉和掌握网络DOS命令的重要性。其实和网络有关的DOS命令还远不止这些,这里只是抛砖引玉,希望能对广大菜鸟网管有所帮助。学好DOS对当好网管有很大的帮助,特别的熟练掌握了一些网络的DOS命令。
另外大家应该清楚,任何人要想进入系统,必须得有一个合法的用户名和密码,哪怕你拿到帐户的只有一个很小的权限,你也可以利用它来达到最后的目的。所以坚决消灭空口令,给自己的帐户加上一个强壮的密码,是最好的防御弱口令入侵的方法。