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

posted on 2017-02-11 20:31  apple123  阅读(454)  评论(0编辑  收藏  举报