cmd基础操作

cmd重要性

cmd是command的缩写,一直伴随着windows操作系统。有时称为:控制台窗口,cmd窗口,黑窗口,命令行窗口等。

其实,在unix系统,Linux,MacOS等几乎所有的操作系统中,都会有类似的控制台窗口。它是与系统进行深入交互不可或缺的基础设施。

早在丰富易用的图形操作界面崛起以前,人与机器交互的唯一方法可能就是通过控制台窗口,只不过那时没有“窗口”这个概念。

与图形界面相比,控制台窗口有许多优点:比如,命令清晰,没有歧义,交互传输数据量小(因而很容易实现远程终端的方式),强大的可编程能力,自动化处理等

有些复杂的命令,比如网络管理的一些复杂操作,通过命令行的方式可能比图形方式更简洁、准确、高效。

下面要介绍的是windows控制台操作的一些基本常识(以windows7专业版为例,其它版大体一样)。

启动控制台窗口

有很多种方法。

最方便的:  快捷键 win + R,弹出一个小窗,输入cmd回车即可。

如果没有进行过其它设置,弹出的应该是一个黑色底色的窗口,如图:

在大于号的前边的是系统给出的提示,表示当前所在的位置。

注意,windows的目录表示法用反斜杠,而Linux或Mac用的是斜杠。

窗口的大小、底色、字体都可以调整,但窗口的最大宽度有限制。

我们可以从当前的位置移动到自己想去的位置,命令是cd,比如,移动到当前盘的根目录下的yehang

目录间漫步

通过cd,可以从一个位置走到另一个位置。但每次输入绝对的位置比较繁琐。有许多偷懒的技巧。

自从win7开始提供了tree命令,可以列出当前目录的大致结构。

这表明当前目录下还有3个子目录,而子目录mywork中有两个子目录

如果想切换到mywork目录,当然正确的命令是:

cd mywork

有时目录名太复杂,输入不方便,怎么办?

按<tab>键来自动补全。先输入:

cd my

按<tab>键,会自动补全为"mywork"

那如果有前半部分重名呢?

比如,想进入proj-2

我们输入 cd pro

按tab键,补全为:proj-1,再按一次tab键,就补全为prj-2了。

你还可以偷懒,输入

cd

直接按tab,tab, ....

系统会把所有可能的情况都给你列举一遍!!

 很好,这次让我们进入到 y-tijie 子目录

从这里,如何回到yehang这个较上层的目录呢?

当然,可以:

cd \yehang

或者:

cd c:\yehang

这些都是绝对路径的表达法,我们还可以用相对当前位置的表达法:

cd ..\..

这个的意思是走到当前目录的上一层的上一层目录去。

清除当前屏幕的内容,用 cls

想看看某个目录下都有什么内容,用dir,比如看看c盘根目录都有啥

修改提示符

有人不喜欢拿当前的位置作为提示符,可以通过 prompt命令来修改。

默认的提示符是:当前驱动器,当前路径,然后一个大于号

这个可以修改,比如改为用当前时间做提示,这个在检测程序执行时间时有用。

prompt [$T] 就可以了。

如果还想改回原来的:

prompt $P$G

我怎么能记住这些命令参数呢? 不用急,可以:

prompt /?

这样会列出prompt可以使用的所有参数表达的含义。

快速进入某个目录

有的时候,一些目录的层次比较深,名字比较复杂,甚至含有许多不便输入的中文或者特殊符号,我们希望最好能启动cmd后快速进入到该目录。

这时可以采用通过图形界面辅助的方法。这个功能是win7才引入的。

首先,打开资源管理器,定位到要去的那个目录的位置。如图:

在上端的地址栏的空白位置点一下,全路径名变成选中状态,此时输入cmd,如图:

 

这样,直接弹出了黑窗口,并且当前目录就是我们选的位置:

这样就避免了麻烦的输入,尤其是中文,是不是很方便。

操作纯文本文件

纯文本文件是相对于有格式文件而言的。

word产生的doc文档,pdf文档等就是典型的有格式文本。它们不仅要记录文件的内容,还要记录这些内容的表达格式。

所谓格式,就是比如:字体的大小,颜色,段落的样式,图文排版的关系,表格的对齐属性等等。

而纯文本只记录内容,没有格式。

我们在编制源代码的时候,一般使用的是纯文本格式。

可能你会说,我的源码也有漂亮的各种颜色和字体的变化啊。那是你的编程工具解析了源码的含义,自动为它涂的颜色,称为“代码高亮”,或“代码着色”。这些信息并不会记录到文件中,而是在每次打开源码的时候,重新计算出来的。而且,同样的源码,不同的编程工具可能会产生不同的着色方案来。

如果没有特别的工具,我们可以用windows自带的记事本来编辑纯文本文件。

有时,为了方便,我们也可以在黑窗口状态下,产生或浏览纯文本文件。

产生文件的方法之一:

copy con a1.txt

然后输入一行一行的内容,最后结束的时候输入ctrl+Z

 

如果想简单地看一眼文件的内容,只要输入:

type a1.txt 即可。

 

环境变量

环境变量就是程序在执行时的公开的共享的信息。

一般情况下,程序需要的信息是从命令行传入的,也可以从文件、数据库或其它的IO设备读取。

但有些信息,比如cpu类型,操作系统版本等信息,是程序执行的环境,是多个程序都可能需要知道的公共的信息。

这些信息,一般以环境变量的形式提供。

在控制台中,输入set,可以列出所有的环境变量。

这些环境变量中,最为常用的可能是path了。

path的含义是当我们要启动一程序时,如果没有指明程序的具体位置,系统就会按照path列出的目录,一个位置一个位置地去匹配。

如果所有的位置都匹配不上,就会说:“xxx不是内部命令也不是可执行程序....”

在控制台状态下,我们可以临时改变path,一般是把一个新的路径加入到path中,为了保险起见,可以加在整个path的最前边,用分号分开。

之所以说是“临时”,是因为当关闭了黑窗口后,所有的修改就都失效了。

比如,把 c:\yehang 加入到path

这样一来,无论我们当前的目录位置在哪里,要执行c:\yehang下的某个程序,直接输入那个程序的名字就可以了。

 cmd命令格式

一般,cmd命令有两种,一种是我们自己开发或其它公司开发的可执行程序(通常是*.exe类型的文件)。

这种程序如何使用,由开发它的作者决定(但一般也会遵守一些惯例)。

 另一种就是由操作系统提供的命令了。这些命令的用法有些一致的规则。

 它的格式一般为:

命令 [选项] 作用于的对象

比如:列出目录的内容

dir

单独一个命令,没有对象,没有选项,则作用于当前目录,用默认的方式。

dir c:\

则是列出c盘根目录的所有内容。

dir /A:H c:\

则是列出c盘根目录的隐藏内容。其中的 /A:H 就是命令选项,它进一步细致地刻划出命令应该如何工作。

dir /s c:\windows

则是递归地列出 c:\windows 目录及其子目录的所有内容。这里的 /s 是命令选项。

由于文件较多,这可能会导致屏幕上一直有内容在滚动。

可以用 Ctrl + C 来中断。

如果你想知道都有哪些命令选项,可以 dir /? 来查看帮助。

 

输入输出重定向

屏幕上的内容太多,或者滚动太快来不及看,我们都可以用重定向功能。

输出重定向就是把本应该输出到屏幕的内容,转而输出到一个指定的文件。

比如:

dir /s c:\windows > 1.txt

在屏幕上什么都不显示,但大量的目录,文件信息都被写入到当前目录下的一个名为 1.txt 的文件中了。

输入重定向就是把本应该通过键盘输入的内容,转而从一个给定的文件输入。这对实现自动化很有用处。

 

更多的细节和使用技巧可以百度。

初学编程还可以参考作者在B站的视频:

https://www.bilibili.com/video/BV1mA411G75m/

或白搜索:可雷曼土

 

posted @ 2018-03-26 15:23  可雷曼土  阅读(10198)  评论(0编辑  收藏  举报