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.confsudo vi /etc/resolv.conf这时可以看到有一个nameserver xxx我的是nameserver 127.0.0.53第二步:更改dnsnameserver 8.8.8.8nameserver 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.wslservice 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# 启动 MySQLservice mysql start# 启动 fpmservice php-fpm start# 启动 nginxservice 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 会帮你安装这些依赖的库文件。
# 安装 Composerphp -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"sudo php composer-setup.php --install-dir=/usr/bin --filename=composerphp -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-devsudo touch /etc/php/7.4/mods-available/pear.inisudo ln -s /etc/php/7.4/mods-available/pear.ini /etc/php/7.4/fpm/conf.d/20-pear.inisudo ln -s /etc/php/7.4/mods-available/pear.ini /etc/php/7.4/cli/conf.d/20-pear.inisudo pear config-set php_ini /etc/php/7.4/mods-available/pear.inipecl install yaf
Linux 安装GCC/G++
参考
默认的 Ubuntu 软件源包含了一个软件包组,名称为 “build-essential”,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具。
想要安装开发工具软件包,以 拥有 sudo 权限用户身份或者 root 身份运行下面的命令:sudo apt updatesudo apt install build-essential
这个命令将会安装一系列软件包,包括gcc,g++,和make。
MPI 安装
