打开Dos窗口

  • 打开"运行"对话框(Win+R)
  • 输入cmd,打开控制台命令窗口...
  • 也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令

注:/c表示执行完命令后关闭cmd窗口;/k表示执行完命令后保留cmd窗口

控制台命令窗口中一些技巧

  • 复制内容:右键弹出快捷菜单,选择“标记(K)”,然后选中所需复制的内容,然后右键即可
  • 粘贴内容:右键弹出快捷菜单,选择“粘贴(P)”
  • 在文件夹空白处按住Shift,然后右键弹出快捷菜单,可以看到“在此处打开命令行窗口”
  • 使用上下方向键,翻看使用过的命令
  • tab补齐功能
  • 命令参数的路径:要使用反斜杠'',不要使用正斜杠'/' 如:del d:test2filemy.txt
  • 命令参数的路径:若存在空格,应使用双引号将路径引起来 如:del "d:program filesfilemy.txt"
  • 文件及目录名中不能包含下列任何字符: / : * ? " < > |

获取帮助

command /?  // 查看command命令帮助说明
cd /?
  • 中断命令执行 Ctrl + Z

cd 切换目录

cd // 显示当前目录

cd ..   // 进入父目录

cd /d d:\src // 进入d:\src目录

cd d:\src\main\java // 进入当前目录下的src/main/java文件夹

cd d: // 显示上次d盘所在的目录

md 创建文件夹

md d:\workspace // 在D盘创建workspace文件夹

rd 删除空文件夹

rd java // 删除当前目录下的movie空文件夹
rd /s /q d:\workspace // // 使用安静模式删除d:\test(除目录本身外,还将删除指定目录下的所有子目录和文件)

copy 拷贝文件

copy key.txt c:\doc  // 将当前目录下的key.txt拷贝到c:\doc下
copy /Y key.txt c:\doc  // 将当前目录下的key.txt拷贝到c:\doc下(不询问,直接覆盖写)
copy /Y key1.txt + key2.txt key.txt  // 将当前目录下的key1.txt与key2.txt的内容合并写入key.txt中(不询问,直接覆盖写)

move 移动文件

move *.png test  // 将当前目录下的png图片移动到当前目录下test文件夹中 (若test中也存在同名的png图片,会询问是否覆盖)

del 删除文件

del test  // 删除当前目录下的test文件夹中的所有非只读文件(子目录下的文件不删除;删除前会进行确认;等价于del test\*)
del /f test  // 删除当前目录下的test文件夹中的所有文件(含只读文件;子目录下的文件不删除;删除前会进行确认;等价于del /f test\*)

del /f /s /q test d:\test2\*.doc  // 删除当前目录下的test文件夹中所有文件及d:\test2中所有doc文件(含只读文件;递归子目录下的文件;删除前不确认)


++++++++++++++++++++++

/ar、/ah、/as、/aa 分别表示删除只读、隐藏、系统、存档文件
/a-r、/a-h、/a-s、/a-a 分别表示删除除只读、隐藏、系统、存档以外的文件

++++++++++++++++++++++

例:del /ar *.* // 删除当前目录下所有只读文件

例:del /a-s *.* // 删除当前目录下除系统文件以外的所有文件

type 显示文本文件内容

type conf.ini  // 显示当前目录下conf.ini的文本内容
type c:\11.txt | more  // 分页显示c盘中11.txt的文本内容

进程操作

tasklist  // 显示当前运行的进程信息(可查看PID)

taskkill  结束指定的进程

例:taskkill /im notepad.exe  // 结束名为notepad.exe的进程

网络操作

ping  // 用于检测网络是否通畅,以及网络时延情况(工作在ICMP协议上)
ping baidu.com   //  测试与baidu服务器的连接情况
ping -l 65500 -n 10 qq.com   // 向qq.com发送10次65500字节的ping
ping -t baidu.com   // 不断地测试baidu服务器的连接情况   【Ctrl+Pause Break:查看ping的统计信息;Ctrl+C:终止当前任务】

ipconfig /all  // 查看本地ip地址等详细信息
ipconfig /displaydns  // 显示本地dns缓存的内容
ipconfig /flushdns  // 清除本地dns缓存的内容
nslookup www.cnblogs.com  // 获取www.cnblogs.com的域名解析
netstat -a   // 查看开启了哪些端口
netstat -n  // 查看端口的网络连接情况
netstat -v   // 查看正在进行的工作
netstat -p tcp  // 查看tcp协议的使用情况
tracert 182.140.167.44  // 查看本机到达182.140.167.44的路由路径
route print  // 显示出IP路由
telnet 182.140.167.44 8000   // 探测182.140.167.44是否使用TCP协议监听8000端口(注意:telnet命令不支持UDP端口检测)
arp   // 显示和修改地址解析协议(ARP)使用的“IP到mac”的地址转换表
arp -a  // 显示arp缓存表

文本处理

find  // 文件中搜索字符串
find /N /I "pid" 1.txt  // 在1.txt文件中忽略大小写查找pid字符串,并带行号显示查找后的结果
find /C "exe" 1.txt  // 只显示在1.txt文件中查找到exe字符串的次数
find /V "exe" 1.txt  // 显示未包含 1.txt文件中未包含exe字符串的行

findstr  文件中搜索字符串
findstr "hello world" 1.txt  // 在1.txt文件中搜索hello或world
findstr /c:"hello world" 1.txt nul  // 在1.txt文件中搜索hello world,并在每行结果前打印出1.txt:   注:findstr只有在2个及以上文件中搜索字符串时才会打印出每个文件的文件名,nul表示一个空文件
findstr /s /i "Hello" *.*   // 不区分大小写,在当前目录和所有子目录中的所有文件中的hello

Dos命令查看端口占用及关闭进程

1.查看端口占用
在windows命令行窗口下执行

netstat -aon|findstr "8080" 

查询结果如下:

TCP     127.0.0.1:8080         0.0.0.0:0               LISTENING       2448

2.关闭进程

  • 按进程号关闭进程
taskkill /pid 2448 /pid 2449
  • 按进程名关闭进程
taskkill /im notepad.exe /im iexplorer.exe

如果是要关闭所有chrome进程的,则使用通配符*,即:

taskkill /im chrome*.exe
  • 强行终止进程
taskkill /f /im notepad.exe
taskkill /f /pid 2152
  • 端口状态
  1. LISTENING状态

服务启动后首先处于侦听(LISTENING)状态。

2 ESTABLISHED状态
ESTABLISHED的意思是建立连接。表示两台机器正在通信。

3 CLOSE_WAIT
对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭

4 TIME_WAIT
我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。

目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作可能会带来错误。

5 SYN_SENT状态
SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因

参考资料

windows常用命令行(DOS)命令
Dos命令查看端口占用及关闭进程


alits
7 声望0 粉丝