一直想要试试linux系统下,到底是怎么进行操作的,感觉那些命令行操作一直很酷,但是苦于麻烦,也没有闲置的电脑,就没
有用过linux。最近发下win下自动集成了一个简单的linux系统,感觉给我这样的新手试试水蛮好的。
WSL的安装和使用
WSL的安装
第一步是要打开windows系统上关于linux的设置,具体路径:控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的windows子系统。
或者也可以打开win+x,以管理员权限运行powershell,运行Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
命令重启电脑,确保我们的设置已经生效。
打开Microsoft Store,搜索WSL,选择一个Linux系统进行安装就好,我选择的是
这个大概200多M吧,下载起来还挺快的。安装完成之后,可以点击图标运行
运行完成,刚开始会进行初始化,可能需要等待2~3分钟,然后安装完成之后会提示输入用户名以及密码。注意,这个密码不是用来登录的密码,当你要以权限运行一些命令的时候,会要求输入这个密码,所以请记住。这里我们创建的用户就是一个一般的用户,之后我为了调整安装程序,又更改了账户的密码。安装完成之后就可以用了
WSL的使用
apt安装源的更改
linux下安装软件是从一些网站中直接提取安装包,然后打开。国外的网站不挂代理的话访问速度感人,国内有一些做的很优秀的镜像网站,源网站改成这些镜像网站可以提升下载速度。
ubuntu下下载东西常用的命令是
apt install packagename
,后面的packagename
就是我们要安装的东西,因此我主要更 换的就是apt
的安装源。这里我们要修改的是sources.list
文件,首先要备份一下sudo cp /ect/apt/sources.list /etc/apt/sources.list.bak
需要注意的就是我们默认进入的
Ubuntu
是一个普通用户,所以要加上sudo
以超级用户权限执行这个命令,这里应该会要求你输入密码,注意这个密码就是最开始让你设置的那个密码,而且linux
中的密码是不回显的,而且不能通过backspace
进行删除,输错了只能重输。备份完了之后就是对
source.list
进行更改了。我下载的ubuntu 18.04 LTS
自带了vim
,如果你的不带vim
的话,需要运行sudo apt-get install vim
进行安装(基本上每次使用sudo这个命令,都要输入密码,这也是为什么我最后选择进入root账户进行修改,太麻烦辽).- 这里提一嘴哈,
vim
是一个文本编辑器,基本上相当于win下比较高级的记事本,使用过程中完全不用鼠标。基本上就是通过键盘进行操作。 当你运行了vim
之后,就进入了文件中,注意,你此时并不是在编辑的环境,而是处于一个要输入命令的过程,常见的命令:q
:退出;q!
强制退出,放弃修改;wq
:将当前修改写入文件中,并退出。然后输入命令之前,要按一下:
,注意是英文。 进入编辑界面,按一下i
,就是insert
模式,也就是编辑模式,上下左右移动光标,正常输入即可。 按esc
退出编辑模式,进入命令模式。
输入
sudo vim /etc/apt/sources.list
然后就进入了文件页面,将原文件里面原来的内容全部注释掉(在原来的每一行前面加
#
),然后添加下面的内容。deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
然后修改源文件后记得写入退出,也就是
wq
命令。 这里使用的是阿里的镜像网站,还有其他的几个镜像网站可以选择,注意,只用选一个就可以了。 中科大deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
清华
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
网易
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
- 这里提一嘴哈,
修改好了
source.list
之后,就要更新软件列表和软件源sudo apt-get update sudo apt-get upgrade
中文显示的更改
首先运行
echo $LANG
查看当前你的语言环境我这里已经调整好了,所以显示的是zh_CN.UTF-8
,如果你显示的前面不是zh_CN
,基本上就说明不是中文环境。 更详细的环境可以通过输入locale
进行查看这里我说的中文安装包都是指的简体中文哈,因为我自己看简中,另一个也没查。 输入下列代码安装中文语言包
sudo apt-get install language-pack-zh-han*
然后就会开始下载,更换了
apt
安装源之后,还是蛮快的。下载完成之后,再运行下列代码运行语言支持
sudo apt install $(check-language-support)
接着再修改一下配置文件就好 先进入配置文件
vim /etc/default/locale
然后把其中的内容改成如下内容,原来的内容加
#
注释掉就好LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" LC_NUMERIC="zh_CN" LC_TIME="zh_CN" LC_MONETARY="zh_CN" LC_PAPER="zh_CN" LC_NAME="zh_CN" LC_ADDRESS="zh_CN" LC_TELEPHONE="zh_CN" LC_MEASUREMENT="zh_CN" LC_IDENTIFICATION="zh_CN" LC_ALL="zh_CN.UTF-8"
再修改环境文件
vim /etc/environment
这里强调的是不要更改原来的内容,后果我也不知道是啥QAQ,在原内容下面新开一行加入下面的内容
LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" LC_NUMERIC="zh_CN" LC_TIME="zh_CN" LC_MONETARY="zh_CN" LC_PAPER="zh_CN" LC_NAME="zh_CN" LC_ADDRESS="zh_CN" LC_TELEPHONE="zh_CN" LC_MEASUREMENT="zh_CN" LC_IDENTIFICATION="zh_CN" LC_ALL="zh_CN.UTF-8"
最后重启一下系统就可以了
reboot
关于linux
下的中文显示
文件编码方式的不同这部分是最折腾我的,要了解linux下为什么我们的cpp文件里面的中文没有办法显示,就要首先了解一点文件编码方式。
在中文的win操作系统下,通常来说含有中文字符的文档都是以
GBK
格式进行编码的,用记事本打开的话,显示的就是ANSI
在
linux
下,系统认得文件格式是utf-8
格式
这两个格式对于英文字符没有太大的区别,对于中文字符,在GBK
格式中,一个字符占2个字节;但是在utf-8
格式中,一个字符占3个字节,因此导致了中文显示乱码。
如果为了能够在linux下进行显示和编译,最方便的方法就是将你的文件转化为
utf-8
格式,用记事本打开文件,点击另存为,把ANSI
换成utf-8
就好了如果只是打开中文文件查看不乱码,可以通过对
vim
的一些设置做到,设置步骤如下:- 打开文件
sudo vim /var/lib/locales/supported.d/local
原有内容不变,添加下列内容
zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030
执行命令,使配置生效
sudo dpkg-reconfigure locales
这里运行完这个命令之后,会进入一个图形界面,然后第一个就选择所有区域,第二个选择
zh_CN.UTF-8
就可以了(选择其他的中文环境,比如说zh_CN.GBK
、zh_CN.GB2312
,会导致linux
下中文显示乱码,我没弄懂什么原因,有大佬可以提点一下嘛)打开文件
sudo vim /etc/vim/vimrc
不用更改原文件内容,在文件末尾添加
set fileencodings=utf-8,gbk,utf-16le,cp1252,iso-8859-15,ucs-bom set termencoding=utf-8 set encoding=utf-8
在然后用
vim
打开的中文文件,里面的中文字符就可以正常显示,不管是GBK
格式还是utf-8
格式
配置结束
作为萌新,我也就做了这些,就够我正常上课使用了,但是我在使用过程中遇到了一个问题,不知道怎么解决。
c++进行格式化输出的时候,我用的是
cout << setw(20) << "测试用例"
进行排版的控制 但是由于utf-8中,一个中文等于3个字节,那么就是说utf-8
格式中,我的"测试用例"占12个字节,系统就会输出8个空格作为格式补齐,但是由于在屏幕上一个中文宽度约等于两个英文字符的宽度(也就是两个空格),所以就导致我的屏幕宽度只占到了16个英文字符宽度 而我的cout<< setw(20)
本来是想要屏幕宽度为20个英文字符,这该怎么解决呢,或者说用解决吗?