Menu

  • Home
  • Work
    • Cloud
      • Virtualization
      • IaaS
      • PaaS
    • Java
    • Go
    • C
    • C++
    • JavaScript
    • PHP
    • Python
    • Architecture
    • Others
      • Assembly
      • Ruby
      • Perl
      • Lua
      • Rust
      • XML
      • Network
      • IoT
      • GIS
      • Algorithm
      • AI
      • Math
      • RE
      • Graphic
    • OS
      • Linux
      • Windows
      • Mac OS X
    • BigData
    • Database
      • MySQL
      • Oracle
    • Mobile
      • Android
      • IOS
    • Web
      • HTML
      • CSS
  • Life
    • Cooking
    • Travel
    • Gardening
  • Gallery
  • Video
  • Music
  • Essay
  • Home
  • Work
    • Cloud
      • Virtualization
      • IaaS
      • PaaS
    • Java
    • Go
    • C
    • C++
    • JavaScript
    • PHP
    • Python
    • Architecture
    • Others
      • Assembly
      • Ruby
      • Perl
      • Lua
      • Rust
      • XML
      • Network
      • IoT
      • GIS
      • Algorithm
      • AI
      • Math
      • RE
      • Graphic
    • OS
      • Linux
      • Windows
      • Mac OS X
    • BigData
    • Database
      • MySQL
      • Oracle
    • Mobile
      • Android
      • IOS
    • Web
      • HTML
      • CSS
  • Life
    • Cooking
    • Travel
    • Gardening
  • Gallery
  • Video
  • Music
  • Essay

MS-DOS批处理学习笔记

2
Jul
2004

MS-DOS批处理学习笔记

By Alex
/ in Windows
/ tags BAT, Command, DOS, 学习笔记
0 Comments
基础知识
关于目录

任何一个目录下均有 .、 ..这两个虚拟目录,其中 .指向当前目录, ..指向上级目录:

MS DOS
1
2
3
4
5
6
7
8
9
10
pushd D:\Programs\chrome
 
rem 下面两条还是进入当前目录
cd D:\Programs\chrome\.
cd Programs\chrome\.\.\.
 
rem 进入上级目录
cd D:\Programs\chrome\..
rem 进入上级目录的上级目录
cd D:\Programs\chrome\..\..
基本命令与概念
符号  说明
@前缀 取消当前命令的回显
ECHO OFF 禁用命令回显
SET 显示、设置或删除环境变量
MS DOS
1
2
3
4
rem expression被扩展为算术表达式
SET /A variable=expression
rem 从标准输入读入一行,promptString为读入前显示的文本
SET /P variable=[promptString]
ECHO. 显示空行
PUSHD 压栈并切换到指定工作目录,例如PUSHD C:\TEMP
POPD 弹出并回到上一个工作目录
组合命令 &:串联多个命令,依次执行
&&:只有前面命令成功了,后面命令才执行
||:只有前面命令失败了,后面命令才执行
" " 字符串界定符——允许在字符串中包含空格
^

转义字符,例如^G表示响铃

在行尾,表示下一行的内容与这一行作为单行看待

* 通配0-N个字符
% 批处理变量引导符。%VAR%引用环境变量,%n引用调用参数,%*表示所有调用参数
!VAR! 变量延迟扩展符
? 通配单个字符
COLOR 设置背景前景色,使用一位数表示颜色。例如COLOR 47表示红色背景白色文字

0 = 黑色 1 = 蓝色 3 = 湖蓝色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色
6 = 黄色E = 淡黄色 7 = 白色 8 = 灰色 9 = 淡蓝色 2 = 绿色 A = 淡绿色  D = 淡紫色

TITLE 设置窗口标题
FIND

在文本中搜索字符串,命令格式: 

MS DOS
1
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

/V 显示所有未包含指定字符串的行
/C 仅显示包含字符串的行数
/N 显示行号
/I 搜索字符串时忽略大小写
/OFF[LINE] 不要跳过具有脱机属性集的文件"string" 指定要搜索的文字串
[drive:][path]filename 指定要搜索的文件

ATTRIB 显示或更改文件属性,命令格式:
MS DOS
1
ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[drive:] [path] filename] [/S [/D]]

+ 设置属性, - 清除属性
R 只读文件属性, A 存档文件属性, S 系统文件属性, H 隐藏文件属性
/S 处理当前文件夹及其子文件夹中的匹配文件, /D 也处理文件夹

NUL 空设备
1>nul  表示禁止输出一般信息(重定向标准输出到空设备)
2>nul 表示禁止输出错误信息(重定向标准错误到空设备)
Ctrl+C 按键中断批处理执行
Ctrl+S 暂停或者恢复显示
~ 扩展符号,对于变量%1,可以这样使用%~x1:取变量的扩展名。支持的扩展列表:

%~1 扩展 %1 并删除任何引号 ("")
%~f1 将 %1 扩展到全限定的路径名
%~d1 将 %1 扩展到驱动器盘符
%~p1 将 %1 扩展到路径
%~n1 将 %1 扩展到文件名
%~x1 将 %1 扩展到文件扩展名
%~s1 扩展的路径仅包含短名称
%~a1 将 %1 扩展到文件属性
%~t1 将 %1 扩展到文件日期/时间
%~z1 将 %1 扩展到文件大小
%~$PATH:1 搜索 PATH 环境变量中列出的目录,并将 %1 扩展到第一个找到的目录的完全限定名称。如果没有定义环境变量名称,或没有找到文件,则此符号扩展成空字符串

获取bat所在目录的例子:
MS DOS
1
2
3
4
set BAT_PATH0=%~dp0
set BAT_PATH=%BAT_PATH0:~0,-1%
for %%f in (%BAT_PATH%) do set BAT_FOLDER=%%~nxf
echo %BAT_FOLDER%
| 管道符:将一个命令的输出作为另外一个命令的输入
> TARGET 重定向输出
MS DOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
rem 将第一个命令的输出作为第二个命令的输入
command1>commana2  
rem 将输出发送到指定的文件,必要的时候需要创建该文件或重写
command>[path]filename
rem 将输出附加到指定的文件(如果该文件存在),或者创建该文件并向其写入
command>>[path]filename
rem 从指定的文件中获取命令的输入,之后将命令的输出发送到指定的文件
command<[path] filename >[path]filename
rem 从指定的文件中获取命令的输入,之后将命令的输出附加到指定的文件
command<[path]filename>>[path]fllename
rem 创建指定的文件,之后将错误输出发送到该文件。如果该文件存在,则其内容会被重写
command 2> [path]filename
rem 将错误输出信总发送到标准输出
command 2>&1
rem 将标准错误丢弃,不显示
command 2> nul
rem 从指定的文件路径中提取命令的输入信息
command<[path]filename
>> TARGET 重定向输出,附加模式
< SOURCE 重定向输入
REM 注释,内容可以回显。::这样的注释则不会回显
PAUSE 暂停执行,按任意键继续ECHO 定制的提示语 & pause > nul
SHIFT 参数移位,即第二个参数变为第一个,第一个移除,命令格式 SHIFT n ,其中 0<=n<=8
CALL 在一个批处理程序中调用另外一个,执行完毕后返回CALL :label arguments,调用当前批处理文件内的命令段——:label开头,以命令goto :eof结尾的部分
START 在新的命令行窗口中执行程序,命令格式:start ["title"] [/dPath] [/i] [/min] [/max] [{/separate | /shared}] [{/low | /normal | /htgh | /realtime | /abovenormal | belownormal}] [/wait] [/b] [FileName] [parameters]

title:指定在“命令提示符”窗口标题栏中显示的标题
/dPath:指定启动目录
/i:将Cmd.exe启动环境传送到新的“命令提示符”窗口
/min:启动新的最小化“命令提示符”窗口
/max:启动新的最大化“命令提示符”窗口
/separate:在单独的内存空间启动16位程序
/shared:在共享的内存空间启动16位程序
/low:以空闲优先级启动应用程序
/normal:以一般优先级启动应用程序
/high:以高优先级启动应用程序
/realtime:以实时优先级启动应用程序
/abovenormal:以超出常规优先级的方式启动应用程序
/bdownormal:以低出常规优先级的方式启动应用程序
/wait:启动应用程序,并等待其结束
/b:启动应用程序时不必打开新的“命令提示符”窗口
FileName:指定要启动的命令或程序
parameters:指定要传送给命令或程序的参數

动态环境变量
变量  说明
%CD% 扩展到当前目录字符串
%DATE% 用跟 DATE 命令同样的格式扩展到当前日期
%TIME% 用跟 TIME 命令同样的格式扩展到当前时间
%RANDOM% 扩展到 0 和 32767 之间的任意十进制数字
%ERRORLEVEL% 扩展到当前 ERRORLEVEL 数值
%CMDEXTVERSION% 扩展到当前命令处理器扩展名版本号
%CMDCMDLINE% 扩展到调用命令处理器的原始命令行
批处理参数
参数 说明
%0 批处理文件的名字
%1 - %9 第1-9个参数
%~nx0 批处理文件的名字,例如some-batch.bat
%~dp0 批处理文件所在目录,例如C:\scripts
%~dpnx0 批处理文件全限定名
批处理编程
变量管理
setlocal

setlocal命令可在批处理程序运行时设置自身的临时变量环境(仅对当前批处理程序有效),直到出现endlocal

1
2
#同时启用变量延迟扩展
setlocal enabledelayedexpansion
set

set命令用于创建、设置或者删除环境变量,命令格式: set [[/a [expression]] [/p [variable=]] string]

参数说明:

  1. /a:将string设置成可求值的数学表达式,expression:合法的表达式,表达式支持的运算符按优先级降序如下:
    运算符 说明
    () 分组
    ! ~ - 一元运算符
    * / % + - 算术运算符
    << >> 移位
    & ^ | 按位与非或

    =   *=   /=   %=   +=   -=
    &=   ^=   |=   <<=   >>=

    赋值
    , 表达式分隔符
  2. /p:将variable的值设置成输入行,variable:指定需要设置或修改的变量
  3. string:指定要与指定变量关联的字符串

举例:

MS DOS
1
2
3
4
5
6
7
8
9
10
11
12
REM 设置VAR1为Hello
SET VAR1=Hello
REM 提示用户输入
SET /P variable=请输入值
REM 设置变量为表达式的值,下面为VAR1递增
SET /a VAR1=VAR1+1
REM 设置VAR1为"Hello"
SET  VAR1="Hello"
REM 如果变量值包含命令关键字,可以使用双引号包围:
SET "VAR1=&amp;"
REM 删除变量
SET VAR1=
条件测试

注意对环境变量进行条件测试的时候,不能带%%。

MS DOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
REM 文件存在性测试(注意,不能用来测试环境变量)
IF [NOT] EXIST FILENAME.EXT Command
if not exist SERVICE_NAME &nbsp;set "SERVICE_NAME=%SERVICE_NAME_DEFAULT%"
REM 如果有多行命令需要执行,可以用()包围:
set /p VENDER_NAME=
IF NOT Gmem=VENDER_NAME (
    echo.
)
REM 变量是否为空测试
IF DEFINED VAR_NAME (...)
REM 字符串为空测试,这个用于stdin读入变量无效
IF [%1] == [] ECHO "Empty argument."
REM 字符串相等性测试,加上双引号避免歧义
IF "%VAR_NAME%" == "1" ECHO .
REM 注意,如果VAR_NAME来自标准输入,或者可能为空,要加上双引号,否则可能出现
REM was unexpected at this time(此时不应有)错误
REM 如果字符串可能有空格,可以使用双引号,例如 "AUTOEXE .BAT","%1"(第一个参数)
IF [NOT] %1 == AUTOEXEC.BAT ECHO Parameter is AUTOEXEC.BAT
REM 上一条命令返回值测试
REM 其中值为整数,只要大于等于该值,判断为真。0表示没有错误
IF [NOT] ERRORLEVEL 值 Command
REM 比较字符串大小:op可以是:EQU、NEQ、LSS、LSQ、GTR、GEQ之一,/i表示忽略大小写
if [/i] stringl op string2 command [else expression]
REM 如果变量被定义,则执行
if defined variable command [else expression]
 
REM IF-ELSE结构
IF EXIST filename (
    del filename
) ELSE (
    echo filename missing
)
分支转移GOTO
MS DOS
1
2
3
4
GOTO LABEL
 
:LABEL
ECHO done
for命令循环
参数说明
  1. %variable|%%variable:代表可替换的参教:
    使用%variable通过命令提示符执行for 命令,使用%%variable在批处理文件执行for命令
  2. set:指定要用命令处理的一个或多个文件、目录、数值范围或文本字符串
  3.  command:指定要对包括在指定(set)中的每个文件、目录、数值范围或文本字符 串所执行的命令
  4. CommandLineOptions:命令使用的命令行选项
for命令的不同形式
 用途 语法格式 
文件集合  for %%variable in (fileSet) do statement
目录集合 for /D %%variable in (directorySet) do statement
子目录中的文件 for /R [path] %%variable  in (fileSet) do statement
遍历一系列的值 for /L %%variable in (stepRange) do statement
分析文本文件、字符串以及命令输出 for /F ["options"]  %%variable in (source) do statement
示例:各种用法
MS DOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@echo off
set /a sum=0
REM 遍历当前目录中的文本文件并打印其内容,多行命令需要用()包围
for %%x in (*. txt) do (
    echo Printing content of file %%x
    type %%x
    echo.
set /a sum=sum+1
REM 从0开始,步进2,到10结束
for /L %%B in (0 2, 10) do echo %%B
 
REM 下面的语句首先会运行date /t命令,其输出为类似:“2001/01/01 周一”这样的形式
REM /F 表示以字符串方式处理命令输出、字符串或者文件内容
REM tokens用于定义for命令的变量个数,1-3表示第1、2、3个字符串并解析为变量
REM delims表示用于拆分字符串的分隔符,包括/、-
REM set表示把拆分的字符串依次赋值给%%A %%B %%C三个变量(后面的变量名在前面的ASCII码加1)
REM delims可以指定多个字符用于分隔
for /F "tokens=l-3 delims=/-" %%A in ('date /T') do set date=%%A%%B%%C
 
rem 提取NT Service的PID的例子,注意sc queryex命令输出多行
rem 下面的for命令以行为单位进行处理,并提取第一列、第三列
rem skip可以用于跳过指定数量的行
for /F "tokens=1,3 skip=3" %%a in ('sc queryex Tomcat7') do (
    echo %%a %%b
)
rem usebackq允许在源指定符中使用引号;eol指定行尾结束字符,之后的内容被忽视
for /f "tokens=3-5 usebackq eol=#" %%C in ("user data.txt") do  echo %%C
rem 命令输出如下:
rem SERVICE_NAME:
rem TYPE 110
rem STATE 4
rem (STOPPABLE, ACCEPTS_SHUTDOWN)
rem WIN32_EXIT_CODE 0
rem SERVICE_EXIT_CODE 0
rem CHECKPOINT 0x0
rem WAIT_HINT 0x0
rem PID 5812
rem FLAGS
 
REM tokens更复杂的例子
REM tokens=x 表示只提取第x列。
REM tokens=x,y 表示只提取第x列和第y列。
REM tokens=m-n 表示提取第m列至第n列。
REM tokens=x* 表示提取第x列和后面所有字符串都作为第x+1列。
REM tokens=x,* 等同tokens=x*
REM tokens=x,y,m-n 表示提取第x,y列以及第m至第n列。
示例:获取PID
MS DOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
REM 这样才能将循环变量%%a赋值给环境变量
setlocal enabledelayedexpansion
 
title fuckbat
 
REM 遍历命令结果的2、10列
for /f "delims=, tokens=2,10" %%a in ('tasklist /NH /V /FI "IMAGENAME eq cmd.exe" /FO CSV') do (
REM  将循环变量赋值
    set task_title=title%%b
    set pid=%%a
REM 脱去外部的双引号,用!!的界定符访问变量pid, pid:"= 表示将pid中的"替换为空
    set pid=!pid:"=!
    
REM 如果将标题中的fuckbat替换为空后得到的值与之前不等,说明标题中有fuckbat,说明当前迭代的时当前进程
    if not "!task_title!"=="!task_title:fuckbat=!" (
        echo !pid! > pid.txt
    )
)
endlocal

 

字符串处理
字符串替换

语法格式:%a:搜索字符串=替换字符串%,举例:

 

MS DOS
1
2
3
set domain=www.gmem. cc
REM 替换空格为空串,结果:www.gmem.cc
set var=%domain: =%
字符串截取

语法格式:%a:~[m[,n]]%
a为变量名,m为偏移量(缺省为0),n为截取长度(缺省为全部)

 

变量延迟

考虑下面的例子:

MS DOS
1
2
3
4
5
6
7
8
9
10
@echo off
set a=1
set a=2 & echo %a%
REM 输出为1
 
REM 启用变量延迟
setlocal enabledelayedexpansion
set a=1
set a=2 & echo !a!
REM 输出为2

上半部分输出不是2的原因:

  1. 批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行)
  2. 为了能够感知环境变量的动态变化,批处理设计了变量延迟——在读取了一条完整的语句之后,不立即对该行的变量赋值,而会在某个单条语句执行之前再进行赋值
使用变量延迟扩展来处理环境变量中的特殊字符
MS DOS
1
2
3
4
5
6
7
@echo off
Setlocal EnableDelayedExpansion
set "VAR=<"
rem 输出:<
echo !VAR!
set "VAR1=value"
echo %VAR1%
常见问题
零散问题
如何调用Jar包
MS DOS
1
java -jar .jar
如何在隐藏窗口中调用BAT脚本?

创建VB脚本并调用:

1
createobject("wscript.shell").run "batch.bat arg1 arg2..." , 0
← 汇编语言学习笔记
Photoshop知识集锦 →

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Related Posts

  • Windows命令知识集锦
  • SVN知识集锦
  • Linux命令知识集锦
  • Windows知识集锦
  • 操作系统知识集锦

Recent Posts

  • Investigating and Solving the Issue of Failed Certificate Request with ZeroSSL and Cert-Manager
  • A Comprehensive Study of Kotlin for Java Developers
  • 背诵营笔记
  • 利用LangChain和语言模型交互
  • 享学营笔记
ABOUT ME

汪震 | Alex Wong

江苏淮安人,现居北京。目前供职于腾讯云,专注容器方向。

GitHub:gmemcc

Git:git.gmem.cc

Email:gmemjunk@gmem.cc@me.com

ABOUT GMEM

绿色记忆是我的个人网站,域名gmem.cc中G是Green的简写,MEM是Memory的简写,CC则是我的小天使彩彩名字的简写。

我在这里记录自己的工作与生活,同时和大家分享一些编程方面的知识。

GMEM HISTORY
v2.00:微风
v1.03:单车旅行
v1.02:夏日版
v1.01:未完成
v0.10:彩虹天堂
v0.01:阳光海岸
MIRROR INFO
Meta
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
Recent Posts
  • Investigating and Solving the Issue of Failed Certificate Request with ZeroSSL and Cert-Manager
    In this blog post, I will walk ...
  • A Comprehensive Study of Kotlin for Java Developers
    Introduction Purpose of the Study Understanding the Mo ...
  • 背诵营笔记
    Day 1 Find Your Greatness 原文 Greatness. It’s just ...
  • 利用LangChain和语言模型交互
    LangChain是什么 从名字上可以看出来,LangChain可以用来构建自然语言处理能力的链条。它是一个库 ...
  • 享学营笔记
    Unit 1 At home Lesson 1 In the ...
  • K8S集群跨云迁移
    要将K8S集群从一个云服务商迁移到另外一个,需要解决以下问题: 各种K8S资源的迁移 工作负载所挂载的数 ...
  • Terraform快速参考
    简介 Terraform用于实现基础设施即代码(infrastructure as code)—— 通过代码( ...
  • 草缸2021
    经过四个多月的努力,我的小小荷兰景到达极致了状态。

  • 编写Kubernetes风格的APIServer
    背景 前段时间接到一个需求做一个工具,工具将在K8S中运行。需求很适合用控制器模式实现,很自然的就基于kube ...
  • 记录一次KeyDB缓慢的定位过程
    环境说明 运行环境 这个问题出现在一套搭建在虚拟机上的Kubernetes 1.18集群上。集群有三个节点: ...
  • eBPF学习笔记
    简介 BPF,即Berkeley Packet Filter,是一个古老的网络封包过滤机制。它允许从用户空间注 ...
  • IPVS模式下ClusterIP泄露宿主机端口的问题
    问题 在一个启用了IPVS模式kube-proxy的K8S集群中,运行着一个Docker Registry服务 ...
  • 念爷爷
      今天是爷爷的头七,十二月七日、阴历十月廿三中午,老人家与世长辞。   九月初,回家看望刚动完手术的爸爸,发

  • 6 杨梅坑

  • liuhuashan
    深圳人才公园的网红景点 —— 流花山

  • 1 2020年10月拈花湾

  • 内核缺陷触发的NodePort服务63秒延迟问题
    现象 我们有一个新创建的TKE 1.3.0集群,使用基于Galaxy + Flannel(VXLAN模式)的容 ...
  • Galaxy学习笔记
    简介 Galaxy是TKEStack的一个网络组件,支持为TKE集群提供Overlay/Underlay容器网 ...
TOPLINKS
  • Zitahli's blue 91 people like this
  • 梦中的婚礼 64 people like this
  • 汪静好 61 people like this
  • 那年我一岁 36 people like this
  • 为了爱 28 people like this
  • 小绿彩 26 people like this
  • 彩虹姐姐的笑脸 24 people like this
  • 杨梅坑 6 people like this
  • 亚龙湾之旅 1 people like this
  • 汪昌博 people like this
  • 2013年11月香山 10 people like this
  • 2013年7月秦皇岛 6 people like this
  • 2013年6月蓟县盘山 5 people like this
  • 2013年2月梅花山 2 people like this
  • 2013年淮阴自贡迎春灯会 3 people like this
  • 2012年镇江金山游 1 people like this
  • 2012年徽杭古道 9 people like this
  • 2011年清明节后扬州行 1 people like this
  • 2008年十一云龙公园 5 people like this
  • 2008年之秋忆 7 people like this
  • 老照片 13 people like this
  • 火一样的六月 16 people like this
  • 发黄的相片 3 people like this
  • Cesium学习笔记 90 people like this
  • IntelliJ IDEA知识集锦 59 people like this
  • 基于Kurento搭建WebRTC服务器 38 people like this
  • Bazel学习笔记 37 people like this
  • PhoneGap学习笔记 32 people like this
  • NaCl学习笔记 32 people like this
  • 使用Oracle Java Mission Control监控JVM运行状态 29 people like this
  • Ceph学习笔记 27 people like this
  • 基于Calico的CNI 27 people like this
Tag Cloud
ActiveMQ AspectJ CDT Ceph Chrome CNI Command Cordova Coroutine CXF Cygwin DNS Docker eBPF Eclipse ExtJS F7 FAQ Groovy Hibernate HTTP IntelliJ IO编程 IPVS JacksonJSON JMS JSON JVM K8S kernel LB libvirt Linux知识 Linux编程 LOG Maven MinGW Mock Monitoring Multimedia MVC MySQL netfs Netty Nginx NIO Node.js NoSQL Oracle PDT PHP Redis RPC Scheduler ServiceMesh SNMP Spring SSL svn Tomcat TSDB Ubuntu WebGL WebRTC WebService WebSocket wxWidgets XDebug XML XPath XRM ZooKeeper 亚龙湾 单元测试 学习笔记 实时处理 并发编程 彩姐 性能剖析 性能调优 文本处理 新特性 架构模式 系统编程 网络编程 视频监控 设计模式 远程调试 配置文件 齐塔莉
Recent Comments
  • qg on Istio中的透明代理问题
  • heao on 基于本地gRPC的Go插件系统
  • 黄豆豆 on Ginkgo学习笔记
  • cloud on OpenStack学习笔记
  • 5dragoncon on Cilium学习笔记
  • Archeb on 重温iptables
  • C/C++编程:WebSocketpp(Linux + Clion + boostAsio) – 源码巴士 on 基于C/C++的WebSocket库
  • jerbin on eBPF学习笔记
  • point on Istio中的透明代理问题
  • G on Istio中的透明代理问题
  • 绿色记忆:Go语言单元测试和仿冒 on Ginkgo学习笔记
  • point on Istio中的透明代理问题
  • 【Maven】maven插件开发实战 – IT汇 on Maven插件开发
  • chenlx on eBPF学习笔记
  • Alex on eBPF学习笔记
  • CFC4N on eBPF学习笔记
  • 李运田 on 念爷爷
  • yongman on 记录一次KeyDB缓慢的定位过程
  • Alex on Istio中的透明代理问题
  • will on Istio中的透明代理问题
  • will on Istio中的透明代理问题
  • haolipeng on 基于本地gRPC的Go插件系统
  • 吴杰 on 基于C/C++的WebSocket库
©2005-2025 Gmem.cc | Powered by WordPress | 京ICP备18007345号-2