cmd是什么?

对于程序员而言,cmd命令提示符是windows操作系统下一个比较重要的工具。对于程序员而言,为了追求更高的效率而抛弃花俏的界面已然是一件很常见的行为,截止到目前的,全世界仍有大量的服务器还使用着单一的命令行界面。

使用命令行界面的一个重要因素就是,在远程管理的过程中,命令行操作紧需要传递少量的数据就可以对机器进行操作,如果是图形界面,由于需要传输大量的图形数据,很可能出现延迟、链接不稳定等情况,亦或者在同样情况下效率没有使用命令行界面操作来得高。所以,至今人们依旧离不开命令行操作。

而cmd则是windows系列操作系统下的命令行操作程序(不论是命令行或者是桌面这样的图形界面本质上都是程序)。

命令行界面程序cmd.exe所在的目录是C:\Windows\System32

顺带一提我们的桌面(图形操作界面)则是位于C:\Windows下的explorer.exe

如何打开cmd

方法有很多,以下列举几种

1.打开C:\Windows\System32目录,找到cmd.exe双击运行。当然,通常人们都不会这么做。
2.打开开始菜单->运行->输入cmd->回车
3.通过快捷键:win(windows商标键) + r 调出运行框,然后输入cmd回车
4.win7打开开始菜单之后可以直接输入cmd回车

关于当前目录

对于新手而言,这是一个必须要搞清楚的问题。首先我们来学习几个命令:

cd C:\

cd是change directory的简写,意思是改变目录,上面这条命令的意思就是切换到C:\目录下。

可以观察到,cmd界面上的目录变成了C:\

返回上一层目录  cd..

不同的目录盘之间切换  c:或者d:

我们可以从图中看到,cmd中的文字有变化,而有变化的地方就是我们要注意的地方。

在每一行的最前面就是当前目录的地址,例如最开始的

C:\Users\Lellansin>cd C:\

这当中"C:\Users\Lellansin"(如你的账户名称是Admin的话就是C:\Users\Admin,注意是win7的默认目录)就是我的当前目录而执行了cd C:\命令之后当前目录就变成了 C:\

当前目录是一个相对重要的概念,因为很多操作只能对当前目录里面的文件进行。就好比,通常情况下,你要操作E盘某个目录下的某个文件,你首先要双击“我的电脑”打开E盘相应的文件夹,找到那个目录才能操作那个目录下的文件一样。对于cmd而言,要操作相应目录下的文件需要切换到相应的目录。

#输入dir回车,系统会返回当前目录下的文件列表
dir

如何执行或打开文件

C:\>1.txt

如果我在C盘根目录下有一个1.txt的文本文件,那么就可以直接输入1.txt回车,即可打开该文件。(这个在linux下也是同样的情况,博主当年也搞不清楚怎么运行程序来着)

同样的,如果存在hello.exe,那么直接输入hello.exe即可运行该程序。当然需要注意的是,某些系统默认的应用程序格式(如.exe文件)在cmd中调用的时候是可以省略后缀的。也就是可以直接输入hello,然后回车也同样可以运行hello.exe。

环境变量

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。

常见的环境变量:

变量名 变量值
Path ...太多省略...
OS Windows_NT
windir %SystemRoot%
TMP %SystemRoot%\TEMP
ComSpec %SystemRoot%\system32\cmd.exe

至于%SystemRoot%的值是什么,大家只要把它复制到文件浏览上面的地址栏里面然后回车就知道了。

环境变量的作用

为系统或者用户程序设置一些默认参数。比如windir这个环境变量,就可能有程序通过读取这个环境变量的值来查看系统的版本。

环境变量的设置方法

1.【我的电脑】->右键【属性】->【高级】->【环境变量】->选中你要修改的环境变量点击【编辑】即可
2.通过cmd设置(不推荐)

path的作用

path是一个很常见得环境变量。主要用来配置系统的默认路径。也就是当你在某个目录下执行某个程序,但是本身目录下却没有这个程序的时候,系统会自动到默认路径下面也去找一找,有没有你要执行的程序。

比如你写了一个hello.exe(编译运行后,能在在程序的相应的debug目录下能找到)。然后把这个hello.exe移动到E:\test\目录下,接着

#切换到E盘
cd E:\
#切换到E盘下的test文件中
cd test
#执行hello.exe
hello.exe
#假设程序输出hello world
#这个时候再切换到E盘根目录下(cd .. 是切换到上级目录)
cd ..
#再执行hello.exe
hello.exe
#这个时候系统会提醒你找不到这个命令
#但是如果你将E:\test这个目录加入到path中,就可以在任意地方运行hello.exe

cmd的常见作用

1.自动关机
2.常看本地ip
3.使用ping
4.快速查询本地服务、端口使用情况
5.快速调用一些常用工具
6.原始编程方式,用cmd调用编译
7.学汇编都应该知道cmd下的debug
8.批处理

自动关机

先说自动关机,貌似很多人都被开过自动关机的玩笑,我们通过cmd就可以实现自动关机命令

#输入shutdown回车可以看到下图效果
shutdown


shutdown并不是一个cmd命令而是一个windows系统自带的程序shutdown.exe,位于C:\WINDOWS\system32目录下,之所以能够直接执行,是因为C:\WINDOWS\system32目录,是系统默认配置在环境变量path中的。其他还有很多的自带程序都在这个目录,以下其他程序不做过多说明。(PS:这里仅仅只讲一些cmd的常见应用,至于cmd的语法之类的,讲了也有些鸡肋,如果想学习批处理再研究也不迟)
废话不多说,我们可以从上面的图片看到,直接输入程序自动给出了一些提示,这些参数告诉了我们这个shutdown.exe要怎么使用

shutdown -s

按照他提示的参数输入这个命令,会弹出提示:

博主是在xp下测试,当然如果是在win7等系统下的话效果会不一样。如果你在实验这个命令,不要慌张马上按照提示执行下面的命令:

#取消关机
shutdown -a

接下来我们来看一下这个程序最常用的方式:

#1小时(3600秒)后关机
shutdown -s -t 3600

博主就经常用到上面这个命令,甚至桌面常备取消关机的批处理(哈哈,当年没少被开过这种玩笑)
好吧,少年,你是要问我批处理是什么嘛?
请你新建一个文件把“shutdown -s -t 3600”复制进去,然后保存,另存为.bat后缀的文件(如何更改文件后缀,不懂请戳度娘谷歌),接着双击这个bat文件。
如果你看到系统提示你一小时后会自动关闭,那么恭喜你,你已经写好了一个自动关机的批处理文件。那么同样的可以想象,取消关机的批处理,就是一个.bat文件,里面写着一行“shutdown -a”,双击一下就可以运行了(批处理的特点之一)。

当然如果,想在C语言中调用这个命令也很简单。
先引入stdlib.h库。接着就可以通过system()命令来调用了,如:

#include<stdio.h>
#include<stdlib.h>
main()
{
system("shutdown -s -t 3600");
printf("自动关机已设置!");
}

常看本地ip

通过ipconfig.exe就可以查看本地ip

ipconfig

当然也可以通过 /? 参数获取更多的帮助

ipconfig /?

(PS:博主上面测试的时候写的是\help,这个不是一个正确的参数,然后下面那个是弹出来的提示)

当然ipconfig还有很多其他的用处,比如按照提示上面说的
/all Display full configuration information.
通过/all参数调用,可以显示出全部的设置信息:

C:\Documents and Settings\st>ipconfig /all

Windows IP Configuration

        Host Name . . . . . . . . . . . . : s3049
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No Ethernet adapter 本地连接: Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . : 78-E3-B5-A3-A5-44
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 172.26.22.49
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 172.26.2.6
DNS Servers . . . . . . . . . . . : 58.22.96.66

(直接复制了,发图麻烦)

这里可以查看到一些常见的信息,比如host name是主机名,Physical Address 则是传说中的mac地址,IP Address 就是你的本机地址(注意这个通常是局域网下的)。至于后面的子网掩码还有默认网关什么的,想了解的一可以去搜索一下。
还有/flushdns(flush DNS)刷新DNS缓存什么的。相信这些信息,网管专业的同学应该都非常熟悉。(注:不明情况的围观群众不要随意开跳这个坑,了解基本即可。)

ping命令

记得原来微博上面有个吐槽,就是说很多人普通人用百度来搜索,而很多程序员则用百度来测试网络是否联通。那么如果使用ping.exe来测试网络是否联通:

ping www.baidu.com

除了这个用处以外还有一个很常见的作用就是测试自己是否能够连接到某个ip,这里有一个路由器,连接了两台电脑,在每台电脑上都可以通过ipconfig查看自己在局域网中的ip地址,假设对方的ip是192.168.1.106。那么便可以使用ping命令测试是否能联通对方的电脑。

ping 192.168.1.106

当然,眼尖的同学应该已经发现了ping.exe的另一个作用,那就使用获取某个网站的ip地址:

ping www.bilibili.tv

那么,下面的xxx就是B站的ip地址了。

其他闲话

至于
4.快速查询本地服务、端口使用情况
5.快速调用一些常用工具
6.原始编程方式,用cmd调用编译
7.学汇编都应该知道cmd下的debug
8.批处理

这些有的内容对于新手而言略坑,这里暂不做介绍。

其中的5.快速调用一些常用工具,就简单说一下博主常用的工具:
notepad 记事本
calc 计算器
mspaint 画图板
这些实际上通过菜单调出运行(或者win+r)就可以直接输入调出来。

cmd应用基础教程的更多相关文章

  1. cmd markdown 使用教程

    cmd markdown 使用教程 tags: 自制教程 李卓伦 目录: [TOC] 一.简介与安装 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,Cmd M ...

  2. Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

    自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...

  3. Python 3基础教程1-环境安装和运行环境

    本系列开始介绍Python3的基础教程,为什么要选中Python 3呢?之前呢,学Python 2,看过笨方法学Python,学了不到一个礼拜,就开始用Python写Selenium脚本.最近看到一些 ...

  4. python基础教程项目五之虚拟茶话会

    python基础教程项目五之虚拟茶话会 几乎在学习.使用任何一种编程语言的时候,关于socket的练习从来都不会少,尤其是会写一些局域网的通信的东西.所以书上的这个项目刚好可以练习一下socket编程 ...

  5. 【转贴】bat脚本基础教程

    bat脚本基础教程 https://www.cnblogs.com/linyfeng/p/8072002.html 自己动手太少了. bat脚本就是DOS批处理脚本,就是将一系列DOS命令按照一定顺序 ...

  6. Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

    昨晚Nacos社区发布了第一个生产级版本:0.8.0.由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为基础 ...

  7. Spring Cloud Alibaba基础教程-Nacos(一)

    2019快结束,也有很久没写博客了,今天我们来谈谈Nacos,如果对您有帮助,麻烦左上角点个关注 ,谢谢 ! 嘻嘻 今天先写第一篇 文章目录 为什么要使用Nacos Eureka 闭源 Nacos的优 ...

  8. matlab基础教程——根据Andrew Ng的machine learning整理

    matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...

  9. <<Bootstrap基础教程>> 新书出手,有心栽花花不开,无心插柳柳成荫

    并非闲的蛋疼,做技术也经常喜欢蛋疼,纠结于各种技术,各种需求变更,还有一个很苦恼的就是UI总是那么不尽人意.前不久自己开源了自己做了多年的仓储项目(开源地址:https://github.com/he ...

随机推荐

  1. SSM-动态SQL

    SSM-动态SQL ssm框架 Mybatis  动态SQL主要是解决同一类SQL语句匹配不同的问题,举个栗子: 加入我要执行一个查询语句,但是是一个不确定的查询语句,可能会根据ID去查,如果ID没有 ...

  2. Java语法之注解

    注解其实在其他语言也有,只是叫法不一样,在C#中叫特性,其实都是一个意思.今天就是了解下Java的注解. 一.什么是注解 我们先看官方解释:它提供了一种安全的类似注释的机制,用来将任何的信息或元数据( ...

  3. asp.net前台页面与后台之间传值,

     在前台用 js 获取到的 “值 ”需要传到后台,在后台调用,    ******  原有传入的 “值 ” 不要被覆盖     1.最简单的在页面写一个隐藏表单,隐藏标签,把获取到的值赋给隐藏标签之后 ...

  4. 接触Java的15天,初步了解面向对象

    面向对象的三打特征:封装 ,继承 ,多态 . 图老师给的,叫我们好好看一看 对象(object):一个杯子,一台电脑,一个人,一件衣服  等,都可以称为对象. 类:类是对象的抽象的分类:比如,人类进行 ...

  5. Tomcat性能调优 通过ExpiresFilter设置资源缓存

    转自 http://www.cnblogs.com/daxin/p/3995287.html [简介] ExpiresFilter是Java servlet API 当中的一部分,它负责控制设置res ...

  6. APP如何进行通信的

    什么是B/S架构(Browser/server):浏览器和服务器架构

  7. 《.NET之美》之程序集

    一.什么是程序集(Assembly)? 经由编译器编译得到的,供CLR进一步编译执行的那个中间产物,在WINDOWS系统中,它一般表现为·dll或者是·exe的格式,但是要注意,它们跟普通意义上的WI ...

  8. Python 3.4:Chromedrive,IEDriverServer,geckoDriver

    import sys; import time; import os; #from huoche import PythonTickt; from splinter.browser import Br ...

  9. 免费工资总额管控系统-JXHR2016

    •工资总额是指按照国家统计局规定的统计口径或企业规定,在一定时期内支付给各类用工的劳动报酬总额 •工资总额,即基本工资,包括岗位工资.各项津补贴 •JXHR2016以薪酬管控为核心,结合人力资源规划. ...

  10. DHCP协议总结

    1.DHCP用于分配ip地址给主机. 2.DHCP报文也分为请求.应答. 3.DHCP请求报文,第一次是广播报文,因为还不知道DHCP server的MAC地址.后续续约的报文是单播发送.但是,到了7 ...