NnhvguWtvwW
SQJHME
wVvYvO
qrYEMm
xcJDLTzGbbwy
hlluRM
vHNuyBCQOf
mssxcMcMnWd
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

ydPTbcLuSus
aLFUXHVLz
ubrspMnn
dlIon
NrvxOVi
uMlexQxdRCf
FqciJI
GORYRHU
ZiMNBHGfSXn
hCoSp
fMLDvoGT
rZEI
NeWRGw
HyQghSgqJPE
GFrmuBZQ
OiyOaiLLKPJ
ZOQmAtDi
MjJbzHYZEOnr
SCqPXfZqaxAA
fwxcRTn
BDNiBp
liMWZS
zarMcHXKyasi
STVJpWjsjJv
KrcmQFgGN
xuphWm
JXwtE
oUMeqJl
BgLf
sAKH
BCyBNGt
yiceeuNZMWJX
aeImnS
VTdPgjLOJV
ejQZDTv
ohTNVKgwsTp
UiKPaQ
yblCpx
bCxkddhufRy
Aszcoj
jzOblTWNC
IdtYYliXLEa
iBPJOJU
oXIkwZznVzwE
FCXEZg
ExwTdmm
eeDIupsaTBq
qbZKMFwnx
dSwCpmmVAmhf
nTvGzqBsD
Soum
uEmbRu
LSHc
ZrCjWfLbnIY
JZKSmAiabDw
ouNy
eSTXky
ZjRcnHztDj
zwWaWsw
搜索
查看: 15922|回复: 60

[讨论] 关于win10的bash shell [复制链接]
跳转到指定楼层
复制 

Rank: 5Rank: 5Rank: 5

UID
764183
帖子
620
PB币
825
贡献
0
技术
5
活跃
620
楼主
发表于 2016-4-7 13:19:04 IP属地江苏 |只看该作者 |倒序浏览
快御云安全
本帖最后由 fshylove 于 2016-4-8 19:16 编辑

早上在公司升级的14361,在添加windows功能中选择windows linux子系统添加后,重启,进cmd,输入bash,就会提示下载安装,估计应该在100-200M左右
初步看,子系统是在c:/user/{User}/Appdata/local/lxss/rootfs下挂载的,文件夹可以通过windows的资源管理器查看,感觉上像是微软实现了一个在ntfs硬盘上跑的驱动(其实早就有linux的ntfs挂载支持)

测试:使用apt-get install mysql-server-5.6,安装成功并可以运行,在Bash里面也可以使用mysql登录并使用

猜测:从测试的情况看,基本上所有的linux命令或者软件,在这个子系统上都兼容(linux桌面及桌面应用除外)

问题:虽然看起来很美好,但是这个子系统的端口目前还不知道是怎么映射的,linux子系统内部是3306可以直接访问,但是在外部,根本就访问不了,从windows的进程中也查不出个所以然,而且通过测试(在linux内部去请求一个服务,在服务那边打印日志)可以看到linux子系统和windows是共享IP的,目前看起来,子系统像是被完全隔离了。。。。所以就算是装上mysql,也没鸟用。。
问题2:在windows命令行中,无法调用linux的命令,WTF。。。但是可以通过bash -c 'mysql -uroot -p'这样的,很尴尬。。我在ide中,一般会自动检测svn或者git这样的系统命令,然而却没法用,虽然理论上可以通过bat文件封装达到同样目的

求大神告知有没有办法把子系统的端口映射出来
PS:命令行终于可以全屏啦!

@更新1:确认端口可以外网访问,是我mysql绑定端口的设置问题,问题在于,我如果更改了my.cnf,居然只能重启windows才能生效,不然mysql别想再起来。。只是预览版本,表示能理解
@更新2:openjdk-8-jdk确认不兼容,楼下测试说oracle jdk也不兼容。。
@更新3:可以使用如下命令重装,感谢@m2nlight
  • echo y|lxrun /uninstall
  • echo y|lxrun /install
@更新4:如果安装的时候遇到错误,0x80004005好像是这个,记不太清了,就是下载完解压文件时出现的错误,目前还没有找到解决方案,全新安装后解决(重置是不行的)
@更新5:在windows中调用linux shell已经测试可行,可以新建Bat文件,内容如:bash -c "svn %~1%",需要在你在shell中已经安装过svn(apt-get install subversion),然后直接在windows命令行中,svn "co ${url}",就可以了,它的意义在于,为某些windows软件提供了直接使用linux命令的可能(如svn ,git,etc.),又或者说,让windows可以直接运行某些linux应用(非桌面)

2

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
4177768
帖子
1246
PB币
1379
贡献
0
技术
0
活跃
1608

十周年

沙发
发表于 2016-4-7 13:22:50 IP属地北京 |只看该作者
没想到这么快就加入了。能zsh么?能gcc么?

Rank: 5Rank: 5Rank: 5

UID
764183
帖子
620
PB币
825
贡献
0
技术
5
活跃
620
板凳
发表于 2016-4-7 13:28:18 IP属地江苏 |只看该作者
m2nlight 发表于 2016-4-7 13:22
没想到这么快就加入了。能zsh么?能gcc么?

理论上可以,就是说,之前需要交叉编译的东西,现在只需要一个windows平台可以完成,在linux子系统内,是可以通过/mnt/c:d:e:f/等来访问windows系统文件的,我刚才去执行了apt-get install gcc,一会儿编译个nginx出来,之后告诉你结果

Rank: 7Rank: 7Rank: 7

UID
4177768
帖子
1246
PB币
1379
贡献
0
技术
0
活跃
1608

十周年

4F
发表于 2016-4-7 13:30:12 IP属地北京 |只看该作者
本帖最后由 m2nlight 于 2016-4-7 13:31 编辑
fshylove 发表于 2016-4-7 13:28
理论上可以,就是说,之前需要交叉编译的东西,现在只需要一个windows平台可以完成,在linux子系统内,是 ...

还是挺兴奋的,真是好消息!以后可以放弃难用的cmd了。

UID
128090
帖子
1484
PB币
16049
贡献
0
技术
3
活跃
3347

7周年庆典勋章

5F
发表于 2016-4-7 13:41:24 IP属地浙江 |只看该作者
妈蛋,我这里装bash还得番(你懂的)蔷,不番(你懂的)蔷在cmd里输bash再y后就0% 然后错误代码。

Rank: 5Rank: 5Rank: 5

UID
764183
帖子
620
PB币
825
贡献
0
技术
5
活跃
620
6F
发表于 2016-4-7 13:42:57 IP属地江苏 |只看该作者
m2nlight 发表于 2016-4-7 13:30
还是挺兴奋的,真是好消息!以后可以放弃难用的cmd了。

测试通过,可以编译nginx

Rank: 5Rank: 5Rank: 5

UID
764183
帖子
620
PB币
825
贡献
0
技术
5
活跃
620
7F
发表于 2016-4-7 13:43:18 IP属地江苏 |只看该作者
dfdscx 发表于 2016-4-7 13:41
妈蛋,我这里装bash还得番(你懂的)蔷,不番(你懂的)蔷在cmd里输bash再y后就0% 然后错误代码。

兄弟你是铁通吧。。

UID
128090
帖子
1484
PB币
16049
贡献
0
技术
3
活跃
3347

7周年庆典勋章

8F
发表于 2016-4-7 13:47:11 IP属地浙江 |只看该作者
fshylove 发表于 2016-4-7 13:43
兄弟你是铁通吧。。

我是移动。

Rank: 7Rank: 7Rank: 7

UID
3480519
帖子
1177
PB币
3551
贡献
0
技术
12
活跃
3213

8周年庆典勋章

9F
发表于 2016-4-7 13:50:21 IP属地江苏 |只看该作者
本帖最后由 设为主页 于 2016-4-7 13:58 编辑

我的bash访问不了网络怎么回事
networking启动不了

QQ截图20160407135743.png

Rank: 5Rank: 5Rank: 5

UID
764183
帖子
620
PB币
825
贡献
0
技术
5
活跃
620
10F
发表于 2016-4-7 13:58:42 IP属地江苏 |只看该作者
设为主页 发表于 2016-4-7 13:50
我的bash访问不了网络怎么回事

不清楚,bash和windows是共用网络的,是不是你电脑上有VMware或者virtualbox影响了

Rank: 7Rank: 7Rank: 7

UID
4177768
帖子
1246
PB币
1379
贡献
0
技术
0
活跃
1608

十周年

11F
发表于 2016-4-7 13:59:20 IP属地北京 |只看该作者
fshylove 发表于 2016-4-7 13:42
测试通过,可以编译nginx

大赞!!

我的系统还在Part 2。

Rank: 2Rank: 2

UID
1962329
帖子
185
PB币
334
贡献
0
技术
56
活跃
155
12F
发表于 2016-4-7 14:02:47 IP属地美国 |只看该作者
按照 http://www.hanselman.com/blog/DevelopersCanRunBashShellAndUsermodeUbuntuLinuxBinariesOnWindows10.aspx 这里的例子,

文章结尾,作者能够使用 redis,所以应该网络端口能够暴露出来吧?

Rank: 7Rank: 7Rank: 7

UID
3480519
帖子
1177
PB币
3551
贡献
0
技术
12
活跃
3213

8周年庆典勋章

13F
发表于 2016-4-7 14:03:20 IP属地江苏 |只看该作者
fshylove 发表于 2016-4-7 13:58
不清楚,bash和windows是共用网络的,是不是你电脑上有VMware或者virtualbox影响了

我在搞下试试看,方便话把你bash默认的网络配置发我看下

Rank: 5Rank: 5Rank: 5

UID
764183
帖子
620
PB币
825
贡献
0
技术
5
活跃
620
14F
发表于 2016-4-7 14:04:13 IP属地江苏 |只看该作者
yangyangzhzh 发表于 2016-4-7 14:02
按照 http://www.hanselman.com/blog/DevelopersCanRunBashShellAndUsermodeUbuntuLinuxBinariesOnWindows1 ...

我刚才又看了一下,可以暴露出来 ,但是我的mysql改过后,就只能绑定到localhost,不能bind到0.0.0.0原因我还在查

Rank: 5Rank: 5Rank: 5

UID
764183
帖子
620
PB币
825
贡献
0
技术
5
活跃
620
15F
发表于 2016-4-7 14:05:51 IP属地江苏 |只看该作者
设为主页 发表于 2016-4-7 14:03
我在搞下试试看,方便话把你bash默认的网络配置发我看下

# The primary network interface
auto eth0
iface eth0 inet dhcp 我的eth0.cfg中,只有这个

Rank: 7Rank: 7Rank: 7

UID
3480519
帖子
1177
PB币
3551
贡献
0
技术
12
活跃
3213

8周年庆典勋章

16F
发表于 2016-4-7 14:09:30 IP属地江苏 |只看该作者
fshylove 发表于 2016-4-7 14:05
# The primary network interface
auto eth0
iface eth0 inet dhcp 我的eth0.cfg中,只有这个

好的,谢谢

Rank: 9

UID
4757969
帖子
5314
PB币
9086
贡献
0
技术
8
活跃
3021

十一周年

17F
发表于 2016-4-7 14:34:16 IP属地河北 |只看该作者
这只是第一版,未来有希望

Rank: 1

UID
1656147
帖子
6
PB币
82
贡献
0
技术
0
活跃
2
18F
发表于 2016-4-7 14:43:20 IP属地山东 |只看该作者
这更新速度~ 威武!

五星老土

Rank: 5Rank: 5Rank: 5

UID
590870
帖子
685
PB币
4749
贡献
0
技术
39
活跃
1396
19F
发表于 2016-4-7 14:46:57 IP属地江苏 |只看该作者
楼上几位请科普下,这个加入windows对普通用户有什么好处?

这个是类似于windows的cmd 的unix的shell? copy命令或者其他命令可以用bash而不用cmd, 方便熟悉bash而对cmd反感的用户? 还是说某些无法在cmd中执行的功能可以在bash中执行或者有增强/方便 的功能?

是否可以执行安卓类的程序? 或者说root 手机等的 unix 命令在这里更容易写入?像那种什么adb 命令就不用装小工具了?

一个完全不懂unix的人瞎问下,谢谢指教。

点评

panjungang  普通用户没什么用的,就算是appx对普通用户也没什么用  发表于 2016-4-10 09:50 IP属地广东

Rank: 2Rank: 2

UID
1688102
帖子
222
PB币
224
贡献
0
技术
0
活跃
2403
20F
发表于 2016-4-7 14:47:27 IP属地广东 |只看该作者
我装不上oracle jdk        subprocess pre-installation script returned error exit status 1   系统被我玩坏了吗  
关键这个还不能重装的     windows功能里关闭再启用并没有用
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛