程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • HTTP

  • 计算机网络

  • 计算机操作与配置文档

    • Windows 常用命令
    • 工作常用命令
      • 1. 网络排障与端口检查
        • 1.1 检测网络连通性
        • 1.2 路由追踪
        • 1.3 查看端口占用与连接状态
      • 2. 进程管理
        • 2.1 查看进程列表
        • 2.2 结束指定进程
      • 3. 文件与目录操作
        • 3.1 快速查找并筛选日志
        • 3.2 批量复制或镜像目录
      • 4. 环境变量与系统信息
        • 4.1 设置临时环境变量
        • 4.2 设置系统环境变量
        • 4.3 查看系统信息
      • 5. 批处理脚本与自动化
        • 5.1 将命令封装成 .bat 脚本
        • 5.2 重定向和管道组合
      • 6. 远程管理与故障排查
        • 6.1 Telnet 测试指定端口
        • 6.2 远程共享/访问网络路径
      • 7. 无法访问某服务排查思路
      • 8. telnet 不是内部或外部命令
        • ✅ 解决方案:启用 Telnet 客户端
        • 🚀 替代方案(如不想启用Telnet)
    • Windows设置环境变量
    • Linux上设置环境变量
    • 跨平台软件的安装与使用
  • 计算机网络
  • 计算机操作与配置文档
scholar
2025-01-14
目录

工作常用命令

# 工作中常用 CMD 命令

前言

以下内容汇总了在日常工作和运维场景中经常用到的命令及常见组合方式,帮助大家快速定位与解决实际问题。

# 1. 网络排障与端口检查

# 1.1 检测网络连通性

ping <目标IP或域名>
1
  • 用途:测试本机到目标地址的网络状况,最基础的排障手段
  • 示例:ping 192.168.1.10 -t(持续监控到目标IP的连通状态,需手动 Ctrl + C 停止)

# 1.2 路由追踪

tracert <目标IP或域名>
1
  • 用途:查看数据包到达目标所经历的路由节点,用于定位网络慢、网络中断在哪个节点发生

# 1.3 查看端口占用与连接状态

netstat -ano
1
  • 用途:查看当前所有 TCP/UDP 连接,以及对应的进程 ID(PID),用于判断是否有端口被某进程占用

  • 示例:

    netstat -ano | find "8080"  # 筛选所有使用8080端口的连接
    
    1

# 2. 进程管理

# 2.1 查看进程列表

tasklist
1
  • 用途:快速列出正在运行的进程、内存占用、PID 等

# 2.2 结束指定进程

taskkill /pid <PID> /f
taskkill /im <进程名> /f
1
2
  • 用途:杀死占用端口、卡住的进程或不需要的后台进程

  • 示例:

    taskkill /im notepad.exe /f   # 强制杀死记事本
    taskkill /pid 1234 /f         # 根据PID强制杀死进程
    
    1
    2

# 3. 文件与目录操作

# 3.1 快速查找并筛选日志

  1. 列出文件

    dir /s *error*.log
    
    1
    • 用途:从当前目录及子目录下查找文件名包含 error 的日志文件
  2. 在文件内容中查找关键词

    findstr /i "Exception" *.log
    
    1
    • 用途:在当前目录下所有 .log 文件中查找包含“Exception”字样的行,并忽略大小写

    • 增强示例:

      findstr /s /i /n "Exception" D:\logs\*.log
      
      1
      • /s:包含子目录
      • /n:显示行号

# 3.2 批量复制或镜像目录

  1. xcopy

    xcopy "C:\source" "D:\backup" /s /e /y
    
    1
    • /s:复制非空子目录
    • /e:复制空目录
    • /y:不提示覆盖
  2. robocopy

    robocopy "C:\source" "D:\backup" /mir
    
    1
    • /mir:镜像模式,会使目标目录与源目录完全一致(包括删除在目标但不在源的文件)

# 4. 环境变量与系统信息

# 4.1 设置临时环境变量

set MY_VAR=HelloWorld
echo %MY_VAR%
1
2
  • 用途:在当前 CMD 窗口下设置并查看名为 MY_VAR 的环境变量

# 4.2 设置系统环境变量

setx MY_VAR "HelloWorld" /m
1
  • 用途:创建/修改一个系统级别环境变量(需以管理员身份运行)
  • 注意:当前 CMD 不会立即生效,需要关闭并重新打开 CMD 或打开新的 CMD 窗口才能生效

# 4.3 查看系统信息

systeminfo
1
  • 用途:查看计算机名称、系统版本、补丁信息、内存、网络配置等详细情况

# 5. 批处理脚本与自动化

# 5.1 将命令封装成 .bat 脚本

@echo off
echo "开始执行批处理..."
ping 192.168.1.10
dir /s *.log
pause
1
2
3
4
5
  • 用途:把常用命令写进脚本,双击或在 CMD 中执行脚本文件,提高工作效率

# 5.2 重定向和管道组合

  1. 结果重定向到文件

    netstat -ano > netstat_result.txt
    
    1
    • 用途:将所有网络连接信息保存到本地文件以便分析
  2. 管道筛选结果

    netstat -ano | find "8080" > port_8080_info.txt
    
    1
    • 用途:将只包含 8080 关键字的行输出到文件

# 6. 远程管理与故障排查

# 6.1 Telnet 测试指定端口

telnet <IP> <端口>
1
  • 用途:快速判断目标主机端口是否可访问,例如:

    telnet 192.168.1.10 22
    
    1
    • 若能连接成功,则说明端口开放,网络连通性正常;若连接失败,可能是端口未开启或被防火墙阻挡

# 6.2 远程共享/访问网络路径

net use Z: \\192.168.1.10\sharedfolder
1
  • 用途:将远程共享文件夹映射为本地磁盘 Z:

# 7. 无法访问某服务排查思路

  1. ping 测试网络是否通:

    ping 192.168.1.10
    
    1
  2. 如果不通,使用 tracert 查看路由节点故障:

    tracert 192.168.1.10
    
    1
  3. 如果主机可达,但服务端口无法访问,检查防火墙或用 telnet 测试:

    telnet 192.168.1.10 8080
    
    1

    防火墙开放端口参考:windows开放端口,外部链接访问不成功 (opens new window)

  4. 查看本机(客户端)或目标主机(服务端)的端口占用:

    netstat -ano | find "8080"
    
    1
  5. 根据进程 PID,用 taskkill 结束冲突进程或重新部署服务:

    taskkill /pid 1234 /f
    
    1
  6. 重新启动服务后,再次使用 ping 或 telnet 测试验证。

# 8. telnet 不是内部或外部命令

📌 错误信息解释:

'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件。
1

这个错误表示 Windows系统未安装 Telnet 客户端,导致无法使用 telnet 命令来测试网络端口的连通性。


# ✅ 解决方案:启用 Telnet 客户端

Windows 默认情况下是关闭 telnet 客户端的,你需要手动启用它。

方法一:使用控制面板启用 Telnet

  1. 打开控制面板:
    • Win + R → 输入 control → 回车。
  2. 进入“程序”:
    • 点击 程序 → 程序和功能。
  3. 启用 Windows 功能:
    • 点击左侧的 启用或关闭 Windows 功能。
  4. 勾选 Telnet 客户端:
    • 在弹出的窗口中找到 Telnet 客户端,勾选它,然后点击 确定。
  5. 等待安装完成,然后重启电脑(如有需要)。

方法二:使用命令行启用 Telnet

如果你希望通过命令行启用,可以使用以下命令:

  1. 以管理员身份运行 CMD(Win + R → 输入 cmd → 右键 → 以管理员身份运行)。

  2. 输入以下命令启用 Telnet 客户端:

    dism /online /Enable-Feature /FeatureName:TelnetClient
    
    1
  3. 等待完成后,重启电脑(如有需要)。


✅ 测试 Telnet 是否安装成功

  1. 打开 cmd,输入:

    telnet 222.186.34.109 80
    
    1
  2. 如果出现黑屏并连接成功,表示端口是开放的;如果连接超时或失败,表示端口不可用。


# 🚀 替代方案(如不想启用Telnet)

如果不想启用 telnet,可以使用 PowerShell 或 curl 测试端口:

使用 PowerShell 测试端口:

Test-NetConnection -ComputerName 222.186.34.109 -Port 80
1

使用 curl 测试端口:

curl -v http://222.186.34.109:80
1

✅ 总结

  • 推荐启用 telnet 客户端,用于简单的端口连通性测试。
  • 如果无法启用,也可以使用 PowerShell 的 Test-NetConnection 命令进行测试。
  • 完成启用后,重新打开命令行即可使用 telnet 命令。
编辑此页 (opens new window)
上次更新: 2025/02/18, 05:49:06
Windows 常用命令
Windows设置环境变量

← Windows 常用命令 Windows设置环境变量→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式