[{"content":"写在开始之前： 为什么是 Linux？\n在接触 Linux 前，我问过一些大手子群友，为什么要学 Linux？其中一个回答是“因为你不得不学”。虽然目前还没到“不得不”的程度，但是学习使用 Linux 的确是个真正锻炼自己的过程。据说 Docker 必需在 Linux 环境下运行，还有 Linux 权限比 Windows 自由，不会有一些奇怪的问题。除此之外，脚本、git 的命令行操作、编译过程、网站配置等等都是我在接触 Linux 后才真正开始学习。\n本文旨在给初次接触 Linux 系统的新手们一个入门操作教程，希望能给你帮助。\n在哪里用 Linux？ 对于大部分 Windows 使用者，想要使用 Linux 无外乎以下几个方法：\n再来一台 PC 🤓☝️（我没有所以不会 双系统 U盘启动 虚拟机 服务器 WSL (Windows Subsystem for Linux) 首先，如果不是全新裸机，没有特别需求不要瞎搞双系统。双系统可能会有各种意想不到的错误，严重的可能导致数据消失甚至电脑变砖头）\n其次，U盘启动要求每次都插上U盘重启，虚拟机也需要经过较长的启动开机过程。繁琐的操作和枯燥的等待阻碍了学习Linux的第一步，我们的好奇心与热情很有可能被不断磨灭。 最后，真的有人没接触过 Linux 就上手服务器吗》？\n因此，最佳答案就是搞一个 WSL 玩玩。WSL 主要优点包括免费、安装方便、启动速度快、原生 Linux 环境支持等等。\nWSL 安装 开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。借助适用于 Linux 的 Windows 子系统（WSL），开发人员可以安装 Linux 分发版，并在 Windows 上直接使用 Linux 应用程序、实用工具和 Bash 命令行工具（未经修改），无需传统虚拟机或双包设置的开销。 ——摘自Microsoft官方文档，点击跳转\n上方链接是 Microsoft 的官方文档，当中有 Microsoft 给出的下载使用教程。不过官方文档相当晦涩，也缺乏一些重要细节，最后还是上网搜寻社区教程。个人环境是 Windows 11 家庭版，仅供对照。\n启用 Windows 的 WSL 和虚拟化功能 首先打开控制面板（点击 Win 徽标后搜索即可），控制面板 -\u0026gt; 程序 -\u0026gt; 程序和功能 -\u0026gt; 启用或关闭 Windows 功能，滚轮到最下方找到 适用于Linux的Windows子系统 并勾选，再找到 虚拟机平台 或 Virtual Machine Platform 并勾选（不同版本可能不同）\n下载 Ubuntu 接着打开 Windows PowerShell（同上搜索），输入 wsl --install 直接默认下载Ubuntu，也可以指定下载版本：\n1 2 3 4 5 # 查看可用发行版列表 wsl --list --online # 安装指定版本，以 Ubuntu 24.04 为例 wsl --install -d Ubuntu-24.04 输入上述命令后，等待下载完成。\n镜像站下载 如下载很慢又没有魔法，这里给出阿里云开源镜像站的链接，点击需要的版本号后找到以 .wsl 为后缀的文件，如Ubuntu-24.04.4（点击下载），下载完成后双击该文件即可。也可以在下载文件夹执行以下命令：\n1 wsl --install --from-file \u0026#34;你下载的文件名.wsl\u0026#34; 安装完成后会提示 “Create a default Unix user account:”，不建议包含中文，简单就好。Linux 输入密码时会“关闭回显”，即看不到输入的内容，不是卡了，正常输入后回车即可。结束后可用 wsl -l 确认安装的版本。\n友情提醒：安装完成后 Win 徽标下的页面会推荐把 Ubuntu 加入开始菜单，建议加入并放在“已固定”下方便用移动键（↑↓←→）移动到的位置，这样打开终端只需键盘上按 Win 徽标 + 移动即可，大大减少了鼠标操作。\n迁移 Ubuntu 到 D 盘 把所有软件安装在 C 盘不是一个好习惯哦！\n导出并重新安装 一整个系统的文件可不少，装在 C 盘太占空间了，故迁移到 D 盘。在 PowerShell 中依次输入：\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 将当前 Linux 系统关机 wsl --shutdown \u0026#39;以下 Ubuntu 记得换成自己的系统版本名称，wsl -l 查看\u0026#39; # 导出当前 Linux 系统文件（以 Ubuntu 为例） # wsl --export \u0026lt;版本名称\u0026gt; \u0026lt;导出路径\u0026gt; wsl --export Ubuntu \u0026#39;D:\\export.tar\u0026#39; # 删除原有版本的所有文件 wsl --unregister Ubuntu # 导入系统文件 # wsl --import \u0026lt;版本名称\u0026gt; \u0026lt;安装路径\u0026gt; \u0026lt;刚才的导出路径\u0026gt; wsl --import Ubuntu \u0026#39;D:\\Ubuntu\u0026#39; \u0026#39;D:\\export.tar\u0026#39; 编辑配置文件 使用 import 后默认以 root 用户登录，但一直以 root 用户登录很可能导致误操作，下面我们通过 Vim 把刚才注册的用户设置为默认用户。\nroot 用户是什么？\n简单来说，root 是 Linux 系统的“超级管理员”，拥有无视任何限制、修改或删除系统核心文件的能力。通常情况下，出于安全考虑，Linux 并不建议你平时直接登录 root 账号进行日常操作。而 sudo 则是一条“特权指令”，允许普通用户在需要安装软件或修改配置时，临时借用 root 的力量来完成任务。\nVim 是什么？ Vim 是一个内置于 Linux 中的文本编辑器，你可以简单理解为 Windows 的记事本 + 不同的模式和快捷键。主要设计逻辑是用键盘完成所有操作，而不用频繁用鼠标移动光标等。学习曲线相当陡峭，但能极大提升开发效率。目前我们只需要掌握一些基本操作，应付一些配置就够了。\n1 2 # 编辑配置文件 vim /etc/wsl.conf Vim 进去后默认是 Normal 模式，该模式下用 k（↑）j（↓）h（←）l（→） 移动光标。我们 Vim 进去后按 i 进入 Insert 模式（记得切英文输入法）这时我们可以进行输入。简单起见我们进入 Insert 模式后用方向键操控光标到文件最后，Enter 新建一行复制以下内容并 Ctrl V 粘贴进去，引号内容删去改为你刚才的用户名。\n1 2 [user] default=\u0026#39;君の名は\u0026#39; 之后按下键盘左上角 ESC 键，退回 Normal 模式，英文输入法下输入 :，下方会出现一行命令框，输入 wq Enter 保存并退出。现在我们输入\n1 su \u0026#39;你的用户名\u0026#39; 就可以切换到你的用户啦。\nLinux 文件系统及基本命令 文件系统 “一切皆文件” 是 Unix 系统的设计哲学，让我们看看 Linux 的文件系统：\nLinux 所有文件都在同一个根目录 / 下（注意斜杠方向与 Windows 不同） ~代表用户主目录，即 /home/usrname 访问当前文件夹下的文件不需要加斜杠，若当前在 ~ 下，可直接访问 blog/content/... Windows 上的文件被 挂载 在 /mnt 下，如 C 盘为：/mnt/c .. 代表父文件夹，. 代表当前文件夹 以 . 开头的文件为隐藏文件（夹）虽然也能看见，如 .vscode .git .gitignore 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 / \u0026#39;根目录\u0026#39; ├── bin -\u0026gt; usr/bin ├── dev ├── etc ├── home │ └── usrname \u0026#39;即 ~ \u0026#39; │ ├── .vscode \u0026#39;隐藏文件夹\u0026#39; │ ├── .git \u0026#39;隐藏文件夹\u0026#39; │ ├── .gitignore \u0026#39;隐藏文件\u0026#39; │ └── blog ├── lib -\u0026gt; usr/lib ├── mnt \u0026#39;挂载\u0026#39; │ ├── c │ ├── d │ └── e ... 基本命令 Linux 有以下基本的操作命令\n转到目录 1 cd ~/blog 列出目录内容 1 2 3 4 5 6 7 8 ls -a # 所有文件，包括隐藏文件 ls -l # 输出详细信息 # 一般bash配置了以下别名(alias)，相当于宏定义替换 # 可根据自己需要向配置文件写入别名 alias ll=\u0026#39;ls -alF\u0026#39; alias la=\u0026#39;ls -A\u0026#39; alias l=\u0026#39;ls -CF\u0026#39; 创建、删除目录 1 2 mkdir ~/blog rmdir ~/blog # 只能删除空目录 文件操作相关 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 创建文件可用 touch # 也可 vi 或 code(需配置vscode)后保存 touch ~/hello.cpp # 文件不存在才创建 # 用 vim 进行简单增删查改 vi ~/.bashrc # rm : 删除文件(加上 -r 可递归地删除目录及下所以内容) rm hello.cpp rm -r ~/blog # chmod : 修改权限 chmod 755 hello.cpp chmod a+x jiaoben.sh # ./ : 执行可执行文件 ./main 安装软件 1 2 3 4 5 # Ubuntu 的包管理器为 apt，可以通过包管理器在命令行完成下载工作，而不是像下载安装包再双击安装 # apt 的命令一般需要 root 权限 sudo apt update # 检查可用更新，不会安装或更新任何软件 sudo apt upgrade # 下载并安装新的软件包 sudo apt install python3 VScode 配置 如果 Windows 端有 VScode，并且在安装时选择了 添加到 PATH，在命令行输入：code .会先安装相应的配置。如果显示\n1 bash: command no found: code 说明缺少环境变量，可以 Win 徽标搜索环境变量，环境变量 -\u0026gt; 用户的环境变量 -\u0026gt; 选中Path -\u0026gt; 编辑，找到 VScode 那一行，复制路径，在终端输入 vi ~/.bashrc，光标移动到最后，添加以下内容：\n1 2 3 # 例如我的是 D:\\Program File\\Microsoft VS Code\\bin # 替换为自己的路径，记得改掉反斜杠，有空格需用引号包围 export PATH=$PATH:\u0026#39;/mnt/d/Program File/Microsoft VS Code/bin\u0026#39; 再输入 source ~/.bashrc 加载配置文件，最后输入 code . 即可。终端会自动打开 Vscode，接着可以在插件栏安装相应的插件，会显示 “在WSL: Ubuntu 中安装”。点击安装即可。\n神秘小仪式 既然都用了 Linux，为什么不学学命令行编译？可是我觉得很神圣啊\n在 ~ 或者你喜欢的目录下在命令行输入 vi hello.cpp，按 i 进入 Insert 模式，输入：\n1 2 3 4 5 6 #include \u0026lt;iostream\u0026gt; int main(){ std::cout \u0026lt;\u0026lt; \u0026#34;Hello Linux!\u0026#34; \u0026lt;\u0026lt; std::endl; return 0; } 然后输入 : wq，退回到终端，输入：\n1 2 3 4 5 # 编译 g++ -o hello hello.cpp # 运行 ./hello Hello Linux!\nThe End 有兴趣更深入学习 Shell、脚本和命令行可以访问 MIT-Missing-Semester，也可以在 Bilibili 等平台搜索授课视频。\n了解更多：菜鸟教程 Linux\n","date":"2026-03-02T11:19:23+08:00","image":"/p/wsl-and-linux-basic/cover.jpg","permalink":"/p/wsl-and-linux-basic/","title":"WSL 安装及 Linux 基本操作教程"},{"content":"Hello Hugo! Hello Blog 这是我的第一篇博客，我终于把字体配置好了，未来开一篇博客记录我搭建 Hugo 遇到的各种坑\n1 2 3 4 5 6 7 8 #include \u0026lt;stdio.h\u0026gt; // 这是一条注释 \u0026amp; // -\u0026gt; // ll flow int main(){ printf(\u0026#34;Hello World\u0026#34;); return 0; } 标题1 标题2 ","date":"2026-02-21T19:43:39+08:00","image":"/p/hello-hugo/cover.jpg","permalink":"/p/hello-hugo/","title":"Hello Hugo"}]