cmd是什么?

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

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

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

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

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

如何打开cmd

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

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

关于当前目录

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

 cd C:\
 

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

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

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

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

 C:\Users\Lellansin>cd C:\

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

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

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

如何执行或打开文件

 C:\>.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%system32cmd.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

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

1
ipconfig /?

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

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

 C:\Documents and Settingsst>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. . . . . . . . . : -E3-B5-A3-A5-
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)就可以直接输入调出来。

PS原文出自lellansin

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

  1. Linux基础入门教程

    Linux基础入门教程 --------- Linux学习路径 Linux学习者,常常不知道自己改怎么学习linux:Linux初级,也就是入门linux前提是需要有一些计算机硬件相关的知识或是有一下 ...

  2. Android基础新手教程——1.10 反编译APK获代替码&amp;资源

    Android基础新手教程--1.10 反编译APK获代替码&资源 标签(空格分隔): Android基础新手教程 本节引言: "反编译Apk".看上去好像好像非常高端的样 ...

  3. python基础系列教程——Python3.x标准模块库目录

    python基础系列教程——Python3.x标准模块库目录 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata ...

  4. python基础系列教程——Python库的安装与卸载

    python基础系列教程——Python库的安装与卸载 2.1 Python库的安装 window下python2.python3安装包的方法 2.1.1在线安装 安装好python.设置好环境变量后 ...

  5. python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda

    ---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...

  6. Android基础新手教程——1.2 开发环境搭建

    Android基础新手教程--1.2 开发环境搭建 标签: Android基础新手教程 如今主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio ...

  7. Android扫盲教程大全经典教程全分享

    Android扫盲教程大全经典教程全分享,相当于android的简单用户手册下载路径 Android扫盲教程大全经典教程全分享.rar

  8. SOA体系结构基础培训教程-规范标准篇

    引子:本文是<SOA体系结构基础培训教程>第3章<SOA标准与规范>课件,版权所有,转载请注明出处. 随着SOA在业界的应用日益广泛,SOA的标准化问题也成为各界日益关注的焦点 ...

  9. [置顶] IOS 基础入门教程

    IOS 基础入门教程 教程列表: IOS 简介 IOS环境搭建 Objective C 基础知识 创建第一款iPhone应用程序 IOS操作(action)和输出口(Outlet) iOS - 委托( ...

随机推荐

  1. 飞旋treap

    虽然叫做非旋treap但是飞旋treap很带感所以就用这个名字了(SB) 这个东西是真的好写...... 主要的两个函数只有两个,rotate和splay,split和merge. merge就是大家 ...

  2. 洛谷P1258 小车问题(题解)

    https://www.luogu.org/problemnew/show/P1258(题目传送) 看题的第一眼就把题归为二分题,一直向着二分的方向走,却忽略了数学的推理.推理一番后(看了题解),发现 ...

  3. MQ在高并发环境下,如果队列满了,如何防止消息丢失?

    1.为什么MQ能解决高并发环境下的消息堆积问题? MQ消息如果堆积,消费者不会立马消费所有的消息,不具有实时性,所以可以解决高并发的问题. 性能比较好的消息中间件:Kafka.RabbitMQ,Roc ...

  4. 用servlet校验密码2

    首先,mysql真的让我有点扎心,虽然安装了但是之前没用过 第一个 初始密码给我设了fj4X1=).......一长串字符,怎么记得住嘛,再说,我记那玩意儿干啥呀 所以 果断决定改个不费脑子的密码 但 ...

  5. Prometheus-配置解析

    1.Prometheus整体架构图 2.配置文件 # 全局配置 global: scrape_interval: 15s # 多久 收集 一次数据 evaluation_interval: 30s # ...

  6. mysql数据库truncate表时间长处理

    [环境介绍] 系统环境:Linux + mysql 5.7.18 + 主从复制架构 [背景描述] 客户反映用在mysql数据库上truncate一个innode引擎的list分区100G左右表时,耗时 ...

  7. 【hdu 5632】Rikka with Array

    Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Ri ...

  8. spring的纯注解的IOC配置

    package config; import com.mchange.v2.c3p0.ComboPooledDataSource;import org.apache.commons.dbutils.Q ...

  9. 请求超时VUE axios重新再次请求

    //在main.js设置全局的请求次数,请求的间隙 axios.defaults.retry = 4; axios.defaults.retryDelay = 1000; axios.intercep ...

  10. Django组件-forms

    forms组件 校验字段功能 针对一个实例:注册用户 模型:models.py class UserInfo(models.Model): name=models.CharField(max_leng ...