ZZY‘s_wsl_guide

ZZY’s WSL guide

为什么我要做这个东西和为什么我推荐大家用 WSL

为什么我要做这个东西

这学期计算机下智科和物联进入了两门大课:

计算机组成和计算机操作系统

这两门课程需要直面系统底层,接触计算机的真实面貌,让你体会到什么是真正的编程。但是Windows的底层已经封装的相当好了,大部分时候我们在Windows下编程的时候已经无法触碰到底层的东西,更别说所谓名校上完操作系统课后的大作业:自己写一个操作系统出来。所以我们需要Linux来帮助我们来完成这个任务。

为什么我推荐WSL

WSL全称Windows Subsystem for Linux(win下的linux子系统)

(所以用 Mac 的同学,你们就没有必要继续读下去了,因为 Macos 就是基于BSD Linux.)

(并且此教程仅有win10能够使用)

WSL有几大特点:

  • 1.开箱即用:在Windows应用商店中下载后无需多余配置即可使用,免去了配置的麻烦。
  • 2.微软系工具适配极好:很多人被Linux劝退是因为没有图形界面和优秀的图像文件管理,还得去学习vim的使用,但是WSL和Vistal Studio Code(下文简称vsc)因为微软做了大量的适配去配合wsl的使用,所以体验极佳,文本文件的编辑也十分好用。
  • 3.硬件效率高:wsl的软件基础是基于Windows的Hyper-V虚拟机,原生与系统之中,与cpu的沟通效率相较于VirtualBox和Vmware的效率是最高的。我们现在的编程主要还是在利用cpu

所以wsl是个很好的选择来编写系统相关的东西又不会把宿主机搞得看必须得重做系统(我的阿里云server还在的时候折腾的基本每天重装一次系统)

两大原则

你需要独立安装 请你认真阅读guide中的每一个字符, 并按照guide中的内容进行操作: 当guide提到要在互联网上搜索某个内容时, 你就去互联网上搜索这个内容. 如果遇到了错误, 请认真反复阅读讲义内容, 机 器 永 远 是 对 的 ‾ \underline{机器永远是对的}

同时请铭记STFW( S e a r c h T h e F ∗ ∗ ∗ i n g W e b ‾ \underline{Search The F***ing Web} SearchTheFingWeb)

但现在是互联网时代了, 在网上你能得到各种信息: 比如diff格式这种标准信息, 网上是100%能搜到的; 就包括你遇到的问题, 很大概率也是别人在网上求助过的. 如果对于一个你本来只需要在搜索引擎上输入几个关键字就能找到解决方案的问题, 你都没有付出如此微小的努力, 而是首先想着找人来帮你解决, 占用别人宝贵的时间, 你将是这个时代的"失败者".

于是有了STFW (Search The F***ing Web) 的说法, 它的意思是, 在向别人求助之前自己先尝试通过正确的方式使用搜索引擎独立寻找解决方案.

正确的STFW方式能够增加找到解决方案的概率, 包括

  • 使用Google搜索引擎搜索一般性问题
  • 使用英文维基百科查阅概念
  • 使用stack overflow问答网站搜索程序设计相关问题

如果你没有使用上述方式来STFW, 请不要抱怨找不到解决方案而开始向别人求助, 你应该想, “噢我刚才用的是百度, 接下来我应该试试Google”. 关于使用Google, 不过多描述,不然我害怕等会我人没了,哈人的很。

关于准备

步骤 1 - 启用适用于 Linux 的 Windows 子系统

需要先启用“适用于 Linux 的 Windows 子系统”这项windows功能,才能够在Windows上安装WSL。
用win键(就是开始菜单)呼出搜索栏输入 Powershell 并用管理员模式打开。
step1-1

输入

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

输入完成后不要慌着退出,再输入如下内容

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启后去如下网址下载WSL2补充内核更新包

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

速度可能较慢,请耐心等一下,安装完成后重启

步骤 2 - 下载WSL包

在重启完成之后在powershell中输入

wsl --set-default-version 2

并打开Microsoft Store(点击此链接会唤起Microsoft store,其中是Ubuntu 的 20.04 发行版)

https://www.microsoft.com/store/apps/9n6svws3rx71

下载完成后不要关闭,会出现如下界面

step2-1

请输入你的用户名和密码

密码在输入时不可见,为正常现象,Linux全系都是如此设计

如果仍有关于安装的疑惑,请向我发送电子邮件 hafuhafu@qq.com 我会在尽快的时间内回复。

如何利用vsc与wsl连接

首先下载vsc

https://vscode.cdn.azure.cn/sha/download?build=stable&os=win32-x64-user
安装完成后,点击左侧step3-1
搜索并安装这些插件

  • chinese
  • Remote - WSL
  • python
  • C/C++ Extension Pack
  • Code Runner
  • Bracket Pair Colorizer 2
  • Better C++ Syntax

vsc与wsl的链接

重启vsc,可以看到右侧多了个图标
step3-2
点进去即可进入WSL的终端界面了

简单的Linux使用

简单的包管理和安装及其换源

Linux的软件管理并不是像Windows一样极其混乱和无序,是通过包管理工具来管理的,所以我们首先掌握Linux的包管理方法

更改包管理工具的下载源

因为默认的apt包管理工具在默认下是用的国外的源站,慢的不行,所以我们现在来切换为TsingHuaU的源站。

在下方终端中输入

codecode /etc/apt/sources.list

此时vsc会弹出/etc/apt/sources.list的编辑页面,把内容全部删掉,输入如下内容

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse

保存后更改完成。
输入sudo apt update来刷新软件源信息。
输入sudo apt upgrade来升级软件版本

定义su密码*root密码 //superuser

输入su来更改root用户密码,root用户是Linux权限中最高的,也不要用这个用户为常规用户,会导致一些意料之外的错误,定义密码后请用su 用户名切换回原来用户。

安装C/C++系工具

Linux下最快的开发效率并不是使用Visual Studio等IDE,而是利用CMake等工具来构建一个大的文件,所以我们需要安装C/C++的编译器,同时我们也最好开始学习使用git等版本控制工具(git在这不过多描述)
输入sudo apt install CMake g++ gcc make git wget

PS:如果你对javaLinux开发或非标准C/C++库有兴趣,可以用可以利用这种方法安装jdk和c/c++库

安装完成后就可以开始我们的第一个C++程序了

点击左侧新建文件,输入test.cpp

#include<iostream>
using namespace std;
int main(){
   cout<<"hello WSL\n";
}

利用 g++来编译 如何编译呢

g++ 这个编译器的编译公式为g++ source.cpp -X(X不定,如果想了解更多请上网查询) 想要生成的文件的文件名

如果是我要生成可执行文件呢

输入 g++ test.cpp -o test

可以观察到在当前目录下生成了一个无后缀的二进制文件,如何来运行它呢

输入 ./test来运行

可以观察到输出了一行 hello WSL 这就代表着基本配置完毕

简单的命令

ls //列出当前文件夹中文件
mkdir dirname //生成一个文件夹名字为dirname
cd path //进入path这条路径下的文件夹
wget website //下载website这个网址所指代的文件
sudo //super user do **慎用,除非你知道自己在干什么,同时在安装包时也必须在前面加上sudo

简单的键盘命令

CTRL + C //强制关闭当前任务
shift + CTRL + C //复制终端中的内容
TAB //自动补全命令

如想了解更多知识,请上网查询

ZZY’s guide 系列不定期更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值