w64devkit:windows 下终端开发套件
·
w64devkit
w64devkit is a portable C and C++ development kit for x64 (and x86) Windows. Included tools:
Mingw-w64 GCC: compilers, linker, assemblerGDB: debuggerGNU Make: standard build toolbusybox-w32: standard unix utilities, including shVim: powerful text editorUniversal Ctags: source navigationNASM: x86 assemblerCppcheck: static code analysis
安装好后1,cmd终端会有如下工具:

| 工具名 | 功能描述 | 使用示例 |
|---|---|---|
| addr2line | 将编译后的程序中的地址转换为源代码行号 | addr2line -e binary_file |
| ar | 用于创建、修改、提取归档文件 | ar -x archive_file (提取归档文件) |
| as | 汇编器,将汇编语言代码转换为机器码 | as -o object_file.asm source.asm |
| awk | 文本处理工具,用于模式扫描和处理 | awk '{print $1}' file.txt (打印每行第一列) |
| basename | 显示文件名的基本部分(去掉目录) | basename /path/to/file |
| bash | Bourne Again Shell,一种UNIX shell | bash script.sh (运行bash脚本) |
| bc | 任意精度的算术语言和计算器 | bc -l (以数学模式启动) |
| bzip2 | 压缩文件的程序,使用Burrows-Wheeler算法 | bzip2 file_to_compress |
| c++ | C++编译器的符号链接或脚本 | c++ source.cpp (编译C++源文件) |
| cat | 连接文件并打印到标准输出 | cat file.txt (显示文件内容) |
| chmod | 更改文件或目录的权限 | chmod 755 file (设置文件权限) |
| cksum | 计算并显示文件的CRC校验和 | cksum file |
| clear | 清除终端屏幕 | clear |
| cmp | 比较两个文件是否相同 | cmp file1 file2 |
| comm | 比较两个已排序的文件,并显示它们的共同行和不同行 | comm -12 sorted_file1 sorted_file2 |
| cp | 复制文件或目录 | cp source destination |
| cpio | 从归档文件中提取文件或创建归档文件 | cpio -idmv < archive (提取归档) |
| cpp | C预处理器 | cpp source.c (预处理C源文件) |
| cppcheck | 静态代码分析工具,用于C/C++代码的检查 | cppcheck source.cpp |
| crc32 | 计算文件的CRC32校验和 | crc32 file |
| ctags | 生成用于编辑器的标签文件 | ctags -R /path/to/source |
| cut | 剪切并分割列数据 | cut -d, -f1 file.csv (以逗号分隔并提取第一列) |
| date | 显示或设置系统的日期和时间 | date (显示当前日期和时间) |
| dc | 任意精度的桌面计算器 | `echo “3 4 + p” |
| dd | 转换和复制文件 | dd if=/dev/zero of=empty_file bs=1M count=1 (创建1MB大小的空文件) |
| debugbreak | 触发程序的调试器断点 | (通常在程序中使用,如 int 3 指令) |
| df | 报告文件系统的磁盘空间使用情况 | df -h (以易读格式显示) |
| diff | 比较两个文件的差异 | diff file1 file2 |
| dirname | 打印目录名,去掉文件名的非目录部分 | dirname /path/to/file |
| dlltool | 用于创建DLL导入库的工具 | dlltool --def input.def --output-lib output.lib |
| dllwrap | 将可执行文件包装成DLL | dllwrap --output-target pe-i386:shared exec_file |
| dos2unix | 将DOS格式的文本文件转换为UNIX格式 | dos2unix dos_file unix_file |
| du | 估计文件或目录的磁盘使用量 | du -sh directory (以易读格式显示目录大小) |
| dwp | 从二进制文件中提取调试信息 | dwp -i binary_file |
| echo | 输出字符串到标准输出 | echo "Hello, World!" |
| ed | 文本编辑器 | ed file_to_edit |
| egrep | 扩展的grep,支持正则表达式进行模式搜索 | egrep '^[0-9]+' file.txt (搜索以数字开头的行) |
| elfedit | 编辑ELF程序和可执行文件的头部信息 | elfedit --output new_file original_file |
| env | 设置环境变量并运行程序 | env VAR=value command |
| expand | 将制表符转换为指定数量的空格 | expand file.txt |
| expr | 计算表达式 | expr 3 + 5 |
| factor | 打印一个数的质因数 | factor 60 |
| false | 退出状态为失败的简单命令 | false |
| fgrep | 固定字符串搜索,比grep更快 | fgrep "text" file.txt |
| find | 在目录树中搜索文件名 | find / -name "*.txt" |
| fold | 将每行文本折叠或折断到指定宽度 | fold -w 80 file.txt (将文本折断到80列宽) |
| free | 显示系统中内存的使用情况 | free -m (以MB为单位显示) |
| fsync | 强制将文件缓冲区内容写入磁盘 | fsync file |
| g++ | GNU C++编译器 | g++ source.cpp -o executable |
| gcc-ar | 归档工具,用于创建静态库 | gcc-ar rcs libname.a object1.o object2.o |
| gcc-nm | 列出可执行文件或对象文件中的符号 | gcc-nm object_file.o |
| gcc-ranlib | 生成索引到归档库 | gcc-ranlib archive.a |
| gcc | GNU C编译器 | gcc source.c -o executable |
| gcov-dump | 显示由gcov生成的覆盖信息 | gcov-dump -o output.gcda source.c |
| gcov-tool | 用于分析gcov数据的工具 | gcov-tool -p |
| gcov | 测试代码覆盖率的工具 | gcov source.c |
| gdb | GNU调试器 | gdb executable |
| gdborig | 原始的GNU调试器版本 | gdborig executable |
| gdbserver | 允许远程调试的gdb服务器 | gdbserver :port_number executable |
| gendef | 生成C库的符号定义文件 | gendef --input-def input.def --output-lib libname.a |
| genidl | 从C或C++头文件生成接口定义语言(IDL)文件 | genidl header.h |
| genpeimg | 生成PE(Portable Executable)格式的镜像文件 | genpeimg --output image.exe source.c |
| getopt | 解析命令行参数 | getopt -o ab:c --long alpha:,beta:,gamma file1 file2 |
| gfortran | GNU Fortran编译器 | gfortran source.f90 -o executable |
| gprof | 性能分析工具 | gprof executable gmon.out |
| grep | 文本搜索工具 | grep "pattern" file.txt |
| groups | 打印用户所属的组 | groups username |
| gunzip | 解压缩.gz文件 | gunzip file.gz |
| gzip | 压缩文件到.gz格式 | gzip file.txt |
| hd | 十六进制转储工具 | hd file |
| head | 显示文件的前几行 | head -n 10 file.txt (显示前10行) |
| hexdump | 显示文件的十六进制表示 | hexdump file.bin |
| httpd | 简单的web服务器 | httpd -fCGP file.html |
| iconv | 转换文件的字符编码 | iconv -f utf-8 -t ascii file.txt |
| id | 显示用户的ID信息 | id username |
| inotifyd | 监视文件系统事件的守护进程 | inotifyd -m -r /path/to/watch |
| install | 复制文件并设置属性 | install -m 755 source destination |
| ipcalc | 计算和显示IP地址的详细信息 | ipcalc 192.168.0.1/24 |
| jn | 计算Bessel函数 | `echo “1 0.5” |
| kill | 发送信号到进程 | kill -9 process_id |
| killall | 通过名称杀死所有匹配的进程 | killall process_name |
| lash | 轻量级的shell | lash |
| ld.bfd | GNU二进制链接器,BFD后端 | ld.bfd -o executable object1.o object2.o |
| ld | 链接器 | ld -o executable object1.o object2.o |
| ld.gold | GNU二进制链接器,Gold后端 | ld.gold -o executable object1.o object2.o |
| less | 分页查看文件 | less file.txt |
| ln | 创建链接,包括硬链接和符号链接 | ln -s source destination (创建符号链接) |
| logname | 打印当前用户的登录名 | logname |
| ls | 列出目录内容 | ls -l (以长列表格式列出当前目录内容) |
| lsattr | 显示文件的属性 | lsattr file |
| lto-dump | LLVM链接时优化(LTO)的调试信息转储工具 | lto-dump -d object_file |
| lzcat | 解压缩.lz文件到标准输出 | lzcat file.lz |
| lzma | LZMA压缩工具 | lzma file (压缩文件) |
| lzop | 压缩文件,优化小文件压缩速度 | lzop file |
| lzopcat | 解压缩.lzo文件到标准输出 | lzopcat file.lzo |
| make | 管理和自动化软件的编译过程 | make (根据Makefile编译软件) |
| md5sum | 计算和检查文件的MD5校验和 | md5sum file |
| mingw32-make | 针对MinGW环境的make工具 | mingw32-make |
| mkdir | 创建新目录 | mkdir new_directory |
| mktemp | 创建临时文件或目录 | mktemp (创建临时文件) |
| mv | 移动或重命名文件 | mv old_name new_name |
| nasm | 汇编器,用于汇编NASM格式的代码 | nasm -f elf32 source.asm |
| nc | 网络工具,用于读写网络连接 | nc -l -p 1234 (监听端口1234) |
| ndisasm | 反汇编Intel x86机器码 | ndisasm -b 32 binary |
| nl | 为每行添加行号 | nl file.txt |
| nm | 列出目标文件或可执行文件中的符号 | nm executable |
| nproc | 显示可用的CPU核心数 | nproc |
| objcopy | 复制二进制文件,允许转换文件格式 | objcopy -O binary input.o output.bin |
| objdump | 显示二进制文件信息 | objdump -T shared_object |
| od | 八进制转储工具 | od -t x file (以十六进制显示文件内容) |
| paste | 合并文件的列 | paste file1 file2 (合并两列数据) |
| patch | 应用差分文件 | patch file original patched |
| pgrep | 根据名称或其他属性查找进程 | pgrep -f "pattern" |
| pidof | 打印运行特定命令的进程ID | pidof process_name |
| pipe_progress | 显示管道操作的进度 | `some_command |
| pkg-config | 管理编译时的库依赖信息 | pkg-config --libs libname |
| pkill | 通过名称杀死进程 | pkill process_name |
| printenv | 打印所有或指定的环境变量 | printenv 或 printenv VARNAME |
| printf | 格式化并打印数据 | printf "%-10s %-5d\n" "Name" "ID" |
| ps | 显示当前运行的进程 | ps aux |
| pwd | 打印当前工作目录 | pwd |
| ranlib | 生成归档库的索引 | ranlib archive.a |
| readelf | 显示ELF格式的文件信息 | readelf -h executable |
| readlink | 打印符号链接指向的目标 | readlink symbolic_link |
| realpath | 打印文件的规范化绝对路径 | realpath file |
| reset | 重置终端 | reset |
| rev | 反转字符串或行 | `echo “hello” |
| rm | 删除文件或目录 | rm file 或 rm -r directory |
| rmdir | 删除空目录 | rmdir directory |
| sed | 流编辑器,用于对文本进行过滤和转换 | sed 's/old/new/g' file.txt |
| seq | 打印数字序列 | seq 1 10 |
| sh | Shell,用于执行脚本或命令行 | sh script.sh |
| sha1sum | 计算和检查文件的SHA1校验和 | sha1sum file |
| sha256sum | 计算和检查文件的SHA256校验和 | sha256sum file |
| sha3sum | 计算和检查文件的SHA3校验和 | sha3sum file |
| sha512sum | 计算和检查文件的SHA512校验和 | sha512sum file |
| shred | 安全地覆盖文件,以防止数据恢复 | shred file |
| shuf | 打乱行的顺序或随机选择行 | shuf file.txt 或 shuf -n 1 file.txt |
| size | 显示二进制文件的组件大小 | size executable |
| sleep | 暂停执行指定的秒数 | sleep 5 |
| sort | 对文本行进行排序 | sort file.txt |
| split | 将文件分割成多个更小的文件 | split file.txt 10k (每10KB一个文件) |
| ssl_client | 使用SSL协议的客户端 | openssl s_client -connect server:port |
| stat | 显示文件或文件系统的详细信息 | stat file |
| strings | 从二进制文件中提取文本字符串 | strings binary_file |
| strip | 移除可执行文件或对象文件的符号信息 | strip executable |
| su | 切换用户身份或成为超级用户 | su - (切换到root用户) |
| sum | 计算文件的CRC校验和和大小 | sum file |
| sync | 强制将缓冲区中的文件写入磁盘 | sync |
| tac | 反向输出文件的每一行 | tac file.txt |
| tail | 显示文件的最后几行 | tail -n 10 file.txt (显示最后10行) |
| tar | 打包、压缩或解压缩文件 | tar -czvf archive.tar.gz files |
| tee | 将标准输入复制到文件和标准输出 | `echo “Hello” |
| test | 检查文件类型或比较值 | [ -f file ] && echo "It's a file" |
| time | 测量命令执行时间 | time ls |
| timeout | 在指定的超时时间后终止命令执行 | timeout 5s sleep 10 |
| touch | 更新文件的访问和修改时间或创建新文件 | touch file |
| tr | 替换或删除字符 | tr -d 'a-z' file.txt (删除所有小写字母) |
| true | 退出状态为成功的简单命令 | true |
| truncate | 截断文件到指定长度或删除文件 | truncate -s 0 file (将文件大小设置为0) |
| ts | 显示或设置时间戳 | ts |
| ttysize | 打印终端尺寸 | ttysize |
| uname | 打印系统信息 | uname -a (打印所有系统信息) |
| uncompress | 解压缩.Z格式的文件 | uncompress file.Z |
| unexpand | 将制表符转换为多个空格 | unexpand file.txt |
| uniq | 过滤掉重复的行 | `sort file.txt |
| unix2dos | 将UNIX格式的文本文件转换为DOS格式 | unix2dos file.txt |
| unlzma | 解压缩.lzma格式的文件 | unlzma file.lzma |
| unlzop | 解压缩.lzo格式的文件 | unlzop file.lzo |
| unxz | 解压缩.xz格式的文件 | unxz file.xz |
| unzip | 解压缩.zip文件 | unzip archive.zip |
| uptime | 显示系统运行时间 | uptime |
| usleep | 使程序暂停指定的微秒数 | usleep 500000 (暂停500000微秒) |
| uudecode | 解码uuencode编码的文件 | uudecode file.uu |
| uuencode | 将二进制文件编码为uuencode格式 | uuencode binary_file encoded_file |
| vc++filt | 过滤MSVC编译器的诊断输出,使其更易读 | vc++filt compiler_output.txt |
| watch | 周期性执行命令并显示结果 | watch -n 2 'ls -l' (每2秒列出目录) |
| wc | 计算文件中的字节数、字数、行数 | wc file.txt |
| wget | 从网络下载文件 | wget http://example.com/file |
| which | 显示执行特定命令的可执行文件路径 | which ls |
| whoami | 打印当前用户的用户名 | whoami |
| whois | 查询域名或IP地址的注册信息 | whois example.com |
| widl | Windows接口定义语言编译器 | widl -h |
| windmc | Windows消息目录编译器 | windmc message.mc |
| windres | Windows资源文件编译器 | windres -i resource.rc -o resource.o |
| x86_64-w64-mingw32-addr2line | 将MinGW-w64编译的程序中的地址转换为源代码行号 | x86_64-w64-mingw32-addr2line -e binary_file |
| x86_64-w64-mingw32-ar | MinGW-w64的归档工具,用于创建静态库 | x86_64-w64-mingw32-ar rcs libname.a object.o |
| x86_64-w64-mingw32-as | MinGW-w64的汇编器 | x86_64-w64-mingw32-as source.asm -o object.o |
| x86_64-w64-mingw32-c++ | MinGW-w64的C++编译器 | x86_64-w64-mingw32-c++ source.cpp -o executable |
| x86_64-w64-mingw32-c++filt | MinGW-w64的C++filt,用于解析C++符号 | x86_64-w64-mingw32-c++filt |
| x86_64-w64-mingw32-cpp | MinGW-w64的C预处理器 | x86_64-w64-mingw32-cpp source.c |
| x86_64-w64-mingw32-dlltool | MinGW-w64的dlltool,用于创建DLL导入库 | x86_64-w64-mingw32-dlltool --def deffile.def --output-lib libname.a |
| x86_64-w64-mingw32-dllwrap | MinGW-w64的dllwrap,用于创建DLL包装器 | x86_64-w64-mingw32-dllwrap --output target.dll source.o |
| x86_64-w64-mingw32-elfedit | MinGW-w64的ELF编辑器 | x86_64-w64-mingw32-elfedit executable |
| x86_64-w64-mingw32-g++ | MinGW-w64的g++编译器 | x86_64-w64-mingw32-g++ source.cpp -o executable |
| x86_64-w64-mingw32-gcc-13.2.0 | MinGW-w64的特定版本gcc编译器 | x86_64-w64-mingw32-gcc-13.2.0 source.c -o executable |
| x86_64-w64-mingw32-gcc-ar | MinGW-w64的gcc-ar工具,用于静态库操作 | x86_64-w64-mingw32-gcc-ar rcs libname.a object.o |
| x86_64-w64-mingw32-gcc-nm | MinGW-w64的gcc-nm工具,显示符号信息 | x86_64-w64-mingw32-gcc-nm executable |
| x86_64-w64-mingw32-gcc-ranlib | MinGW-w64的gcc-ranlib工具,生成库索引 | x86_64-w64-mingw32-gcc-ranlib archive.a |
| x86_64-w64-mingw32-gcc | MinGW-w64的gcc编译器 | x86_64-w64-mingw32-gcc source.c -o executable |
| x86_64-w64-mingw32-gcov-dump | MinGW-w64的gcov-dump工具,显示覆盖信息 | x86_64-w64-mingw32-gcov-dump -o output.gcda source.c |
| x86_64-w64-mingw32-gcov-tool | MinGW-w64的gcov-tool工具,分析gcov数据 | x86_64-w64-mingw32-gcov-tool -p |
| x86_64-w64-mingw32-gcov.exe | 测试代码覆盖率的工具,MinGW-w64版本 | x86_64-w64-mingw32-gcov source.c |
| x86_64-w64-mingw32-gfortran.exe | MinGW-w64的GNU Fortran编译器 | x86_64-w64-mingw32-gfortran source.f90 -o executable |
| x86_64-w64-mingw32-ld.exe | MinGW-w64的链接器 | x86_64-w64-mingw32-ld -o executable object.o |
| x86_64-w64-mingw32-nm.exe | MinGW-w64的nm,列出符号信息 | x86_64-w64-mingw32-nm executable |
| x86_64-w64-mingw32-objcopy.exe | MinGW-w64的objcopy,复制二进制文件 | x86_64-w64-mingw32-objcopy -O binary input.o output.bin |
| x86_64-w64-mingw32-objdump.exe | MinGW-w64的objdump,显示二进制文件信息 | x86_64-w64-mingw32-objdump -T shared_object |
| x86_64-w64-mingw32-pkg-config.exe | MinGW-w64的pkg-config,管理库依赖信息 | x86_64-w64-mingw32-pkg-config --libs libname |
| x86_64-w64-mingw32-ranlib.exe | MinGW-w64的ranlib,生成归档库的索引 | x86_64-w64-mingw32-ranlib archive.a |
| x86_64-w64-mingw32-readelf.exe | MinGW-w64的readelf,显示ELF文件信息 | x86_64-w64-mingw32-readelf -h executable |
| x86_64-w64-mingw32-size.exe | MinGW-w64的size,显示二进制文件的组件大小 | x86_64-w64-mingw32-size executable |
| x86_64-w64-mingw32-strings.exe | MinGW-w64的strings,提取文本字符串 | x86_64-w64-mingw32-strings binary_file |
| x86_64-w64-mingw32-strip.exe | MinGW-w64的strip,移除符号信息 | x86_64-w64-mingw32-strip executable |
| x86_64-w64-mingw32-windmc.exe | MinGW-w64的windmc,Windows消息目录编译器 | x86_64-w64-mingw32-windmc message.mc |
| x86_64-w64-mingw32-windres.exe | MinGW-w64的windres,Windows资源文件编译器 | x86_64-w64-mingw32-windres -i resource.rc -o resource.o |
| xargs | 将标准输入转换成命令行参数并执行命令 | `echo file* |
| xxd | 十六进制转储工具,也可以将十六进制转储转换回原始数据 | xxd file 或 xxd -r -p output.hex input.bin |
| xz | 高比率压缩文件 | xz file |
| xzcat | 解压缩.xz文件到标准输出 | xzcat file.xz |
| yes | 持续输出指定字符串 | yes "string" |
| zcat | 解压缩.gz文件到标准输出 | zcat file.gz |
| |
更多推荐
所有评论(0)