计算机基础知识——DOS命令简介

Posted 穆瑾轩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机基础知识——DOS命令简介相关的知识,希望对你有一定的参考价值。

1、DOS简介

1.1、什么是DOS

    DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,它是一个单用户单任务操作系统,它直接操纵管理硬盘的文件,一般都是黑底白色文字的界面。

    DOS的组成:1)BOOT-引导程序;2)IO.SYS-输入输出处理程序;3)MSDOS.SYS-文件处理程序;4)COMMAND.COM-命令处理程序。

1.2、DOS的起源

    1972年,一个叫加里• 基尔代尔的开发了第一个用于微处理器的高级编程语言,也就是 PL/M。

    1973年他为英特尔编写了一个名为INTERP/80的8080指令集模拟器。同年,他使用PL/M语言编写出了第一个微型计算机操作系统CP/M,使8080处理器能够控制软盘驱动器。CP/M在磁盘上是无法运行的,必须将其加载到内存中,而在主板上的ROM上会放置一小段程序,当启动计算机时会执行这一小段程序,把CP/M中的其余部分都加载到内存,这个过程就称为系统的引导(Booting)。 CP/M的在内存中的空间结构大致可以分为以下五层:

    BIOS的主要功能就是系统加电时的自检、装入DOS引导程序、I/O设备的I/O处理以及接口的控制。

    1974年,加里• 基尔代尔就专门成立了Digital Research,专门从事市场营销和开发的CP/M操作系统。由于CP/M的出色表现,在8080处理器时代,可谓盛极一时。

    1978年6月,Intel推出了8086微处理器,从而开始X86处理器的传奇。

    1980年,由于当时CP/M-86的推迟,SCP(西雅图计算机产品公司)一个叫Tim Paterson的年轻小伙,基于CP/M的思想,花了6周时间,匆匆忙忙的写了一个叫QDOS的操作系统(改版之后改为86-DOS),后来Tim Paterson向微软展示了自己为8086写的86-DOS。起初,微软以极低的价格买下了86-DOS的销售经营权。同年七月,买断了86-DOS。

    1981年,IBM 推出了个人计算机IBM PC,当时可供选择的操作系统有三个:CP/M-86、UCSD p-System、86-DOS。由于价格上的因素Digital Research没能和IBM达成合作,相比之下,微软的86-DOS价格更为合适,于是微软将其改名为MS-DOS,并以次名授权给了IBM作为第一代个人计算机操作系统。IBM PC兼容机的走红令MS-DOS卖得很火,其他生产IBM PC兼容机的厂商也被授权使用MS-DOS,很快MS-DOS就成为了标准。后来CP/M-86市场已经彻底萎缩了。

    1983年,微软开始研发Microsoft Windows,最初的目的是在MS-DOS的基础上提供一个多任务的图形用户界面,隔年苹果率先推出了图形用户界面的操作系统,而微软在1985年11月20日推出了历史上第一款视窗操作系统——Windows 1.0,但比较简陋。

    1990年,Windows 3.0重磅推出,微软在这款操作系统的界面及功能上进行了较大的改进,出现了程序管理器和图标,这使得Windows越来越受用户欢迎。

    1995年8月24日,微软推出具有里程碑意义的Windows 95,并实现真正意义上的图形用户界面,使操作界面变得更加友好。

    直到Windows 95的出现,使得DOS开始从舞台的主角慢慢走向了配角,这15年间(1980-1995)的DOS可谓是风光无限。

2、DOS命令简介

    DOS命令思维导图:

2.1、基本操作

2.1.1、cmd打开方式

1)Win键+R 输入"cmd"打开(推荐);

 

2)"开始"菜单,在搜索框中输入"cmd",点击"cmd.exe"即可打开(右击则可以选择以管理员身份运行);

 

3)任意空白位置 shift+右键,选择"此处打开命令窗口(W)";

 

4)在资源管理器(任意盘符)下的地址栏前面加上"cmd" 路径;

 

5)在任务管理器(应用程序)界面中右击新建任务 输入"cmd";

 

2.1.2、快捷键(cmd命令窗口下)

1)↑↓键:可快速选择历史命令;

2)F7:可查看全部历史命令,↑↓键翻页,→键选择,或直接Enter执行;

3)Alt+F7:清除所有曾经输入命令的历史记录;

4)Tab:自动补充当前文件夹名称,与cd配合可快速进入子目录;

5)Esc:清除当前命令行;

6)Ctrl+C:强行中止命令执行;

7)Alt+PrintScr:截取屏幕上当前命令窗里的内容;

8)输入exit: 退出窗口;

2.1.3、其他

1)复制粘贴:cmd中无法使用Ctrl+C和Ctrl+V,需要复制,右键点击标记,再选中即可完成复制;

 

2)属性设置:点击左上角的小图标,可进入属性设置;

2.2、常用的命令工具

2.2.1、cmd.exe-CMD命令提示符

    cmd是command的缩写,是早期字符界面的操作系统,可以通过编写命令来管理计算机。我们可以看到在System32和SysWOW64两个目录下都有一个cmd.exe的文件。

    1978年Intel推出了首颗16位处理器-8086;

    1985年又推出了首颗32位处理器-80386,Intel把80-286、80-386...这种架构的CPU统称为x86,这也是x86名字的由来。需求与技术的发展总是相辅相成的,慢慢的人们发现32位的操作系统在速度、性能上已经无法满足我们对速度的追求,于是Intel开始向64位架构发展。

    起初的64位都只用于特殊领域的超级电脑及工作站,1999年,Intel发布IA-64架构的指令集(不兼容x86),而AMD的实现方式与Intel不同,选择继续扩展IA-32,并增加了64位通用寄存器,支持64位虚地址,向前兼容IA-32,后命名为AMD64,Intel主打的IA-64走的并不顺利,于是Intel扔掉了安腾架构(后来安腾技术团队转向至强产品),也开始搞兼容IA-32,并且在2005年宣布完全兼容AMD的64位指令集,于是现在的操作系统很少说是面向Intel还是AMD的,在称谓上大多数的厂商还是使用X86_64来称呼此架构。

    而之所以在System32和SysWOW64两个目录下都有一个cmd.exe,的历史缘由也来源于此。32位操作系统出现后,Windows上的很多应用程序默认将System32文件夹作为存放与当前系统位数一致的系统文件,Windows为了保证这些应用程序可以顺利地过渡到64位,微软也迫不得已将System32当做与当前系统位数一致的系统文件夹,而让32位的系统文件,搬到了SysWow64中去。

    这里所说的位数就是CPU一个时钟周期内能并行处理的位数,32位是4个字节,64位是8个字节;CPU位数=CPU中通用寄存器的位数=CPU能够一次并行处理的数据位宽。

例如:

    8086,16位通用寄存器,16位数据线,20位地址线,它是16位CPU;

    8088,16位通用寄存器,8位数据线,20位地址线,它也是16位CPU。

    在System32目录下,我们还能看到有很多“*.exe”结尾的可执行程序,比如:mstsc.exe、calc.exe、taskmgr.exe、mspaint.exe、SnippingTool.exe等等程序。

2.2.2、mstsc-远程桌面

    mstsc是Microsoft terminal services client(微软终端服务客户端)的缩写,用于创建与终端服务器或其他远程计算机的连接。

    首先win+R,输入mstsc,再输入我们需要连接到的远程桌面的IP地址即可。如果我们希望别人能远程连接我们的电脑,我们可以在控制面板-系统-高级系统设置-远程中开启远程桌面桌面服务:

 

    远程桌面采用的是RDP协议,是一种类似telnet的技术,他是从telnet协议发展而来的,是一种图形化的telnet,它始终使用网络端口3389。开启后,我们使用netstat -an就可以看到有3389端口已经开启了,或者使用netstat -an | find "3389"查找。  

2.2.3、calc-计算器

    calc是calculator-计算器的缩写,我们使用命令能很快的调起我们的计算器,当然也可以直接搜索计算器。

2.2.4、regedit-注册表

  • 什么是注册表

    注册表是Microsoft Windows中系统定义的数据库,用于存储和检索系统组件和应用程序的配置信息。

    早期的注册表是以ini为扩展名的文本文件形式的配置文件,从Windows 95操作系统开始,才逐渐形成了注册表;Windows NT是第一个从系统级别广泛使用注册表的操作系统,并在其后的操作系统中继续沿用至今。

注:注册表的数据因Windows的版本会有所差异,非绝对必要,不应编辑不属于应用程序的注册表数据。如果注册表中存在错误,系统可能无法正常工作。

  • 如何打开注册表

    使用win+R-->再输入regedit;

  • 注册表的结构

    注册表是一个分层数据库,数据以树格式进行结构化(包括子树-项(键)-子项-键值)。

(子树)名称描述
HKEY_CLASSES_ROOT定义文档的类型(扩展名)和与这些类型关联的属性 (或类) 。windows下的每件事、每个文件、每个目录、每个驱动...都可以看做是一个对象,每个对象都有确定的属性,其主要功能就是将一个对象和一个扩展名关联、和一个图标关联和一个命令行动关联。
HKEY_CURRENT_USER定义当前用户的首选项。这些首选项包括环境变量的设置、有关程序组的数据、颜色、打印机、网络连接和应用程序首选项。
HKEY_LOCAL_MACHINE定义计算机的物理状态,包括有关总线类型、系统内存和已安装硬件和软件的数据。包含5个子项,分别为HARDWARE子项、SAM子项、SECURITY子项、SOFTWARE子项和SYSTEM子项。
HKEY_USERS本地计算机上的新用户定义默认用户配置,并为当前用户定义用户配置。
HKEY_CURRENT_CONFIG包含有关本地计算机系统的当前硬件配置文件的信息。

    注册表的主要作用:1)记录安装信息;2)设置硬件属性;3)定制windows以及应用软件;

注:有兴趣的可以去官方文档中阅读。

2.2.5、taskmgr-任务管理器

    taskmgr即Task Manager,是Windows系统中的任务管理器查询,是Windows操作系统中自带的出现,它是系统级别最高的进程,提供了有关计算机的性能信息,并显示了计算机上所有运行的出现和进行详细信息,可管理进程。

2.2.6、mspaint-画图

    mspaint是Windows操作系统的自带的一个位图编辑器,可以对各种位图格式的图画进行编辑,使用比较方便。

2.2.7、snippingtool-截图工具

 snippingtool是win7-win10系统自带的一个截图软件,支持无规则截图。

2.2.8、其他命令及工具

1)shutdown-关机命令

shutdown -s 自动关机

shutdown -r 关机并重启

shutdown -a :可取消定时关机

shutdown -s -t 60:60秒后自动关机

shutdown -r -t 60:60秒后自动重启

2)services.msc-本地服务设置

3)notepad-记事本

4)control-控制面版

5)write-写字板

6)explorer-打开资源管理器

7)Firewall.cpl-Windows防火墙

8)chkdsk-Chkdsk磁盘检查

9)cleanmgr-磁盘清理工具

10)winver-关于Windows

11)eudcedit-造字程序

   当然还有很多这里就不一一列举了。

2.3、帮助及其他基本命令

2.3.1、help命令

   DOS命令比较多,我们很难记住全部的命令,有时候就可以借助帮助命令,来查看。

【命令功能:】查看命令手册

【命令格式:】help [command]

【使用语法:】help [CMD命令] 提供有关命令的帮助信息

【使用技巧:】help可当您想具体了解DOS命令的使用方法时使用,help不指定具体命令时,可以使用help | clip 将目录复制到剪切板复制出来

  • 使用范例

 

2.3.2、使用[DOS] /?

    当我们清楚的记得命令的名称,却对用法有些模糊,也可以使用这种方式查看命令帮助信息。

【命令功能:】查看命令帮助信息

【命令格式:】[command] /?

【使用语法:】[CMD命令] /?  提供当前命令的帮助信息

  • 使用范例

 

2.3.3、cls-清屏命令

【命令功能:】清除屏幕

【命令格式:】cls

2.3.4、date-显示或设置日期

【命令功能:】显示或设置日期

【命令格式:】date [/T | date]

【常用选项:】
    /T  指示命令只输出当前日期,但不提示输入新日期;
    date 按输出的格式设置日期yyyy/MM/dd

  • 使用范例

 

2.3.5、time-显示或设置时间

【命令功能:】显示或设置时间

【命令格式:】time [/T | time]

【常用选项:】
    /T  指示命令只输出当前时间,但不提示输入新时间;
    time 按输出的格式设置时间yyyy/MM/dd

2.3.6、ver-显示Windows版本

【命令功能:】显示Windows版本

【命令格式:】ver

2.3.7、vol-显示磁盘卷标和序列号

【命令功能:】显示磁盘卷标和序列号(如果存在)

【命令格式:】vol [drive:]

【常用选项:】
    drive 若省略盘符,显示当前驱动器卷标;

  • 使用范例

2.3.8、exit-退出cmd程序

【命令功能:】退出 CMD.EXE 程序(命令解释器)或当前批处理脚本

【命令格式:】exit [/B] [exitCode]

【常用选项:】
    /B 指定要退出当前批处理脚本而不是CMD.EXE。如果从一个批处理脚本外执行,则会退出CMD.EXE;
    exitCode 指定一个数字号码。如果指定了/B,将ERRORLEVEL设成那个数字。如果退出CMD.EXE,则用那个数字设置过程退出代码。

2.4、目录操作命令

2.4.1、cd-显示当前目录或切换目录

【命令功能:】 显示当前目录名或改变当前目录

【命令格式:】CD [/D] [drive:][path] 或 CHDIR [/D] [drive:][path]
                         CD [..] 切到父目录
【常用选项:】
    /D 选项可以在切换当前目录的同时,也切当前驱动器
    .. 两个点代表上级目录,一个点代表当前目录
【使用技巧:】
cd .>cd.txt可新建文件

  • 使用范例

2.4.2、dir-显示目录列表

【命令功能:】 显示目录中的文件和子目录列表

【命令格式:】DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

【常用选项:】
 /A          显示具有指定属性的文件。
      属性     D  目录                R  只读文件
              H  隐藏文件            A  准备存档的文件
              S  系统文件            I  无内容索引文件
              L  解析点             -  表示“否”的前缀
 /B          使用空格式(没有标题信息或摘要)。
 /C          在文件大小中显示千位数分隔符。这是默认值。用 /-C 来禁用分隔符显示。
 /D          跟宽式相同,但文件是按栏分类列出的。
 /L          用小写。
 /N          新的长列表格式,其中文件名在最右边。
 /O          用分类顺序列出文件。
     排列顺序   N  按名称(字母顺序)     S  按大小(从小到大)
              E  按扩展名(字母顺序)   D  按日期/时间(从先到后)
              G  组目录优先           -  反转顺序的前缀
 /Q          显示文件所有者。
 /S          显示指定目录和所有子目录中的文件。
 /T          控制显示或用来分类的时间字符域。时间段:C  创建时间  A  上次访问时间  W  上次写入的时间
 /W          用宽列表格式。
 /4          用四位数字显示年

  • 使用范例(显示指定属性的文件)

2.4.3、md/mkdir-创建目录

【命令功能:】创建目录,是make directory的缩写

【命令格式:】MD [drive:]path 或 MKDIR [drive:]path

【使用技巧:】md/mkdir 创建目录时如果存在多层a\\b\\c上层目录不存在会依次创建

  • 使用范例

 

2.2.4、path-路径设置命令

【命令功能:】为可执行文件显示或设置一个搜索路径

【命令格式:】PATH [[drive:]path[;...][;%PATH%]

【使用技巧:】
    键入 PATH ; 清除所有搜索路径设置并指示 cmd.exe 只在当前目录中搜索。
    键入 PATH 但不加参数,显示当前路径(也就是我们常说的系统的环境变量)。
    将 %PATH% 包括在新的路径设置中会将旧路径附加到新设置。

  • 使用范例

 

2.4.5、rd/rmdir-删除一个目录

【命令功能:】 删除一个目录

【命令格式:】RD [/S] [/Q] [drive:]path 或 RMDIR [/S] [/Q] [drive:]path

【常用选项:】
     /S      除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。

     /Q      安静模式,带 /S 删除目录树时不要求确认

  • 使用范例

2.4.6、tree-以树形结构显示文件/目录

【命令功能:】 以图形显示驱动器或路径的文件夹结构

【命令格式:】TREE [drive:][path] [/F] [/A]

【常用选项:】
     /F   显示每个文件夹中文件的名称。
     /A   使用 ASCII 字符,而不使用扩展字符。

  • 使用范例

2.5、文件操作命令

2.5.1、attrib-显示或更改文件属性

【命令功能:】 显示或更改文件属性

【命令格式:】ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
                  [drive:][path][filename] [/S [/D] [/L]]
【常用选项:】
    + 设置属性。
    - 清除属性。
    R 只读文件属性。
    A 存档文件属性。
    S 系统文件属性。
    H 隐藏文件属性。
    I 无内容索引文件属性。
    [drive:][path][filename] 指定 attrib 要处理的文件。
    /S 处理当前文件夹及其所有子文件夹中的匹配文件。
    /D 也处理文件夹。
    /L 处理符号链接和符号链接目标的属性。

  • 使用范例

2.5.2、copy-复制文件

【命令功能:】 将一份或多份文件复制到另一个位置

【命令格式:】COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]

【常用选项:】
  source       指定要复制的文件。
  /B           表示一个二进位文件。
  /D           允许解密要创建的目标文件destination  为新文件指定目录和/或文件名。
  /Y           不使用确认是否要覆盖现有目标文件的提示。
  /-Y          使用确认是否要覆盖现有目标文件的提示。
  /Z           用可重新启动模式复制已联网的文件。
  /L           如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。

  • 使用范例

 

2.5.3、copy con-从控制台创建文件

【命令功能:】 从控制台创建文件

【命令格式:】copy con file
           输入内容,然后ctrl+z,将输入的内容保存到file中
【使用技巧:】
    con 是dos 设备文件的简称。在dos中把很多外部设备作为文件,称为设备文件。
    CON 控制台(键盘/显示器);
    AUX 第一串行通信口;
    PRN 第一并行通信口/打印机;
    COM1 第一串行通信口;
    LPT1 第一并行通信口/打印机;
    NUL 空文件(不存在的设备);

  • 使用范例

2.5.4、del-删除一个或多个文件

【命令功能:】 删除一个或多个文件

【命令格式:】DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
           ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

【常用选项:】
 names         指定一个或多个文件或者目录列表。通配符可用来删除多个文件。
               如果指定了一个目录,该目录中的所有文件都会被删除。
 /P            删除每一个文件之前提示确认。
 /F            强制删除只读文件。
 /S            删除所有子目录中的指定的文件。
 /Q            安静模式。删除全局通配符时,不要求确认
 /A            根据属性选择要删除的文件
   属性         R  只读文件                     S  系统文件
               H  隐藏文件                     A  存档文件
               I  无内容索引文件                L  重分析点
               -  表示“否”的前缀

  • 使用范例

2.5.5、echo-显示信息(+ >[重定向])

【命令功能:】 显示信息,或将命令回显打开或关上

【命令格式:】ECHO [ON | OFF] 或 ECHO [message]

【常用选项:】
    ON | OFF 通常作为控制批处理命令在执行时是否显示命令行自身的开关
    如果想关闭ECHO OFF命令行自身的显示则需要在该命令行前加上“@”
【使用技巧:】
    echo [message] > file 可将message写入file
    echo [message] >> file 可往file文件中追加message
    echo. echo后紧跟一点,输出一个回车
    echo.|time 相当于在time输出后给出一个回车

  • 使用范例1

    而在批处理命令下(echo.bat):屏蔽命令提示符及命令本身,如果不希望显示echo off,则可将其写成@echo off

::echo.bat
echo off
cd
cd .\\a
cd
pause
 
  • 使用范例2

2.5.6、find-在文件中搜索字符串

【命令功能:】 在文件中搜索字符串

【命令格式:】 FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

【常用选项:】
    /V         显示所有未包含指定字符串的行。
    /C         仅显示包含字符串的行数。
    /N         显示行号。
    /I         搜索字符串时忽略大小写。
    "string"   指定要搜索的文本字符串。
    [drive:][path]filename 指定要搜索的文件。

  • 使用范例

2.5.7、findstr-在文件中寻找字符串

【命令功能:】 在文件中寻找字符串

【命令格式:】FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        strings [[drive:][path]filename[ ...]]

【常用选项:】
     /B         在一行的开始配对模式。
     /E         在一行的结尾配对模式。
     /L         按字使用搜索字符串。
     /R         将搜索字符串作为一般表达式使用。
     /S         在当前目录和所有子目录中搜索匹配文件。
     /I         指定搜索不分大小写。
     /X         打印完全匹配的行。
     /V         只打印不包含匹配的行。
     /N         在匹配的每行前打印行数。
     /M         如果文件含有匹配项,只打印其文件名。
     /O         在每个匹配行前打印字符偏移量。
     /P         忽略有不可打印字符的文件。
     strings    要查找的文字。
     [drive:][path]filename
【使用技巧:】findstr比find更强大,支持正则
 一般表达式的快速参考:
  .        通配符: 任何字符
  *        重复: 以前字符或类出现零或零以上次数
  ^        行位置: 行的开始
  $        行位置: 行的终点
  [class]  字符类: 任何在字符集中的字符
  [^class] 补字符类: 任何不在字符集中的字符
  [x-y]    范围: 在指定范围内的任何字符
  \\x       Escape: 元字符 x 的文字用法
  \\<xyz    字位置: 字的开始
  xyz\\>    字位置: 字的结束

  • 使用范例

2.5.8、more-逐屏显示输出

【命令功能:】 逐屏显示输出

【命令格式:】MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
           command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
           MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

【常用选项:】
    [drive:][path]filename  指定要逐屏显示的文件。
    command-name            指定要显示其输出的命令。
    /E      启用扩展功能
    /C      显示页面前先清除屏幕
    /P      扩展 FormFeed 字符
    /S      将多个空白行缩成一行
    /Tn     将制表符扩展为 n 个空格(默认值为 8)开关可以出现在 MORE 环境变量中。
    +n      从第 n 行开始显示第一个文件
    files   要显示的文件列表。使用空格分隔列表中的文件。
            如果已启用扩展功能,则在 -- More -- 提示处 接受下列命令:
    P n 显示下 n 行
    S n 跳过下 n 行
    F 显示下个文件
    Q 退出
    = 显示行号
    ? 显示帮助行
    <space> 显示下一页
    <ret> 显示下一行

  • 使用范例

2.5.9、move-移动、重命名文件和目录

【命令功能:】 移动文件并重命名文件和目录

【命令格式:】 移动一个文件:MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
            重命名一个目录:MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

  • 使用范例

2.5.10、rem-批处理文件加注释

【命令功能:】 在批处理文件或 CONFIG.SYS 里加上注解或说明

【命令格式:】REM [comment]

【使用技巧:】
    :: 注释内容(其实一个冒号也可以,后面再加上任何一个非数字或字母的字符,但通常使用两个冒号)
    rem 注释内容(不能出现重定向和管道符号)
    echo 注释内容(不能出现重定向和管道符号)> nul

  • 使用范例

 

2.5.11、ren-重命名文件

【命令功能:】 重命名文件

【命令格式:】 RENAME [drive:][path]filename1 filename2.
                          REN [drive:][path]filename1 filename2.

  • 使用范例

2.4.12、type-显示文本文件内容(+ nul >可创建)

【命令功能:】 显示文本文件的内容

【命令格式:】TYPE [drive:][path]filename

【使用技巧:】前面我们说到NUL是一个不存在的设备,代表空的虚拟文件
           所以,当我们把命令的输出重定向到nul上,即可实现屏蔽命令的输出,又不产生实际的文件。
           >nul 屏蔽标准输出在屏幕上的显示
           2>nul 屏蔽错误信息的显示

  • 使用范例

2.5.13、xcopy/robocopy-复制文件/目录

【命令功能:】复制文件和目录树

【命令格式:】XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B]
                           [/EXCLUDE:file1[+file2][+file3]...]

【常用选项:】
    source       指定要复制的文件。
    destination  指定新文件的位置和/或名称。
    /A           仅复制有存档属性集的文件,但不更改属性。
    /M           仅复制有存档属性集的文件,并关闭存档属性。
    /S           复制目录和子目录,不包括空目录。
    /E           复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。
    /C           即使有错误,也继续复制。
    /Q           复制时不显示文件名。
    /F           复制时显示完整的源文件名和目标文件名。
    /H           也复制隐藏文件和系统文件。
    /R           覆盖只读文件。
    /T           创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括空目录和子目录。
    /Y           取消提示以确认要覆盖现有目标文件。
注:什么是存档属性?存档属性是文件/文件夹的一种属性,表示该文件或文件夹已经备份过。
    在视窗系统中,一般文件属性有四种类型:
    1)只读-表示该文件不能被修改(针对文件有效);
    2)隐藏-表示该文件在系统中是隐藏的,在默认情况下用户看不到这些文件;
    3)系统-表示该文件是操作系统的一部分;
    4)存档-表示该文件已经备份过了,一般备份软件用此来控制备份文件。

  • 使用范例

 ROBOCOPY

【命令功能:】 Windows 的可靠文件复制

【命令格式:】ROBOCOPY source destination [file [file]...] [options]

【常用选项:】
    source  源目录(驱动器:\\路径或\\\\服务器\\共享\\路径)
    destination  目标目录(驱动器:\\路径或\\\\服务器\\共享\\路径)
    file  要复制的文件(名称/通配符: 默认为 "*.*")
    /S  复制子目录,但不复制空的子目录
    /E  复制子目录,包括空的子目录
    /MON:n :: 监视源;发现多于 n 个更改时再次运行
    /MIR  镜像目录树(等同于 /E 和 /PURGE)
    /ETA  显示复制文件的预期到达时间
    
注:Robocopy取代了较新版本的Windows中的XCopy,Robocopy能显示复制进度且Robocopy在发生错误时会重试,而XCopy不会。

  • 使用范例

    robocopy c:\\cmdTest\\a c:\\cmdTest\\ec\\ *.txt .mp3 /ETA 意思是将c:\\cmdTest\\a目录下的.txt *.mp3文件复制到c:\\cmdTest\\ec\\目录下,虽然我们直接复制已经很方便了,但是如果在一个多二复杂的文件夹中要挑选部分文件命令还是非常快的。

2.6、磁盘操作

2.6.1、chkdsk-检查磁盘并显示状态报告

【命令功能:】 检查磁盘并显示状态报告

【命令格式:】 CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B]

【常用选项:】
    volume         指定驱动器号(后面跟一个冒号)、入点或卷名。
    filename        仅用于 FAT/FAT32: 指定要检查是否有碎片的文件。
    /F              修复磁盘上的错误。
    /V              在 FAT/FAT32 上: 显示磁盘上每个文件的整路径和名称。
                    在 NTFS 上: 如果有清除消息,则显示。
    /R              查找损坏的扇区并恢复可读信息(隐含 /F)。
    /I              仅用于 NTFS: 对索引项进行强度较小的检查。
    /C              仅用于 NTFS: 跳过文件夹结构的循环检查。
    /B              仅用于 NTFS: 重新评估该卷上的坏簇(隐含 /R)
【使用技巧:】
    CHKDSK全称Microsoft Check Disk,是一个用于磁盘检查的指令程序。CHKDSK一般只显示被检测磁盘的状态报告。可通过指定参数,来修复错误。
    在某些情况下,chkdsk可能花费几十分钟甚至几个小时。

2.6.2、chkntfs-启动时显示或修改磁盘检查

【命令功能:】 启动时显示或修改磁盘检查

【命令格式:】 CHKNTFS volume [...]
            CHKNTFS /D
            CHKNTFS /T[:time]
            CHKNTFS /X volume [...]
            CHKNTFS /C volume [...]
【常用选项:】
  volume         指定驱动器号(后面跟一个冒号)、装入点或卷名。
  /D             将计算机还原为默认行为;启动时检查所有驱动器,并对有问题的驱动器运行 chkdsk。
  /T:time        将AUTOCHK初始递减计数时间更改为指定的时间,单位为秒。如果没有指定时间,则显示当前设置。
  /X             将驱动器排除在启动时检查范围之外。被排除的驱动器在命令调用之间不会累计。
  /C             安排驱动器在启动时检查;如果驱动器有问题,则运行 chkdsk。
【使用技巧:】
    CHKNTFS /C 如果启动时检测到驱动器有问题,则会在下一次重启是运行chkdsk;
    CHKNTFS /X C: 禁止chkdsk在驱动器C:上运行。

 

2.6.3、convert-将FAT卷转换为NTFS

【命令功能:】 将FAT卷转换为NTFS

【命令格式:】 CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]

【常用选项:】
 volume      指定驱动器号(后面跟一个冒号)、装入点或卷名。
 /FS:NTFS    指定要将此卷转换为 NTFS。
 /V          指定将在详细模式下运行 Convert。
 /CvtArea:filename 指定根目录中的一个连续文件,该文件将是 NTFS 系统文件的占位符。
 /NoSecurity 指定所有用户均可以访问转换文件和目录的安全设置。
 /X          如果必要,请先强制卸除卷。该卷的所有打开句柄将会无效。

【使用技巧:】 
    CONVERT可以直接在不破坏FAT文件系统的前提下,将FAT转换为NTFS。也就是我们通常所说的无损转换分区。
    FAT和NTFS是系统硬盘分区的两种格式(文件系统)。比如:FAT32支持分区的大小最大为32GB,实际中不支持单个文件大于4GB;而NTFS很好地解决了容量限制的问题,分区最大容量可以支持到16EB(2的24次方TB)。

2.6.4、format-格式化磁盘

【命令功能:】 格式化磁盘以供 Windows 使用(慎用)

【命令格式:】 FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X][/P:passes] [/S:state]
            FORMAT volume [/V:label] [/Q] [/F:size] [/P:passes]
            FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] [/P:passes]
            FORMAT volume [/V:label] [/Q] [/P:passes]
            FORMAT volume [/Q]
【常用选项:】
 volume          指定驱动器号(后面跟一个冒号)、装入点或卷名。
 /FS:filesystem  指定文件系统的类型(FAT、FAT32、exFAT、NTFS、或 UDF)。
 /V:label        指定卷标。
 /Q              执行快速格式化。请注意,此开关可替代 /P。
 /C              仅适于 NTFS: 默认情况下,将压缩在该新建卷上创建的文件。
 /A:size         替代默认分配单元大小。强烈建议您在通常情况下使用默认设置。
                 NTFS 支持 512、1024、2048、4096、8192、16K、32K、64K。
                 FAT 支持 512、1024、2048、4096、8192、16K、32K、64k,
                 (128k、256k 用于大于 512 个字节的扇区)。 
                 FAT32 支持 512、1024、2048、4096、8192、16k、32k、64k, 
                 (128k 、256k 用于大于 512 个字节的扇区)。
                 EXFAT 支持 512、1024、2048、4096、8192、16K、32K、64K、 128K、
                 256K、512k、1M、2M、4M、8M、16M、32M。

2.6.5、hostname-打印当前主机的名称

【命令功能:】 打印当前主机的名称

【使用技巧:】右击“我的电脑”选择“属性”--“计算机名”

2.6.6、label-创建、更改或删除磁盘的卷标

【命令功能:】 创建、更改或删除磁盘的卷标

【命令格式:】 LABEL [drive:][label]
            LABEL [/MP] [volume] [label]
【常用选项:】
 drive:          指定驱动器号。
 label           指定卷标。
 /MP             指定卷应被视为装入点或卷名。
 volume          指定驱动器号(后面跟一个冒号)、装入点或卷名。如果指定了卷名,/MP 标志则不必要。

2.7、网络操作

2.7.1、arp-显示和修改地址解析协议

【命令功能:】 显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。

【命令格式:】 ARP -s inet_addr eth_addr [if_addr]
            ARP -d inet_addr [if_addr]
            ARP -a [inet_addr] [-N if_addr] [-v]

【常用选项:】
     -a            通过询问当前协议数据,显示当前 ARP 项。
                   如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络
                   接口使用 ARP,则显示每个 ARP 表的项。
     -g            与 -a 相同。
     -v            在详细模式下显示当前 ARP 项。所有无效项和环回接口上的项都将显示。
     inet_addr     指定 Internet 地址。
     -N if_addr    显示 if_addr 指定的网络接口的 ARP 项。
     -d            删除 inet_addr 指定的主机。inet_addr 可以是通配符 *,以删除所有主机。
     -s            添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联。物理地址是用
                   连字符分隔的 6 个十六进制字节。该项是永久的。
     eth_addr      指定物理地址。
     if_addr       如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一
                   个适用的接口。

【使用技巧:】
> arp -s 157.55.85.212   00-aa-00-62-c6-09.... 添加静态项。
> arp -a                                  .... 显示 ARP 表。

关于ARP:
    ARP(Address Resolution Protocol),即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。
    两台主机之间要实现通信,只要能有唯一的IP地址就能实现一对一的通信。但是在最初的互联网中,所设计的IPv4由32位二进制数字,地址总容量约43亿个,面对如今庞大的互联网基数,这个是远远不够的。为了能区分唯一身份,有了MAC(物理)地址——唯一标识一个网卡,由设备商烧入。如果再给每个接入的设备分配上一个IP,我们就能通过IP+MAC地址实现主机间的通信了。
    有人会想有了唯一身份MAC地址为什么还需要IP地址?全球主机数这么多,要实现两个主机间通信,要记住如此庞大的MAC地址是不现实的。MAC地址决定下一跳(不一定是终点),IP地址决定终点到哪去。
    在局域网中传输数据,首先会将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后会将IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。有网卡的主机中都有一个ARP表,保存着同一网络中IP到MAC之间的映射记录。ARP表并不是一成不变的,大约每2分钟更新一次,这种纪录称为动态式(Dynamic)记录。还有一种称为静态记录,也就是表中的记录不变,直到TCP/IP协议重启后才会消失。

  • 使用范例

2.7.2、finger-查询站点及用户信息

【命令功能:】 finger(端口79)是互联网中最古老的协议之一,用于提供站点及用户信息,一般通过finger服务,可以查询站点上在线用户清单及一些其他有用的信息。

【命令格式:】 FINGER [-l] [user]@host [...]

【常用选项:】
    -l        以长列表格式显示信息。
    user      指定需要其信息的用户。省略 user 参数
              将显示与指定主机上所有用户有关的信息。
    @host     指定需要其用户信息的远程系统上的服务器。

2.7.3、ftp-文件传输

【命令功能:】 FTP是ARPANet的标准文件传输协议,就是现今Internet的前身

【命令格式:】 FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]

【常用选项:】
     -v              禁止显示远程服务器响应。
     -n              禁止在初始连接时自动登录。
     -i              关闭多文件传输过程中的交互式提示。
     -d              启用调试。
     -g              禁用文件名通配(请参阅 GLOB 命令)。
     -s:filename     指定包含 FTP 命令的文本文件;命令在 FTP 启动后自动运行。
     -a              在绑字数据连接时使用所有本地接口。
     -A              匿名登录。
     host            指定主机名称或要连接到的远程主机的 IP 地址。
【使用技巧:】
    我们可以使用test.rebex.net来测试ftp,使用说明:https://test.rebex.net/
    注:All servers are read-only. You cannot upload files, delete e-mails etc.

 

  • 使用范例

2.7.4、ipconfig-显示或设置网络设备

【命令功能:】 显示或设置网络设备

【命令格式:】 ipconfig [/allcompartments] [/? | /all | /renew [adapter] | /release [adapter] | /renew6 [adapter] | /release6 [adapter] | /flushdns | /displaydns | /registerdns | /showclassid adapter | /setclassid adapter [classid] | /showclassid6 adapter | /setclassid6 adapter [classid] ]

【常用选项:】
     /?               显示此帮助消息
     /all             显示完整配置信息。
     /release         释放指定适配器的 IPv4 地址。
     /release6        释放指定适配器的 IPv6 地址。
     /renew           更新指定适配器的 IPv4 地址。
     /renew6          更新指定适配器的 IPv6 地址。
     /flushdns        清除 DNS 解析程序缓存。
     /registerdns     刷新所有 DHCP 租约并重新注册 DNS 名称
     /displaydns      显示 DNS 解析程序缓存的内容。
     /showclassid     显示适配器的所有允许的 DHCP 类 ID。
     /setclassid      修改 DHCP 类 ID。
     /showclassid6    显示适配器允许的所有 IPv6 DHCP 类 ID。
     /setclassid6     修改 IPv6 DHCP 类 ID。

【使用技巧:】
     ipconfig                       ... 显示信息
     ipconfig /all                  ... 显示详细信息
     ipconfig /renew                ... 更新所有适配器
     ipconfig /renew EL*            ... 更新所有名称以 EL 开头的连接
     ipconfig /allcompartments      ... 显示有关所有分段的信息

  • 使用范例1(查看本机IP)

  • 使用范例2(查看MAC地址)

2.7.5、net-网络服务命令

【命令功能:】 net是庞大命令集,主要用于管理网络环境、服务、用户、登陆等信息内容

【命令格式:】 NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP | HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ]

【常用选项:】
    Net Accounts 更新用户帐号数据库、更改密码及所有帐号的登录要求;
    Net Computer 从域数据库中添加或删除计算机;
    Net Config 显示工作站或 Server 服务的配置信息;
    Net Localgroup 添加、显示或更改本地组;
    Net Start 启动服务,或显示已启动服务的列表;
    Net Stop 停止服务(有些服务无法停止);
    Net User 添加或更改用户帐号或显示用户帐号信息;

  • 使用范例

2.7.6、netstat-显示网络状态

【命令功能:】 显示协议统计和当前 TCP/IP 网络连接

【命令格式:】 NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

【常用选项:】
    -a            显示所有连接和侦听端口。
    -b            显示在创建每个连接或侦听端口时涉及的可执行程序。在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时涉及的组件序列。此情况下,可执行程序的名称位于底部[]中,它调用的组件位于顶部,直至达到 TCP/IP。注意,此选项可能很耗时,并且在您没有足够权限时可能失败。
    -e            显示以太网统计。此选项可以与 -s 选项结合使用。
    -n            以数字形式显示地址和端口号。
    -o            显示拥有的与每个连接关联的进程 ID。
    -p proto      显示 proto 指定的协议的连接;proto 可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或 UDPv6。
    -r            显示路由表。
    -s            显示每个协议的统计。默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6的统计;-p 选项可用于指定默认的子网。
    -t            显示当前连接卸载状态。
    interval      重新显示选定的统计,各个显示间暂停的间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat将打印当前的配置信息一次。

【使用技巧:】
    常用netstat -an 查看端口的网络连接情况

  • 使用范例(由于比较多,就筛选一部分显示)

端口说明:

1)协议

    TCP:传输控制协议,传送数据需要建立连接

    UDP:用户数据报协议,传送数据不需要先建立连接

2)本地地址和外部地址

    2-1)0.0.0.0:135 0.0.0.0:0

    0.0.0.0,代表的是匹配所有目标地址,也就是说对外部主机来说,它可以访问本地任意一个IP下的135端口的服务。

    135端口:Microsoft的DCE RPC end-point mapper服务(即DCOM服务),为RPC通信提供一种服务端口的映射功能。

    3389端口:远程桌面的服务端口。

    2-2)127.0.0.1:54360 0.0.0.0:0

    127.0.0.1仅在本地服务,外网无法访问。

    2-3)192.168.0.101:4578 140.206.78.20:80

    外网140.206.78.20:80主机可以访问本地192.168.0.101的4578端口。

3)状态

    LISTENING-监听状态

    ESTABLISHED-建立连接

2.7.7、nslookup-查找网络上域或主机IP

【命令功能:】 监测网络中DNS服务器是否能正确实现域名解析的命令行工具

【命令格式:】 nslookup [-opt ...]             # 使用默认服务器的交互模式
            nslookup [-opt ...] - server    # 使用 "server" 的交互模式
            nslookup [-opt ...] host        # 仅查找使用默认服务器的 "host"
            nslookup [-opt ...] host server # 仅查找使用 "server" 的 "host"

【常用选项:】
    type可以指定类型:
    A -->地址记录
    ATMA -->ATM地址记录
    CNAME   -->别名记录
    NS  --> 名字服务器记录
    PTR    ->反向记录

【使用技巧:】
    nslookup 域名 根据域名查IP
    nslookup >set type=PTR> IP 可根据IP反查域名

  • 使用范例

2.7.8、pathping-路由跟踪

【命令功能:】 路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工具所不提供的其他信息结合起来

【命令格式:】 pathping [-g host-list] [-h maximum_hops] [-i address] [-n]
          [-p period] [-q num_queries] [-w timeout] [-4] [-6] target_name

【常用选项:】
    -g host-list     与主机列表一起的松散源路由。
    -h maximum_hops  搜索目标的最大跃点数。
    -i address    

以上是关于计算机基础知识——DOS命令简介的主要内容,如果未能解决你的问题,请参考以下文章

CMD命令简介

Windows的DOS命令基础

Windows的DOS命令基础

计算机基础——常用的Dos命令

黑客基础之 DOS命令2

Dos 命令大全