分享一个在 Windows 平台运行 Linux 命令的新方式 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
vitalis
V2EX    程序员

分享一个在 Windows 平台运行 Linux 命令的新方式

  vitalis 2018-06-11 11:35:06 +08:00 7623 次点击
这是一个创建于 2728 天前的主题,其中的信息可能已经有所发展或是发生改变。

用过 Linux 命令的人无不被他的强大折服,回头再也瞧不上 Windows 的命令行。甚至有人编译半天,折腾出了 cygwin。今天给大家介绍一个超简单的工具 Cash,直接用纯 ES6 实现的跨平台的 Linux 命令集。

Cash 的实现没有任何原生编译和其他额外依赖,在 Windows 上通过 JS 环境提供一个跟 Linux 体验一致的跨平台 bash 脚本终端。

npm 即可安装:

> npm install cash -g > cash $ 

cash.gif

而且还能混合 Windows 和 Unix 命令:

$ ipconfig | grep IPv4 | sort IPv4 Address. . . . . . . . . . . : 10.10.40.50 IPv4 Address. . . . . . . . . . . : 192.168.100.11 $ 

如果不想输入 cash 直接全局安装所有命令即可:

> npm install cash-global -g > ls -lah 

当然,也可以只安装指定命令

> npm install cash-ls -g > npm install cash-grep -g 

什么,居然还能在代码里直接用?

const $ = require('cash'); const out = $.ls('.', {l: true}); 

还可以这样:

const out = $('ls -lah'); 

Cash 已经支持的命令清单,如下:

  • alias
  • cat
  • clear
  • cd
  • cp
  • echo
  • export
  • false
  • grep
  • head
  • kill
  • less
  • ls
  • mkdir
  • mv
  • pwd
  • rm
  • sort
  • source
  • tail
  • touch
  • true
  • unalias

想支持更多命令?看看 cash 下一步的规划

更多Node.js 精彩命令行应用

更多Node.js 开脑洞的命令行开发模式

第 1 条附言    2018-06-11 13:46:24 +08:00

标题可能有点歧义,如果追求完整的Linux体验,用Linux发行版是最好的。这是一个Linux命令ES6实现,跟Powershell不一回事,没可比性。至于WSL那种在Windows里套一个Ubuntu的做法也不一样,喜欢Linux环境又不得不用Windows的可以选择WSL,甚至vmware、virtualbox之类的虚拟机。

再强调一下:这是一个纯ES6实现的,兼容Node.js开发的,轻量级Linux命令行库。不相干的对比,就不再一一回复了。

30 条回复    2018-06-12 10:23:11 +08:00
kingname
    1
kingname  
   2018-06-11 11:36:47 +08:00   3
我现在用 wsl,非常好用。
vitalis
    2
vitalis  
OP
   2018-06-11 11:41:38 +08:00
jiangnanyanyu
    3
jiangnanyanyu  
   2018-06-11 11:51:58 +08:00 via Android
安装了 gjtbash 会不会有冲突
vitalis
    4
vitalis  
OP
   2018-06-11 11:53:06 +08:00
@jiangnanyanyu 重名的命令会按系统 PATH 变量的先后识别
td width="10" valign="top">
wxkvEX
    5
wxkvEX  
   2018-06-11 11:54:53 +08:00 via iPhone
Ubuntu 子系统了解一下?
visitantzj
    6
visitantzj  
   2018-06-11 11:56:03 +08:00   1
了解一下强大的 powershell 先 o(∩_∩)o
leon0318
    7
leon0318  
   2018-06-11 12:05:39 +08:00 via Android
wsl 了解一下+1
vitalis
    8
vitalis  
OP
   2018-06-11 12:20:04 +08:00
@wxkvEX
@visitantzj
@leonme
PowerShell 理论上足够强大,但是过于复杂(除了 Windows 偏好者之外不知道有多少 NIX 用户能接受),对于适应 bash 的人来说不如 Windows Subsystem for Linux。
Cash 是一个轻量级、无任何系统原生编译的、可在代码里使用的 Linux 命令行。
AllOfMe
    9
AllOfMe  
   2018-06-11 12:30:43 +08:00
这 npm 包有创意
jiangnanyanyu
    10
jiangnanyanyu  
   2018-06-11 12:30:51 +08:00 via Android
比如 nodejs 的 path 和 gitbash 的 path 的先后顺序么?
Cooky
    11
Cooky  
   2018-06-11 12:31:25 +08:00
cygwin,msys2,wsl
des
    12
des  
   2018-06-11 12:34:16 +08:00 via Android   1
意义不大,用 linux 用的是生态不,是这几个 shell 命令

还有 cygwin 是需要编译安装的吗?
黑人问号.jpg
pexcn
    13
pexcn  
   2018-06-11 12:56:06 +08:00
MSYS2 更好
shijingshijing
    14
shijingshijing  
   2018-06-11 12:59:38 +08:00 via iPhone
gitbash 自带的就已经很厉害了,不折腾其他的幺蛾子了
kingname
    15
kingname  
   2018-06-11 13:00:32 +08:00
@vitalis windows 10 自带的 Linux 子系统。是真正的 Linux,不是楼主发的这种模拟器可以比的。
kingname
    16
kingname  
   2018-06-11 13:01:59 +08:00
wsl 配合 Visual Studio Code 自带的终端。简直完美。
r7st
    17
r7st  
   2018-06-11 13:05:15 +08:00
PowerShell 完美解决
congeec
    18
congeec  
   2018-06-11 13:08:10 +08:00 via iPhone
Is it posix compatible? Why not busybox?
vitalis
    19
vitalis  
OP
   2018-06-11 13:34:42 +08:00
vitalis
    20
vitalis  
OP
   2018-06-11 13:37:39 +08:00
@des 你可以用别人编译好的,用 Linux 系统自然更好。如果在 Node.js 环境或做相关开发,这个包就有价值了。
wtks1
    21
wtks1  
   2018-06-11 13:50:23 +08:00 via Android
问一下,这个支持 win7 或者 win8 系统吗?
vitalis
    22
vitalis  
OP
   2018-06-11 13:55:58 +08:00
@wtks1 支持,只要有 Node.js 环境就行。
sengle
    23
sengle  
   2018-06-11 14:42:34 +08:00
cmder?
vitalis
    24
vitalis  
OP
   2018-06-11 14:55:43 +08:00
@sengle linuxer & programer & node.js
kexxxfeng
    25
kexxxfeng  
   2018-06-11 14:58:12 +08:00 via iPhone
如何在 Windows 中直接调用 WSL 中的程序,例如 git, node, ssh 等等
creanme
    26
creanme  
   2018-06-11 18:30:02 +08:00
@kexxxfeng 估计直接调不了,只能在命令行或者图形界面中调。
RalphHuang
    27
RalphHuang  
   2018-06-11 23:13:38 +08:00
还是 WSL 用着顺手
Qzier
    28
Qzier  
   2018-06-12 02:28:45 +08:00 via iPhone
wsl + hyper 挺好的
laogui
    29
laogui  
   2018-06-12 08:37:42 +08:00 via Android
每次看到 Win10 上 wsl 不用折腾其他的命令行环境真为他们惋惜。
wssy921
    30
wssy921  
   2018-06-12 10:23:11 +08:00
是一种新思路,也可以,支持一下
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1300 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 27ms UTC 17:01 PVG 01:01 LAX 09:01 JFK 12:01
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86