Windows 10 可以下载一个Ubuntu 10.04的子系统,不用虚拟机,跑起来,类似cygwin。
测试之后,发现比较有意思。
win10这个linux子系统的根目录在:C:\Users\[用户名]\AppData\Local\Lxss\rootfs:
这个系统和windows其他程序完全分隔开,不能跑windows的二进制程序。
既然是ubuntu,就可以安装软件,配置了163的源:
deb http://mirrors.163.com/ubuntu/ trusty main multiverse restricted universe deb http://mirrors.163.com/ubuntu/ trusty-security main multiverse restricted universe deb http://mirrors.163.com/ubuntu/ trusty-updates main multiverse restricted universe deb http://mirrors.163.com/ubuntu/ trusty-proposed universe restricted multiverse main deb http://mirrors.163.com/ubuntu/ trusty-backports main multiverse restricted universe
然后执行 apt-get install openjdk-7-jdk, 之后运行 javac -version: 得到
javac 1.7.0_121
下载了一个zip包,发现没有unzip,apt安装之后可以解压了。整体感觉不错,直到我运行简单的mv命令:
mv 1 2
卡死了, ctrl + c 退不出来,任务管理器中杀不死,只能重启。网上搜了一把,没有答案。github上有人说是mv会导致死锁bug,开发版本已经解决。
没办法,就想用python实现一个mv,简单解决:
#! /usr/bin/python import os import shutil import sys args = sys.argv if( len(args) == 3 ): src = args[1] dst = args[2] shutil.move( src, dst ) elif( len(args) < 3): sys.stderr.write("Wrong params\n" ) else: src = args[1:-1] dst = args[-1] if( not os.path.isdir( dst ) ): sys.stderr.write("dst not exists\n") sys.exit(1) for s in src: shutil.move( s, dst )
到 C:\Users\[user]\AppData\Local\Lxss\rootfs\bin备份原mv,然后删除。然后添加一个软连接即可:
ln -s mv.py /bin/mv
放到了代码仓库中: coding.net