win10上linux子系统的开启、升级及使用

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/helaisun/article/details/80712287

win10上linux子系统的开启、升级及使用

在16年时看到网上有所win10上可以运行ubuntu子系统,就试着下载了试用了下,利用Linux子系统可以直接访问win10的各种文件,相比使用虚拟机很是方便,而且速度也是杠杠的。
Linux子系统和Windows是一种很好的互补,利用两个系统相互协作,完全可以在Windows下进行进行编码,然后在Linux子系统进行编译、提交等工作。
下面就Linux子系统的开启、升级等进行简单的介绍,目前使用的子系统是ubuntu系统,当然你也可以选择SUSE、Debian等。


开启win10内置linux子系统

  1. 选择开发人员模式。按照下图中的标识,依次选择各项即可。
    选择开发者人员模式
  2. 开启windows功能中的Linux子系统功能。选择控制面板(或者直接打开控制面板)->启用或关闭windows功能->适用于Linux的windows子系统,选中后点确定。
    选择Linux子系统

  3. 重启计算机,在windows的命令提示符中输入bash,然后enter,界面提示你是否下载linux系统,输入Y 然后enter。
    下载很需要时间(第一次下载时下载了好多次,中间下载失败两三次,后面升级时就顺利多了),下载完成以后会自动安装(如没有自动安装参考下面子系统升级部分),安装完成需要你输入linux账号和密码,账号创建完就可以用linux了,这个窗口就是linux的shell窗口,可以在里面执行linux的命令以及安装linux的软件,当然也包括linux的桌面,下次启动linux的时可直接打开命令提示符窗口,然后在里面输入bash然后enter,就会自动进入到linux子系统了。

Linux子系统升级

之前下载的Linux子系统是ubuntu 14.04,不过目前这个版本已上升到16.04。网上文章提到升级Linux系统通常是有两种方法,直接升级 和 先卸载再重新安装最新版本,官方推荐使用先卸载后安装新版本的方式升级,直接升级可能或出现很多问题。

  • 查看当前 Windows 10内置的Ubuntu系统版本,可以打开命令提示符输入 bash 进入shell后使用如下命令查询:
lsb_release -a

lsb_release -a

  • 使用工具lxrun移除Ubuntu 14.04版(注意不是在Bash中),打开命令提示符输入如下命令:
lxrun /uninstall /full /y

执行命令后将在 Windows 中卸载 Ubuntu,删除 Ubuntu 环境以及任何修改、新应用程序和用户数据。

  • 卸载完成后再使用lxrun重新安装Ubuntu子系统,这个时候默认获取到的就是Ubuntu 16.04了,直接在命令提示符输入如下命令:
lxrun /install /y

这时候如果提示“键入“y”继续: ”,则输入“y”,下载linux子系统,如提示lxrun适用于windows子系统的旧版本分发,则可以方便的从应用商店中获取,如下图:

下载Linux

注意提示,在浏览器中 或 在win10下方搜索中输入 网址https://aka.ms/wslstore,可以打开windows应用商店。
可以看到商店中在windows上运行linux有ubuntu、debian、SUSE等发行版本可供选择,这里选择ubuntu,然后在ubuntu页面点击“获取”即可开始下载ubuntu了。

下载过程:首先是检查产品文件(如下图),约250K左右,之后才是开始下载unbuntu了,约200M左右吧,下载时间视网速而定,我的下载速度还是比较快的约7M左右。

这里写图片描述

下载完成后,如下图,点击启动,启动完成后按照提示输入用户名和密码(默认使用root帐号,通过指令passwd设置密码),之后就进入ubuntu了。
至此,ubuntu系统升级依然完成,不过系统中很多软件没有安装,需要自己使用apt-get 工具进行安装。
下载的文件在%localappdata%\lxss目录下的lxss.tar.gz,解压后的rootfs目录即为子系统根目录。可以把子系统环境(lxss目录)进行备份下以便快速还原,注意,不要直接右键复制或者打包,可能会导致文件权限丢失的,可以使用如下命令:
xcopy %localappdata%\lxss %localappdata%\lxss.bak /E

这里写图片描述

cmder的使用

由于Windows自带的命令提示符cmd并不是很好用,界面也不美观,这里使用效果更好的cmder替代,去cmder官网(http://cmder.net/)下载mini版的解压即可使用。

  1. 启动cmder设置bash运行环境:
    进入在cmder的标题栏或状态栏 右键 或者点击右下角menu,如下图,选择”Settings”进行环境设置:选择Command line,输入”bash -cur_console:p”,另外通过ssh连接服务器的时候,会出现中文字体相互重叠的情况,这时去设置Main总取消选择 Compress long strings to fit space。
    cmder设置
    cmder_env
    取消选择 Compress long

  2. 配置完后的效果,下图为配置完后的图和设置cmder中的粘贴功能的选择,如不想cmder在启动的检查更新提示,可在Main>Update中,取消update settings中的startup 。
    cmder使用效果
    cmder的粘贴功能

ubuntu的一些命令及查看已安装软件包的命令

// 系统
# uname -a               # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue   # 查看操作系统版本
# cat /proc/cpuinfo      # 查看CPU信息
# hostname               # 查看计算机名
# lspci -tv              # 列出所有PCI设备
# lsusb -tv              # 列出所有USB设备
# lsmod                  # 列出加载的内核模块
# env                    # 查看环境变量

// 资源
# free -m                # 查看内存使用量和交换区使用量
# df -h                  # 查看各分区使用情况
# du -sh <目录名>         # 查看指定目录的大小
# grep MemTotal /proc/meminfo   # 查看内存总量
# grep MemFree /proc/meminfo    # 查看空闲内存量
# uptime                 # 查看系统运行时间、用户数、负载
# cat /proc/loadavg      # 查看系统负载

// 磁盘和分区
# mount | column -t      # 查看挂接的分区状态
# fdisk -l               # 查看所有分区
# swapon -s              # 查看所有交换分区
# hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE       # 查看启动时IDE设备检测状况

// 网络
# ifconfig               # 查看所有网络接口的属性
# iptables -L            # 查看防火墙设置
# route -n               # 查看路由表
# netstat -lntp          # 查看所有监听端口
# netstat -antp          # 查看所有已经建立的连接
# netstat -s             # 查看网络统计信息

// 进程
# ps -ef                 # 查看所有进程
# top                    # 实时显示进程状态

// 用户
# w                      # 查看活动用户
# id <用户名>             # 查看指定用户信息
# last                    # 查看用户登录日志
# cut -d: -f1 /etc/passwd   # 查看系统所有用户
# cut -d: -f1 /etc/group    # 查看系统所有组
# crontab -l             # 查看当前用户的计划任务

// 服务
# chkconfig --list       # 列出所有系统服务
# chkconfig --list | grep on    # 列出所有启动的系统服务

// 程序
apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。 
apt-get install packagename——安装一个新软件包(参见下文的aptitude) 
apt-get remove packagename——卸载一个已安装的软件包(保留配置文件) 
apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件) 
dpkg --force-all --purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。 
apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件 
apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。 
apt-get upgrade——更新所有已安装的软件包 
apt-get dist-upgrade——将系统升级到新版本 
apt-cache search string——在软件包列表中搜索字符串 
dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。 
aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。 
apt-cache showpkg pkgs——显示软件包信息。 
apt-cache dumpavail——打印可用软件包列表。 
apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。 
apt-cache pkgnames——打印软件包列表中所有软件包的名称。 
dpkg -S file——这个文件属于哪个已安装软件包。 
dpkg -L package——列出软件包中的所有文件。 
apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须 先使用apt-get install来安装它,然后运行apt-file update。如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。

参考:
1. Linux查看系统信息的一些命令及查看已安装软件包的命令
2. Windows10内置Linux子系开启指南

猜你喜欢

转载自blog.csdn.net/helaisun/article/details/80712287