Linux学习笔记1

1.背景认知

可能很多人还没有接触Linux,会有点畏惧,我们可以把Linux类比成Windows,

下面是Windows和Linux的启动对比

Windows:上电后一开始屏幕是黑黑的---bios在启动Windows----Windows之后找到c盘启动各种应用程序

Linux:上电后一开始运行bootloader---之后启动Linux内核----内核到根文件系统运行应用程序

说到根文件系统,我们要明确一个概念,就是——Linux 最核心的思想是“一切皆文件”,所以我们再启动linux的时候会去寻找根文件系统,因为应用程序什么的都以文件形式存在于根文件系统,根文件系统是操作系统中的基本文件系统,包含了操作系统所需的所有核心文件和目录。根文件系统是整个文件系统的起点,所有其他文件和目录都是从根文件系统开始的。

linux终端和Windows命令行操作是很相似的

最大差别在于目录,Windows系统有许多磁盘,每个盘符对应不同分区,linux在computer里是各种目录,我们在

c盘里可以用绝对路径去访问某个文件,可以看出是位于哪个磁盘的,

linux看不出是位于哪个分区,ubuntu以树状关系去表示路径,如果要看是哪个磁盘就用disk这个工具去看

里面会写着Device:/dev/sda1  ——a意思是第一个磁盘, 1意思是第一个分区

还会写着Mounted at/boot  ——意思是磁盘a挂载在这个/boot目录下,也就是当我们在/boot目录下创建文件 这些文件都位于磁盘a

假如

先/dev/sda1 : Mounted /home/1.txt

之后/dev/sda4  : Mounted /home

意味着之后访问home目录也就访问的是第四个分区。

一些基本的Linux终端命令我就不再介绍了,网络上都可以找到。

2.说说终端

如刚刚一开始说的那样,Linux终端和Windows命令行操作是很相似的,那么是什么去支持我们运行的呢?这里就要提到Shell程序,它是用来接收解析你在终端的输入的程序,我们在向shell传递信息的时候有一个特定的语法

这里不再举例

3.关于Linux的网络配置

我是看B站韦东山老师的教程,里面提到的是双网卡的网络配置,

双网卡指的是NAT和桥接两个网卡,NAT(是虚拟的网卡)是用于保证ubuntu可以上网(一般是通过Windows的网卡去连接外部网络),桥接(是真实的网卡)可以保证ubuntu可以和开发板互通

关于NATNATNetwork Address Translation,网络地址转换)是一种网络技术,通常用于将内部网络中的私有 IP 地址映射到外部网络的公共 IP 地址上,以实现多个设备共享单个公共 IP 地址的功能

Ubuntu一般默认已经支持了NAT网卡,如图

如果没有的话,就重新启动Ubuntu,然后去配置,配好之后去尝试能不能ping百度,如果可以ping通就没有太大问题

终端输入ifconfig出现ens33,ens33就是NAT网卡

网卡上的数据会传给windows上某个网卡

这就是NAT 的转发网卡,这个网卡会和外网通信传输数据

如果没有vmnet8网卡,可以打开windows里的服务,看看这里面这些有没有开

桥接网卡:要有真实的网卡,下面有几个注意点

设置IP,记住Windows也要设置IP,都要设静态的IP,且Ubuntu,Windows,开发板他们的网段要一致

这里一定要选连接到主机

【这部分我推荐去B站看看韦东山老师的视频 讲的真的不错】

4.Linux最小系统

开发板运行一个完整的操作系统需要四个文件“u-boot-iTOP-4412.bin”“zImage”“ramdisk-uboot.img”“system.img”,下面我来解释一下这些文件的含义【围绕引导加载程序和根文件系统展开】

u-boot-iTOP-4412.bin”:引导加载程序(Bootloader)的二进制文件,负责初始化硬件、加载操作系统映像(如 zImage)、设置内核参数等操作。(操作系统是计算机系统中的核心软件,而操作系统映像是操作系统的一个完整副本或存储形式,用于部署、备份和恢复等目的。)

“zImage”:是Linux内核的压缩映像文件(指 Linux 内核经过编译和压缩后生成的文件,它包含了 Linux 内核的代码和数据,并经过压缩以减小文件大小。),在嵌入式系统中,由于资源有限,需要使用较小的内核映像文件,因此常常选择将 Linux 内核编译为 zImage 格式。

ramdisk-uboot.img:是用于初始化根文件系统的 RAM 镜像文件。根文件系统是操作系统的基础文件系统,包含了操作系统所需的核心文件和目录结构。在引导过程中,ramdisk-uboot.img 会被加载到内存中,并作为初始的根文件系统。【这个初始的根文件系统可能会被进一步完善和扩展。通常情况下,引导过程会将一个简化的根文件系统加载到内存中,以便操作系统可以启动和运行。随后,操作系统可能会从其他位置加载更多的文件和数据,以构建完整的、可用的根文件系统。】

system.img: 这是操作系统的系统镜像文件,通常是一个完整的文件系统映像,包含了操作系统的所有文件和目录结构。在引导过程中,系统镜像会被加载到内存中,并成为根文件系统的一部分。

制作最小文件系统要用到Busybox 工具,

BusyBox 是一个集成了一百多个最常用linux命令和工具的软件,简单的说 BusyBox 就好像是个大工具箱,它集成压缩了Linux的许多工具和命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/603572.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OFDM802.11a的FPGA实现(十)导频插入(含verilog和matlab代码)

原文链接(相关文章合集):OFDM 802.11a的xilinx FPGA实现 目录 1.前言2.插入导频原理3.硬件实现4.Matlab仿真5.ModelSim仿真6.结果对比验证7.verilog代码 1.前言 前面一篇文章完成了星座图的映射,今天继续设计后面的模块。在接收机…

【Keil程序大小】Keil编译结果Code-RO-RW-ZI分析

【Keil程序大小】Keil编译结果Code-RO-RW-ZI分析 下图为keil编译后的结果: 单位为Byte。Code是程序大小。RO是常量大小。RW是读写变量占用大小,如已初始化的静态变量和全局变量。ZI是全零变量占用大小,如未初始化的static修饰的静态变量、全局…

聊聊BitLocker

最近有消息称微软决定在Windows 11 24H2中默认开启BitLocker,这个消息在网上引起了不小的波澜。有人说,对于我们这些普通用户来说,BitLocker真的有必要吗? 什么是BitLocker BitLocker 是一项 Windows 安全功能,可为整…

如何使用多协议视频汇聚/视频安防系统EasyCVR搭建智慧园区视频管理平台?

智慧园区作为现代化城市发展的重要组成部分,不仅承载着产业升级的使命,更是智慧城市建设的重要体现。随着产业园区竞争的逐渐白热化,将项目打造成完善的智慧园区是越来越多用户关注的内容。 然而我们往往在规划前期就开始面临众多难题&#…

如何制作有趣的gif?这个方法别错过

是否在社交媒体上看到过很多有趣好玩的gif动图,有的搞笑有趣有的又很可爱。大家有没有想过自己动手制作gif动画呢?接下来,就给大家分享一招gif在线制作(https://www.gif5.net/)的方法,超简单不需要下载任何…

什么牌子的洗地机质量最好?四款耐用高分产品推荐

洗地机具备了吸尘、擦拭、除菌等多种功能,可以一次完成多种清洁任务,帮助用户更高效地保持家居整洁,节省时间和精力,备受人们的喜爱。但是怎么挑选到优质的洗地机一直是大家关注的问题。今天,笔者将结合自己在家电行业…

什么是驱动数字签名?如何获取驱动数字签名?

Windows 驱动程序承载着计算机实现的各种内核和用户模式功能。如果驱动程序被黑客攻击,可能会产生很多问题。Windows通过数字签名来验证驱动程序包的完整性及发布者的身份。2020年10月的安全更新中,微软加强了对驱动软件的验证,如果Windows无…

【微积分听课笔记】全微分,二元极值,Double Integral

6.6 二元函数的极值_哔哩哔哩_bilibili 此笔记为听课笔记,宋浩老师微积分~ 最近诸事缠身,会有种会不会只做一件事好些。实际上,关键在于动力,我不可能每次都准备充分。动力,分配,这是目前进入大学我正在学…

【yolov8 项目打包】pyinstaller 打包pyQt5 界面为exe

创建一篇博客文章,介绍如何使用PyInstaller将PyQt5界面打包为exe文件,并且处理与YOLOv8模型相关的文件,可以按照以下结构进行: 标题:使用PyInstaller将PyQt5界面与YOLOv8模型打包为Windows可执行文件 引言 在机器学习…

vue视图不刷新强制更新数据this.$forceUpdate()

在vue中,更新视图数据,不刷新页面,需要强制更新数据才可以 前言 在对数据就行添加和删除时,发现页面视图不更新,排除发现需要强制更新才可以 点击添加或删除,新增数据和删除就行,但在不使用fo…

如何vscode中刷力扣

推荐你阅读 互联网大厂万字专题总结 Redis总结 JUC总结 操作系统总结 JVM总结 Mysql总结 微服务总结 互联网大厂常考知识点 什么是系统调用 CPU底层锁指令有哪些 AQS与ReentrantLock原理 旁路策略缓存一致性 Java通配符看这一篇就够 Java自限定泛型 技术分享 如何vscode中刷力扣…

视频号小店想要长久发展,做店的核心是什么?一篇详解!

大家好,我是电商小V 想要做好视频号小店,那么他的核心是什么呢? 视频号小店的核心还是商品,其实电商运营底层的逻辑都是一样的,都是以商品为核心去运营的,再说的浮夸一点就是,你的商品选择的好&…

【实战】采用jenkins pipeline实现自动构建并部署至k8s

文章目录 前言部署jenkins编写docker-compose-jenkins.yaml配置maven源启动jenkins解锁jenkins Jenkins默认插件及git、镜像仓库、k8s凭证配置host key verification configuration修改为不验证Gitee ssh阿里云镜像仓库ssh编写pipeline安装以下常用插件将kubectl命令文件拷贝到…

System Verilog通过CORDIC算法迭代16次求sin和cos值

求5~85度的sin和cos值 其它角度和Verilog实现代码类似,查表、移位和加法器 define DIE 16 //迭代次数 define PIE 3.1415926 define MUL 100_000_000 //同比放大 initial begin int die; int x[17]; int y[17]; int z[17…

学习软考----数据库系统工程师25

关系规范化 1NF(第一范式) 2NF(第二范式) 3NF(第三范式) BCNF(巴克斯范式) 4NF(第四范式) 总结

排序算法(Java版)

目录 1、直接插入排序2、希尔排序3、直接选择排序4、堆排序5、冒泡排序6、快速排序6.1 递归实现6.2 非递归实现 7、归并排序7.1 递归实现7.2 非递归实现 8、性能分析 今天我们学习一种算法:排序算法(本文的排序默认是从小到大顺序)&#xff0…

深度学习常用优化算法笔记介绍,各种梯度下降法详细介绍

优化算法 mini-batch梯度下降法 当一个数据集其数据量非常大的时候,比如上百万上千万的数据集,如果采用普通的梯度下降法,那么运算速度会非常慢,因为如果使用梯度下降法在每一次迭代的时候,都需要将这整个上百万的数…

基于边缘智能网关的工业燃气管网监测应用

随着城市化和工业化的飞速发展,燃气的使用量和应用范围持续增加,燃气管网作为承载燃气输送的设施,安全问题至关重要。一旦燃气管网发生泄漏事故,极易引发起火、爆炸等,从而酿成人员伤亡及财产损失的恶性事故。 得益于物…

流量分析利器arkime的学习之路(三)---结合Suricata攻击检测

1、基础 Arkime安装部分参考《流量分析利器arkime的学习之路(一)—安装部署》 在此基础上安装suricata软件并配置。 2、安装suricata yum install suricate 可能依赖的文件包括libyaml,PyYAML,这些可能在之前安装arkime或者其他…

Vue接收后端POST、GET返回的zip文件流打开报异常

近期接到一个小任务是将内容导出为 Zip 文件流的行式给前端 Vue 供用户下载;过程中发现一个问题打开 zip 文件报异常,如下: 首先后端这块单独在服务端请求是落盘的文件是正常的;因此后端的这块的逻辑没有问题;但中间前…