当前位置: 首页 > news >正文

Linux学习笔记1---Windows上运行Linux

在正点原子的教程中学习linux需要安装虚拟机或者在电脑上安装一个Ubuntu系统,但个人觉得太麻烦了,现在linux之父加入了微软,因此在Windows上也可以运行linux 了。具体方法如下:

一、 在Windows上的设置

  1. 在window的搜索框内(所有你找不到的应用都可以用这个搜索功能),搜索"Windows功能",出现了“启用或关闭Windows功能”,双击打开。

2. 勾选"适用于Linux的Windows子系统",“虚拟机平台”,“Windows虚拟机监控程序平台”,点击"确定"。点击"立即重新启动"。

 勾选适用于Linux的Windows子系统,虚拟机平台,Windows虚拟机监控程序平台,点击 确定。

点击 立即重新启动

二、安装 Ubuntu

打开Microsoft Store,单击搜索框,搜索 "wsl2" 。然后单击“免费下载”进行下载和设置。(WSL2- Windows Subsystem for Linux)

下载后,打开,输入用户名和密码

这样,Ubuntu-20.04 系统就安装好了!

如果报错:

  1. WslRegisterDistribution failed with error: 0x800701bc

造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包即可。

下载链接:https://wslstorestorage.blob.core.windows.net

如果需要安装GUI界面应用,可以参考:超简单,不安装虚拟机,Windows11运行Linux - 知乎 (zhihu.com)

Windows中安装linux子系统(Ubuntu) - 知乎 (zhihu.com)

我这里暂时不安装了。

三、 Linux访问Windows

cd /mnt

/mnt文件夹中包含了windows10中所有的盘符。例如需要访问D盘,则只需输入:cd /mnt/d

四、安装GCC

原始的Ubuntu软件下是不带gcc的,所以还需要自行安装一下。

打开Ubuntu后输入以下命令即可自行安装gcc。

apt install gcc

假如在安装失败并提示:Err:1 http://security.ubuntu.com/ubuntu focal-updates/main amd64 binutils-common amd64 2.34-6ubuntu1.5

可以采用如下命令即可解决:

sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start

再运行如下命令:

sudo apt-get update

然后再次安装gcc即可:

apt install gcc

 安装成功后可以运行以下命令查看gcc的版本:

gcc -v

五、利用Ubuntu输出hello  world

1、进入d盘创建一个Linux文件夹

cd ../mnt/d
mkdir Linux

2、进入Linux文件下创建一个main.c文件

cd Linux
vim main.c

3、单击i切换到输入模式,在文件中编写一下代码

#include <stdio.h>
int main(void)
{printf("hello world!!!\r\n");
}

关于vim编译器的相关命令可以查看:【Linux】VIM命令(全面详解)_linux vim-CSDN博客 

4、按ESC退出输入模式,然后键盘敲击:wq,保存文件并退出

可以利用 cat main.c 查看文件是否输入成功

4、利用gcc编译main.c文件,并输出一个out文件

 gcc main.c -o main

 

5、运行main文件(即运行程序)

./main

 

六、建立快捷方式

每次打开Ubuntu都需要重新进入需要的目录下,为了方便使用可以建立个快捷脚本

1、创建hzz文件(名称自定义)

vim hzz

2、按下i键进行编码

#"../mnt/d/STM32CubeMX/Linux" 是你所要进入的文件目录
cd ../mnt/d/STM32CubeMX/Linux

3、按Esc键,输入:wq (英文模式下输入),按回车键,保存文件并退出

4、利用source命令执行hzz 文件即可进入所需要的目录底下

source hzz

http://www.lryc.cn/news/343070.html

相关文章:

  • Java算法-力扣leetcode-135. 分发糖果
  • 企业为什么需要主数据管理工具?十大热门主数据管理工具盘点
  • 免费思维13招之一:体验型思维
  • 面试C++(基础篇)-NULL与nullptr的区别?
  • 「AIGC」深度学习
  • mysql5.7数据库安装及性能测试
  • 聪明与诚实:社会信任的桥梁
  • 基于单片机的无线数据传输系统设计
  • 【IP:Internet Protocol,子网(Subnets),IPv6:动机,层次编址:路由聚集(rout aggregation)】
  • 智启算力平台基本操作
  • 微信小程序 【关键部分】
  • JavaEE技术之MySql高级(索引、索引优化、sql实战、View视图、Mysql日志和锁、多版本并发控制)
  • OCR文本识别模型CRNN
  • 【数据结构】闲谈A股实时交易的数据结构-队列
  • 深入探索van Emde Boas树:原理、操作与C语言实现
  • 正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-14-主频和时钟配置
  • tomcat打开乱码修改端口
  • 03 JavaSE-- 访问控制权限、接口、抽象类、内部类、Object类、异常
  • free5gc+ueransim操作
  • 麦肯锡精英高效阅读法笔记
  • 高速、简单、安全的以太彩光,锐捷网络发布极简以太全光 3.X 方案
  • 图书管理系统
  • 图解HTTP(2、简单的 HTTP 协议)
  • 小鹅知识付费系统登录,网课怎么推广与宣传?有啥获客方法?
  • 韩顺平0基础学Java——第5天
  • 单片机为什么能直接烧录程序?
  • 【Linux】25. 网络基础(一)
  • 项目经理【人】任务
  • Linux学习(嵌入式硬件知识)
  • 英语学习笔记4——Is this your ...?