二、命令行的规则和配置

来源:互联网 发布:美国矩阵投资管理公司 编辑:程序博客网 时间:2024/05/10 13:20

1.   基本书写规则:

       a. 和Unix命令一样,都是主谓宾定语的基本格式;

       b. 刚打开命令行时的当前路径就是系统盘(C盘)下的user中Administrator目录,这就相当于Unix中的/home下的用户私有目录;

       c. 命令名、作用对象(文件)、命令参数(就是Unix中的命令选项)之间必须用空格隔开,空白符是系统识别命令时的分隔符,空白符将一条命令分割成几个字符串作为参数传给main函数;

       d. 一个命令的字符数不能超过127个(最后一个字符留给'\0'作为字符串终止符);


2.   COMMAND.COM命令处理器:

       a. 是DOS的四大模块之一,用于检测输入的是否是合法命令,同时也是命令解释程序,用来分析输入的字符串并调用相应的程序执行命令;

       b. 开机启动了以后就驻入内存中,也就是在内存中常驻;

       c. 当用户输入指令后命令处理器就会分析其是否为内部命令、外部命令、可执行程序或者是批处理文件(即脚本);


3.   内部命令:

       a. 就是那些开机启动后随着命令处理器装入并常驻内存,也称为启动加载命令(即启动后就加载进常规内存的命令);

       b. 在任何情况下(即任何目录下)都可以直接执行的命令,就相当于这些命令直接和命令所对应的程序文件链接起来了,这些命令就相当于快捷链接;

           注:Linux C中已经讲过了,每一条命令都对应着一个可执行程序;

       c. 这些命令一般都是一些常用的系统、工具命令(如MS-DOS中的dir、cd等,Unix中的clear、rm等);


!!!注:所有命令都是应用程序,在DOS中所有.exe的可执行程序的名称都可以当作命令,不管是内部命令还是内部命令都是如此;


4.   外部命令:

       a. 也是DOS系统中的应用程序,以文件的形式保存在磁盘中;

       b. 就如同Windows图形界面下打开程序(除那些桌面上的快捷方式),必须打开我的电脑,层层进入磁盘目录,到了目标程序所在的目录下,然后双击打开目标程序;

       c. 这些外部命令所代表的的程序和b.所描述的一样,必须进入命令所代表的程序的目录中才能执行该命令,而不像内部命令一样在任何目录下都可以执行,原因就是外部命令程序在磁盘中,而内部命令在内存中,随时都可以调用;


5.   将外部命令变为内部命令——设置环境变量:

       a. 环境变量说得通俗点就是内部命令;

       b. COMMAND.COM中常驻的内部命令就是所谓的环境变量,原因是操作系统的功能执行单位就是系统程序,而每个系统程序都能映射为一条相应的命令,就像程序操作的一个个单位是变量这个概念一样,那么操作系统执行操作的单位(命令)同样可以看做一个个变量,而这些系统程序非常重要使用非常频繁,因此这些命令就加载进内存,使得任何情况下都可以执行它们,这也就是内部命令的概念,这些内部命令一直都驻扎在操作系统这个环境中,因此内部命令就是环境变量;

       c. 变量的值当然就是内部命令了,但是所有命令都对应着程序,程序是必须在磁盘中有一个原本的(内存中加载的都是磁盘中的副本),因此该变量的值就理所当然是程序在磁盘中的绝对路径了,内部命令就相当于一条链接(就是该绝对路径),执行命令时就通过这条路径找到磁盘中的程序,加载进内存后就立马执行;

       d. 实际生产软件时通常会将软件中的大多数重要的可执行程序.exe放在一个目录中(通常为bin目录,bin就是指binary,即二进制的意思,通俗点讲就是最直接的二进制机器码真正的产品都存放在该目录中了),因此通常都是将bin目录的绝对路径作为该软件在操作系统中的环境变量,这样在任何情况下都能将该目录中的.exe当做命令来运行了(即当作内部命令来执行),这就是所谓的将外部命令变为内部命令;
       e. 通常环境变量的名字是由用户自己取的,一般格式都是XX_HOME,XX就是该软件的总称,很形象,就是指该软件中工具程序(重要常用程序)的家,家里面包括了这些程序;比如安装jdk后,将jdk的bin目录设置为环境变量,并取名为JAVA_HOME,那么bin目录中所有的java应用工具都可以作为内部命令使用了,比如javac.exe(编译工具)对应的javac命令、java.exe(解释工具)对应的命令java、appletviewer.exe(WWW模拟调试工具)对应的命令appletviewer等就都可以当做内部命令使用了;
       f.  Win7下环境变量设置的流程(以jdk为例):

            右键点击计算机(我的电脑)→属性→点击左侧高级系统设置→点击环境变量

            第一种方法:直接双击系统变量中的Path变量→在变量值的最后先加一个分号“;"作为和前面变量之间的分隔符(注意!不能改动前面的东西,因为前面的路径同样也是若干个系统环境变量,如果改动了前面的东西,则可能导致一些正常的内部命令不能使用,而让它们变成了外部命令)→将jdk的bin目录的绝对路径加在后面即可;

            !!这种方式没有给环境变量取名字,是一个无名的环境变量(变量内容就是jdk的bin目录);

            第二种方法:就是先给这个环境变量取名字,然后再以变量名的形式假如到Path中,这种方式更加符合人类的思维方式,因此推荐这种环境变量的设置方法,步骤:

                                   在Administrator的变量栏目中点击新建(因为这些经过用户手动设置后所产生的内部命令并不是系统原有默认的内部命令,像dir这种,所以将这种设置放在用户的文档中比较好)→变量名填JAVA_HOME→变量值还是写jdk的bin目录的绝对路径→点击确定→还是双击系统变量中的Path→还是现在变量值的最后加分号”;"→用两个%把刚刚区号的JAVA_HOME变量名夹在中间写在分号后面即可,这就相当于用变量名来代替变值了,两个%是一种规则,系统会根据%来找夹在中间的变量名所代表的变量值;


6.   对命令行控制台中的字符进行复制黏贴:

      a. 因为这是一个控制台而不是一个文本编辑器,因此上面显示的内容不能删除或者剪贴,但是系统提供了对控制台上的字符进行复制黏贴的功能;

      b. 复制:在控制台中的任意一个位置点击右键,选择标记选项(k),然后就可以通过拖动鼠标的方式选中文本区域,敲击回车后将选中内容复制到缓存区中了;

      c. 黏贴:在控制台中的任意一个位置点击右键,选择黏贴选项(p),然后就会将复制缓存区中的内容黏贴到当前光标位置后面,从控制台以外的地方复制过来的内容也是通过这种方式黏贴进去;

      注:当然右键还有其它功能,全选是(s),查找是(f),即find的意思,里面功能还非常齐全,包括是否区分大小写,向下查还是向上查;


7.   配置字体、背景、颜色、大小等:在控制台最上方的标题栏点击右键,选择属性进入设置即可;

原创粉丝点击