w64devkit:windows 下终端开发套件

w64devkit
w64devkit is a portable C and C++ development kit for x64 (and x86) Windows. Included tools:

  • Mingw-w64 GCC : compilers, linker, assembler
  • GDB : debugger
  • GNU Make : standard build tool
  • busybox-w32 : standard unix utilities, including sh
  • Vim : powerful text editor
  • Universal Ctags : source navigation
  • NASM : x86 assembler
  • Cppcheck : 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
bashBourne Again Shell,一种UNIX shellbash 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 (提取归档)
cppC预处理器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将可执行文件包装成DLLdllwrap --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
gccGNU 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
gdbGNU调试器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
gfortranGNU 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轻量级的shelllash
ld.bfdGNU二进制链接器,BFD后端ld.bfd -o executable object1.o object2.o
ld链接器ld -o executable object1.o object2.o
ld.goldGNU二进制链接器,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-dumpLLVM链接时优化(LTO)的调试信息转储工具lto-dump -d object_file
lzcat解压缩.lz文件到标准输出lzcat file.lz
lzmaLZMA压缩工具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打印运行特定命令的进程IDpidof process_name
pipe_progress显示管道操作的进度`some_command
pkg-config管理编译时的库依赖信息pkg-config --libs libname
pkill通过名称杀死进程pkill process_name
printenv打印所有或指定的环境变量printenvprintenv 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 filerm -r directory
rmdir删除空目录rmdir directory
sed流编辑器,用于对文本进行过滤和转换sed 's/old/new/g' file.txt
seq打印数字序列seq 1 10
shShell,用于执行脚本或命令行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.txtshuf -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
widlWindows接口定义语言编译器widl -h
windmcWindows消息目录编译器windmc message.mc
windresWindows资源文件编译器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-arMinGW-w64的归档工具,用于创建静态库x86_64-w64-mingw32-ar rcs libname.a object.o
x86_64-w64-mingw32-asMinGW-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++filtMinGW-w64的C++filt,用于解析C++符号x86_64-w64-mingw32-c++filt
x86_64-w64-mingw32-cppMinGW-w64的C预处理器x86_64-w64-mingw32-cpp source.c
x86_64-w64-mingw32-dlltoolMinGW-w64的dlltool,用于创建DLL导入库x86_64-w64-mingw32-dlltool --def deffile.def --output-lib libname.a
x86_64-w64-mingw32-dllwrapMinGW-w64的dllwrap,用于创建DLL包装器x86_64-w64-mingw32-dllwrap --output target.dll source.o
x86_64-w64-mingw32-elfeditMinGW-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.0MinGW-w64的特定版本gcc编译器x86_64-w64-mingw32-gcc-13.2.0 source.c -o executable
x86_64-w64-mingw32-gcc-arMinGW-w64的gcc-ar工具,用于静态库操作x86_64-w64-mingw32-gcc-ar rcs libname.a object.o
x86_64-w64-mingw32-gcc-nmMinGW-w64的gcc-nm工具,显示符号信息x86_64-w64-mingw32-gcc-nm executable
x86_64-w64-mingw32-gcc-ranlibMinGW-w64的gcc-ranlib工具,生成库索引x86_64-w64-mingw32-gcc-ranlib archive.a
x86_64-w64-mingw32-gccMinGW-w64的gcc编译器x86_64-w64-mingw32-gcc source.c -o executable
x86_64-w64-mingw32-gcov-dumpMinGW-w64的gcov-dump工具,显示覆盖信息x86_64-w64-mingw32-gcov-dump -o output.gcda source.c
x86_64-w64-mingw32-gcov-toolMinGW-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.exeMinGW-w64的GNU Fortran编译器x86_64-w64-mingw32-gfortran source.f90 -o executable
x86_64-w64-mingw32-ld.exeMinGW-w64的链接器x86_64-w64-mingw32-ld -o executable object.o
x86_64-w64-mingw32-nm.exeMinGW-w64的nm,列出符号信息x86_64-w64-mingw32-nm executable
x86_64-w64-mingw32-objcopy.exeMinGW-w64的objcopy,复制二进制文件x86_64-w64-mingw32-objcopy -O binary input.o output.bin
x86_64-w64-mingw32-objdump.exeMinGW-w64的objdump,显示二进制文件信息x86_64-w64-mingw32-objdump -T shared_object
x86_64-w64-mingw32-pkg-config.exeMinGW-w64的pkg-config,管理库依赖信息x86_64-w64-mingw32-pkg-config --libs libname
x86_64-w64-mingw32-ranlib.exeMinGW-w64的ranlib,生成归档库的索引x86_64-w64-mingw32-ranlib archive.a
x86_64-w64-mingw32-readelf.exeMinGW-w64的readelf,显示ELF文件信息x86_64-w64-mingw32-readelf -h executable
x86_64-w64-mingw32-size.exeMinGW-w64的size,显示二进制文件的组件大小x86_64-w64-mingw32-size executable
x86_64-w64-mingw32-strings.exeMinGW-w64的strings,提取文本字符串x86_64-w64-mingw32-strings binary_file
x86_64-w64-mingw32-strip.exeMinGW-w64的strip,移除符号信息x86_64-w64-mingw32-strip executable
x86_64-w64-mingw32-windmc.exeMinGW-w64的windmc,Windows消息目录编译器x86_64-w64-mingw32-windmc message.mc
x86_64-w64-mingw32-windres.exeMinGW-w64的windres,Windows资源文件编译器x86_64-w64-mingw32-windres -i resource.rc -o resource.o
xargs将标准输入转换成命令行参数并执行命令`echo file*
xxd十六进制转储工具,也可以将十六进制转储转换回原始数据xxd filexxd -r -p output.hex input.bin
xz高比率压缩文件xz file
xzcat解压缩.xz文件到标准输出xzcat file.xz
yes持续输出指定字符串yes "string"
zcat解压缩.gz文件到标准输出zcat file.gz

  1. w64devkit工具下载链接 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值