简介

  • WSL - Windows Subsystem for Linux
    • 适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销

安装

图形界面方式

  • image-20231025184838074
    • image-20231025184825368
  • image-20231025184906018

命令行方式

1
2
3
4
5
6
7
wsl --install	# 安装

wsl --list --verbose # 列出可用的 Linux 发行版
wsk -k -v # 同上

wsl --install -d <distribution name> # 安装指定发行版

:x: wsl 需要更新

image-20231101152623004

  • 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 连接
    • image-20231025185317968

配置镜像源

  • 位置 /etc/apt/sources.list

    :key: 建议先进行备份

    1
    $ cp /etc/apt/sources.list /etc/apt/sources_origin.list
  • 20.04 LTS

更新 Linux

  • sudo apt update && sudo apt upgrade

  • :key: CentOS 安装额外源

    • ```shell
      $ yum install -y epel-release
      1
      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"

: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.sh
      1
      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

  1. 进入 root 用户 wsl -u root

  2. 增加 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 软件包组 |