QiWei 最近的时间轴更新
QiWei

QiWei

V2EX 第 31996 号会员,加入于 2013-01-09 10:25:06 +08:00
QiWei 最近回复了
160 天前
回复了 itakeman 创建的主题 Windows win 下使用 Linux 命令的方法有哪些?
@hash 多大年龄了,还秀优越感,能回答就回答,不能回答也不要把狭隘和傲慢分享给别人。
160 天前
回复了 itakeman 创建的主题 Windows win 下使用 Linux 命令的方法有哪些?
常用的 Linux 工具主要是 coreutils 、findutils ,大部分工具有 windows native 版本。

集成环境就不说了,前面的回答提到了。

首选 [GNU utilities for Win32]( http://unxutils.sourceforge.net/),虽然有些年头了,基础工具大部分不需要升级,或后续加的功能用到的几率不大,个别工具( sed 、grep 、awk )后续版本加了些功能,可能用到,后面再说解决方案。有少量工具工作不正常:如 tac 管道支持不正常,sed 的 s 命令中 regexp 部分中使用引用,如果引用部分超过 7 个字符,产生不正确结果。

unxutils 覆盖不到的工具:可以用以下工具集替换,优先级为倒序,原因是尽量用单文件没依赖,兼容底版本系统。

1 、[busybox-w32]( http://frippery.org/busybox/index.html),不想每次调用都需要输入 busybox ,可以存在于环境变量 path 的任一文件夹中创建对应命令的批处理文件,如:date.bat ,内容为 @busybox %~n0 %*

2 、[coreutils]( https://github.com/uutils/coreutils),buxybox 的 rust 实现,不支持旧操作系统。

3 、[GnuWin32]( https://gnuwin32.sourceforge.net/),工具比较全面,只有 32 位,但采取的是动态编译,不能把可执行文件单独拎出来用。

4 、用 MSYS2 项目中用 MinGW 预编译的工具包,大概率有静态版:pacman -Sy mingw-w64-{x86_64,i686}-xxx

5 、可以自己编译个别软件,编译工具集用 MSYS2 就可以了。如 grep 、sed 、gawk 等工具的新版本就可以用这种方法。

6 、不支持直接编译的,可以在网上找别人移植版、或自己有能力就改动一些不兼容内容,不涉及底层调用的,改起来不复杂,只是个别系统函数替换。

7 、找同类软件替代,得益于新语言的发展,如:rust 、golang ,设计之初就考虑到了跨平台特性,基础库的通用性,使得编写跨平台相对简单多了,催生出好多旧有工具替代品,举几个典型的:fd (find)、rg (grep)、bat (cat/less)、sd (sed),多不胜举。

8 、一些其它软件附带的工具,比如比较工具,如果支持比对 pdf ,大概率就附带有 pdf2txt 之类命令,支持 office 比对,也就有可能附带有相应的转换工具。还有 ftp 类工具附带 ssh 、sftp 命令。还有其它类似软件附带编译好的命令行工具,诸如此类,这个就靠平时收集了。

9 、自己实现一个,造福同类。
2019-08-25 16:29:27 +08:00
回复了 littlewey 创建的主题 宽带症候群 分享一下我今天 GitHub 提速的 approach
@est 那个版本的 grep -E 支持 \d,grep -P 倒是可以。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2605 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 10:33 · PVG 18:33 · LAX 02:33 · JFK 05:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.