WSL 是 Windows Subsystem for Linux 的简称, 可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。
0 重要命令
全选(高亮显示):按esc后,然后ggvG或者ggVG
全部复制:按esc后,然后ggyG
全部删除:按esc后,然后dG
vim保存退出 冒号+wq 不保存退出q!
WSL系统更换国内源+DNS设置 (Failed to fetch)
第一步:打开/etc/resolv.conf
sudo vi /etc/resolv.conf
这时可以看到有一个nameserver xxx
我的是nameserver 127.0.0.53
第二步:更改dns
nameserver 8.8.8.8
nameserver 8.8.4.4
第三步:
sudo apt-get update
切换用户su - lan
; 切换rootsudo -i
Xshell完美连接WSL
1 常用命令
win + R 运行 \\wsl$
打开 WSL文件目录wsl --shutdown
立即终止所有正在运行的发行版和 WSL 2 轻量级实用工具虚拟机。 在需要重启 WSL 2 虚拟机环境的情形下,例如更改内存使用限制或更改 .wslconfig 文件,可能必须使用此命令。wsl --help
查看 WSL 中可用的选项和命令列表。<DistributionName> config --default-user <Username>
更改发行版的默认用户。
- 例如:ubuntu config —default-user johndoe 会将 Ubuntu 发行版的默认用户更改为“johndoe”。
- 如果在确定发行版名称时遇到问题,请使用命令
wsl -l
。
wsl ~
在用户的主目录中启动WSL。cd ~
在 WSL 命令提示符中从任何目录跳回到主目录。wsl --list --verbose
列出已经安装的WSLwsl --unregister Ubuntu
卸载指定的wslwsl --distribution <Distribution Name> --user <User Name>
运行特点版本WSL。
2 WSL 基本命令
许多命令在 Windows 和 Linux 之间都具有互操作性。 下面有几个示例:
- 从 Windows 命令行运行 Linux 工具:打开 PowerShell,通过输入以下内容使用 Linux ls -la 命令显示 C:\temp> 的目录内容:wsl ls -la
- 混合 Linux 和 Windows 命令:在此示例中,使用 Linux 命令 ls -la 列出目录中的文件,然后使用 PowerShell 命令 findstr 筛选包含“git”的单词的结果:wsl ls -la | findstr “git”。 这还可以通过混合使用 Windows dir 命令和 Linux grep 命令来实现:dir | wsl grep git。
- 直接从 WSL 命令行运行 Windows 工具:
.exe。例如,若要打开 .bashrc 文件(启动 Linux 命令行时运行的 shell 脚本),请输入:notepad.exe .bashrc 使用 Linux Grep 工具运行 Windows ipconfig.exe 工具:ipconfig.exe | grep IPv4 | cut -d: -f2。此示例演示了 Windows 文件系统上的 ipconfig 工具,该工具用于显示当前 TCP/IP 网络配置值,然后通过 Linux 工具 grep 被筛选为仅 IPv4 结果。
1 安装WSL 参考
2.卸载WSL
2 配置开发环境 参考
5.服务自启动配置
由于 WSL 并没有 Linux 内核的支持,仅在用户层实现了系统调用的翻译。因此诸如 systemd、cgroup 是无法工作的。 只能使用 start-stop-daemon 或其他进程守护工具实现服务管理
编辑 vim /etc/init.wsl 文件添加如下内容
#! /bin/sh
# Filename: /etc/init.wsl
service nginx start
开始 -> 运行 中输入 regedit 回车打开注册表编辑器
定位到 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 后新建一个 REG_SZ 类型的值,名称随意,数值数据填写以下内容
mshta vbscript:CreateObject(“WScript.Shell”).Run(“wsl -d Ubuntu-20.04 -u root bash /etc/init.wsl”,0,TRUE)(window.close)
以后就可以向 /etc/init.wsl 追加服务,实现开启自启动了。
配置开发环境
Linux 环境搞好,下面就开始根据自己需要配置相应的开发环境
1.PHP Nignx MySQL 环境搭建
得益于 Wordpress 等平台的流行,PHP 仍是目前使用广泛 Web 开发语言,LNMP 环境
sudo apt-get install -y nginx php-fpm php-mysql php-curl mysql-server
# 开放端口
sudo sed -i 's/bind-address/#bind-address/' /etc/mysql/mysql.conf.d/mysqld.cnf
# 启动 MySQL
service mysql start
# 启动 fpm
service php-fpm start
# 启动 nginx
service nginx start
- 解决 nginx 超时的问题
在 /etc/nginx/nginx.conf 中的 http block 中加入**fastcgi_buffering** off;
配置添加如下内容
server {
listen 80;
server_name domain.com;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# 设置监听端口
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
# 用于伪静态
if (!-e $request_filename) {
rewrite ^/(.*) /index.php?r=$1 last;
}
}
- 配置 MySQL 密码
运行 sudo mysql -u root 进入命令行模式。
-- 重设密码
UPDATE mysql.user SET host = '%', authentication_string = PASSWORD('123456') WHERE user = 'root';
FLUSH privileges;
-- 用户创建与授权
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
CREATE DATABASE `database` CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
- 安装 Composer
Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
# 安装 Composer
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
sudo php composer-setup.php --install-dir=/usr/bin --filename=composer
php -r "unlink('composer-setup.php');"
# 配置 国内镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
- PHP 扩展安装
除了 apt 中自带的 PHP 扩展,很多扩展需要通过 pecl 命令安装。 这里通过配置 php_ini 实现 php.ini 的自动配置。
sudo apt install -y php-pear php-dev
sudo touch /etc/php/7.4/mods-available/pear.ini
sudo ln -s /etc/php/7.4/mods-available/pear.ini /etc/php/7.4/fpm/conf.d/20-pear.ini
sudo ln -s /etc/php/7.4/mods-available/pear.ini /etc/php/7.4/cli/conf.d/20-pear.ini
sudo pear config-set php_ini /etc/php/7.4/mods-available/pear.ini
pecl install yaf
Linux 安装GCC/G++
参考
默认的 Ubuntu 软件源包含了一个软件包组,名称为 “build-essential”,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具。
想要安装开发工具软件包,以 拥有 sudo 权限用户身份或者 root 身份运行下面的命令:sudo apt update
sudo apt install build-essential
这个命令将会安装一系列软件包,包括gcc,g++,和make。
MPI 安装