一. 目录文件操作

1. cd - 改变当前位置

首先我们要知道当前cmd所处的位置

就是前面的那个

这个就是代表当前位置

这个位置是你每次打开cmd的默认位置

1)切换驱动器

我们目前的位置是C盘下的User用户下的shooting range,我们现在想要把位置切换到D盘

切换驱动器需要用 /d 参数

1
cd /d d:\

这样就更改了位置

2)如何切换到我们想要的目录(绝对路径切换,“ ./ 切换 “,” ../ 切换 “)

这是我的D盘

我们想要把位置切换到D盘中的GNS3中

有两种方法

第一种:打开cmd,直接切换到目标文件夹

由于我们是跨驱动器(从C盘到D盘)进行转移,所以要加上 /d 参数

1
cd /d D:\GNS3  # 这里的D:\GNS3是GNS3的绝对路径

这样就切换过来了

第二种:先切换到目标的驱动器,然后在切换到我们想要的路径下

我们先切换到D盘

1
cd /d d:/

然后在切换到D盘下的GNS3中

1
2
3
4
cd ./GNS3  
# 这里是./GNS3
# 这个 ./ 意思是当前目录下
# 这句话的意思就是 转到当前目录下的GNS3中

当然,你也可以在D盘位置下使用绝对路径

这里由于都是在D盘下,即不用切换驱动器,所以不用加 /d 参数

第三种:我们已经在GNS3目录中了,想要切换到GNS3下

我们现在的位置在这里

我们想要在这里打开cmd怎么弄呢

在当前目录上面的路径显示框中输入cmd,然后回车即可。

输入cmd

按回车

它就会在当前目录下打开cmd

我们现在想要切换到GNS3的位置

可以使用绝对路径方式:

也可以使用 ../ 的方式

我们可以看到当前是在PyQt5下,需要往回退2个目录才能到达GNS3

1
cd ../../  # 这里一个 ../ 代表退一级,两个就是退两级

成功退回来了

(3) 更多讲解 /?

我们可以使用来看更多关于它的介绍

1
cd /?  # 意思是查看cd命令的功能

2. dir - 显示文件或目录

(1) 简单查看

我们现在到D盘目录下

1
2
cd /d d:/  # 转到D盘位置
dir # 查看当前

这样就查出来D盘目录下的文件了

平常这个简单查看就够用了

(2) 花样查看

查看隐藏文件(只显示隐藏文件)
1
dir /ah

而且这个参数可以让你看到本来看不到的隐藏文件

显示文件所有者

我们可以通过命令来查看文件的所有者

1
dir /q

(3) 其他功能

其他功能可以通过 /? 查看

3. md(mkdir) - 创建目录

md就是mkdir

它的功能是创建目录,不能创建文件

我们想要在D盘下创建一个目录,目录名叫做test

1
md test

看看结果

我们刚才说它不能创建文件,那我们试试创建一个test.txt看看会怎么样

1
md test.txt

可以看到目录名为test.txt

4. rd - 删除空目录

rd命令用来删除空目录

我们把test目录删掉

1
rd test

刚才删除的test目录是个空目录,那如果我们在目录里加东西的话会怎么样呢?

我们在test.txt目录里头加点东西

然后在删除一下test.txt

1
rd test.txt

可以发现他会提示你目录非空

5. move - 移动或重命名

用于移动,重命名文件和重命名目录

我们现在对test进行操作

由于我们是要向C盘进行操作,所以我们先让cmd有管理员权限

有管理员权限的cmd是这样的

(1) 重命名目录

我们先把test.txt目录重命名为test

1
2
cd /d d:/
move test.txt test

这样就把目录改名了

(2) 重命名文件

我们把test目录下的 ”新建文件夹.txt“ 重命名为 ”test.txt“

1
move 新建文件夹.txt test.txt

重命名文件的时候,记住后缀别忘了,比如这里的 .txt

(3) 移动文件

我们把 test.txt 移动到C盘下

1
move test.txt c:/

(4) 注意事项

对C盘进行操作的时候记得要使用管理员权限

move命令无法移动目录

6. copy - 复制,合并文件

(1) 复制文件

我们先在桌面创建一个txt文件

我们把桌面上的test复制到D盘

1
2
cd ./desktop  # 转到桌面下
copy test.txt d: # 复制到D盘

(2) 合并文件

copy还支持将两个文件合并到一个文件中

现在有桌面两个文件

其中的内容分别是

我们现在将他们合并到3.txt里头

1
2
cd ./desktop  # 转到桌面下
copy 1.txt+2.txt 3.txt # 1.txt + 2.txt 合并为 3.txt

看一下3.txt的内容

(3) 注意

copy仅限于针对文件操作,不能操作目录

7. xcopy - 复制目录或文件

(1) 复制文件

现在D盘下某个目录中有一个txt文件

我们现在把这个txt文件复制到C盘

1
xcopy D:\test\test_1.txt c:\  

(2) 复制目录中内容

我们将D盘下的test目录中的内容复制到C盘中

1
xcopy D:\test c:\

由于当前test目录下的文件只有test.txt一个,所以它就只复制了一个文件

而且在刚才我们已经在C盘中复制了一个test.txt,所以他会询问是否覆盖

(3) 复制文件夹

1
2
3
xcopy /e D:\test C:\test  
# /e 代表复制目录和子目录,包括空目录。
# D:\test C:\test 代表从 D:\test 复制到 C:\test

这里他会询问这个 C:\test 是目录还是文件

(4) 其他操作

1
xcopy /?

8. del - 删文件

删除D盘下的test文件

完事儿

其他的/?自己看看就行

二. 文本操作

1. type - 显示文本内容/重定向

我们想要把ipconfig命令的内容写在D盘的ip.txt下

1
ipconfig > D:/ip.txt  # 将ipconfig的内容写入 D:/ip.txt

显示ip.txt的内容

1
type 新建文本文档.txt  # 显示文本中的内容

2. findstr - 文件中寻找字符串

findstr命令可以在所选文本文件中寻找字符串

在ip.txt找包含192的文本

1
findstr 192 ip.txt  # 从ip.txt中找192

之后它就会显示包含192的内容

我们现在想要找不包含192的内容

1
findstr /v 192 ip.txt  # 通过 /v 参数可以找不包含文本的内容

这些都是不包含192的

3. 管道符概念

先看这个例子

管道符的作用就是把前面的代码的结果保存在某个内存里,然后用后面的命令处理这个结果

有句话是这么说的:将前面命令执行的结果作为后面命令操作的对象

三. 网络相关操作

1. 配置tcp/ip参数

tcp/ip参数就是:

  • IP地址:标识了网络中的某一台主机
  • 子网掩码:用于标识你的 IP 所处的网络的范围,子网掩码越大,网络范围越小
  • 默认网关:标识与主机直连的路由器的IP地址
  • DNS:用于域名解析的
1
2
3
4
5
(1) 静态配置IP地址,子网掩码,默认网关

netsh address "Ethernet0" static 192.168.100.100 255.255.255.0 192.168.100.254

将Ethernet0网卡配置IP为192.168.100.100;子网掩码为255.255.255.0;网关为192.168.100.254
1
2
(2) 自动获取tcp/ip参数
netsh interface ip set address "Ethernet0" dhcp
1
2
3
4
5
6
7
8
(3) 配置DNS为12.12.12.12
netsh interface ip set dnsserver "Ethernet0" static 12.12.12.12

(4) 配置备用DNS服务器
netsh interface ip add dnsserver "Ethernet0" 8.8.8.8 index=2

(5) 自动获取DNS
netsh interface ip set dnsserver "Ethernet0" dhcp

2. 查看tcp/ip参数

常用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看所有网卡的TCP/IP参数(IP地址、子网掩码、默认网关)
ipconfig

# 查看所有网卡的TCP/IP参数(IP地址、子网码、默认网关、mac地址、dhcp地址、dns地址、主机名)
ipconfig /all

# 释放TCP/IP参数(IP没了)
ipconfig /release

# 重新获取TCP/IP参数
ipconfig /renew

# 刷新dns缓存
ipconfig /flushdns

3. ping

用于测试TCP/IP配置是否正确

用法如下图

4. tracert

用来跟踪主机到达目标点中间会有多少个跃点(就是路由器)

5. route

这个命令是用来操作网络路由表。

1
2
3
4
5
6
7
8
# 打印路由表
route -4 print

# 添加路由条目 (112.53.42.52目标地址或网络/32代表子网掩码,192.168.33.1网关地址)
route add 112.53.42.52/32 192.168.33.1

# 删除路由条目
route delete 112.53.42.52 #(112.53.42.52目标)

6. netstat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 列出所有连接
netstat -a

# 查看所有的TCP链接,包括进程,以数字形式显示
netstat -anop tcp

# 查看路由表
netstat -r 等同于route print

# 查询8090端口号是否占用
netstat -ln|grep 8090

# 查询占用端口号的程序名或pid
netstat -lnp|grep 8090

# 查询程序占用端口
netstat -apn|grep server

LISTEN  监听来自远方的TCP端口的连接请求

SYN-SENT  在发送连接请求后等待匹配的连接请求

SYN-RECEIVED  在收到和发送一个连接请求后等待对方对连接请求的确认

ESTABLISHED  代表一个打开的连接

TIME-WAIT  等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED  没有任何连接状态

CLOSED-WAIT  等待从本地用户发来的连接中断请求

四. 其他

其他的命令会在之后的文章中依次讲解到