WSL 使用技巧
简介
- WSL - Windows Subsystem for Linux
- 适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销
安装
图形界面方式
命令行方式
1 | wsl --install # 安装 |
:x: wsl 需要更新
wsl --updat
wsl 基本命令
命令 | 说明 |
---|---|
wsl --set-version <distribution name> <versionNumber> |
指定运行 Linux 发行版的 WSL 版本(1 或 2) |
wsl --set-default-version <Version> |
设置默认 WSL 版本 |
wsl --list --online |
查看可用的 Linux 发行版 |
wsl |
进入默认子系统 |
wsl --distribution <Distribution Name> --user <User Name> |
运行特定的 Linux 发行版 |
wsl --set-default Ubuntu wsl /setdefault Ubuntu |
设置默认系统 |
wsl --list wsl -l |
查看当前安装的子系统 |
wsl --list --verbose wsl --l -v |
查看当前安装的子系统 |
wsl --list --online wsl -l -o |
查看可用的 Linux 发行版 |
wsl ~ |
将目录改为主页 |
wsl --update |
更新 wsl |
wsl --status |
检查 wsl 状态 |
wsl --version |
检查 wsl 版本 |
wsl --shutdown |
关闭 |
wsl --export <Distribution Name> <FileName> |
导出发行版 |
wsl --import <Distribution Name> <InstallLocation> <FileName> |
导入发行版 |
wsl --unregister <DistributionName> |
注销或卸载 Linux 发行版 |
wsl --mount <DiskPath> |
通过将 <DiskPath> 替换为物理磁盘所在的目录\文件路径 |
wsl --unmount <DiskPath> |
卸载磁盘 |
基本使用
连接
- 命令行
- VScode 连接
配置镜像源
位置
/etc/apt/sources.list
:key: 建议先进行备份
1
cp /etc/apt/sources.list /etc/apt/sources_origin.list
20.04 LTS
清华
```markdown
## Ubuntu22.04LTS 清华镜像源
默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
预发布软件源,不建议启用
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 阿里
- ```markdown
######## Ubuntu22.04 阿里云镜像源 ###############
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
更新 Linux
sudo apt update && sudo apt upgrade
:key: CentOS 安装额外源
- ```shell
$ yum install -y epel-release1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
-
### zsh
> 相比于默认的 Bash,Zsh 有更多的自定义选项,并支持扩展。因此 Zsh 可以实现更强大的命令补全,命令高亮等一系列酷炫功能
- 安装 `sudo apt install zsh`
- 查看可用的 shell `cat /etc/shells`
- ![image-20231025190800379](https://s2.loli.net/2023/10/25/Zb5AwuBdnKpIex3.png)
- 切换默认 shell `chsh -s /bin/zsh`
```shell
# 更新 package
sudo apt update && sudo apt upgrade
# 安装 zsh
sudo apt install zsh
# 安装 oh-my-zsh
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh || true
# 安装命令补全和高亮插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting)/g' ~/.zshrc
# 安装autojump
$ yum install -y autojump-zsh
# 将 zsh 设置为默认的shell
chsh -s /bin/zsh
# 列表形式显示所有文件详情
alias ll="ls -alF"
# 删除文件前需确认
alias rm="rm -i"
- ```shell
:key: raw.githubusercontent.com 可能连接不上
查询 ip 域名 域名 iP 查询
修改
/etc/hosts
- ```shell
185.199.110.133 raw.githubusercontent.com
1
2
3
4
5
6
7
8
9
10
### virtualenv
- 安装 pip `sudo apt install python3-pip`
- 安装 virtualenv
- ```shell
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
创建虚拟环境的根目录
mkdir $HOME/.envs
配置环境变量
sudo vim ~/.zshrc
- ```
指定虚拟环境目录
export WORKON_HOME=$HOME/.envs指定python版本
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3指定virtualenv的路径
export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- 激活环境变量 `source ~/.bashrc`
- 常用命令
- ```
mkvirtualenv <name> 创建虚拟环境
workon 查看所有的虚拟环境
rmvirtualenv testEnv 删除虚拟环境
workon 虚拟环境 使用虚拟环境
pip list 查看已安装的包
pip install package 安装包
deactivite 退出虚拟环境
- ```
查看文件夹
1 | explore.exe . |
root 登录
wsl -u root
[!FAILURE]
xxx is not in the sudoers file. This incident will be reported
进入 root 用户
wsl -u root
增加 sudo 指令的组
vim /etc/sudoers
bayyy ALL=(ALL:ALL) ALL
1
2
3
4
5
6
7 username ALL=(ALL:ALL) ALL #用户需要输入密码执行sudo命令
%groupname ALL=(ALL) AL #用户组里的用户输入密码执行sudo命令
username ALL=(ALL) NOPASSWD: ALL #用户免密执行sudo命令
%groupname ALL=(ALL) NOPASSWD: ALL #用户组里的用户andy免密执行sudo命令
CentOs
yum
- | 目标 | 命令 |
| —————————— | ————————————- |
| 列出所有软件仓库 | yum repolist all |
| 列出仓库中的所有包 | yum list all |
| 查看软件包信息 | yum info 软件包名称 |
| 安装软件包 | yum install 软件包名称 |
| 重新安装软件包 | yum reinstall 软件包名称 |
| 升级软件包 | yum update 软件包名称 |
| 移除软件包 | yum remove 软件包名称 |
| 清除所有仓库缓存 | yum clean all |
| 检查可更新软件包 | yum check-update |
| 查看已安装软件包组 | yum grouplist |
| 安装指定软件包组 | yum groupinstall 软件包组 |
| 移除指定软件包组 | yum groupremove 软件包组 |
| 查询指定软件包组信息 | yum groupinfo 软件包组 |
- | 目标 | 命令 |