Linux教程

Linux基础学习(一)——一些基础的概念

本文主要是介绍Linux基础学习(一)——一些基础的概念,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

依稀记得,2018年刚工作的时候,买了一本《鸟哥的linux私房菜》,想好好学习Linux的相关内容(由于大学期间所有的课程体系都是微软方向,因此Linux相关的知识几乎是空白的),可如今3年多过去了,依旧没有翻开这本书,说来实在惭愧,后来工作中遇到了比较陈旧的系统部署方式,为了提高工作效率,shell的学习必须提上日程了,因此顺道也对linux的基础内容做一个简单的总结。从linux基础开始学习,然后学习一下shell的内容,做一个简单的总结。

准备工作的一些问题

在正式学习linux之前,其实很多学习教程上都建议自己弄一个VMware,然后VMware中安装一个Linux系统,这些操作在网上都能找到很多教程,但是我自己在实践的时候,总是有些细节会忽略,因此这里先梳理一下这些问题。

虚拟机的网络配置问题

在说明这个问题的时候,先总结一下虚拟机网络的几种模式

1、桥接模式

虚拟机与本地机器网络通信利用我们物理本机真实的网卡,这样虚拟机会占用局域网的一个IP地址,这个问题道不大

2、NAT模式

虚拟机用VMnet8与真实机器进行通信

3、仅主机模式

虚拟机利用VMnet1与真实机进行网络通信

后两者虚拟机只能与本机通信,不能与同一网段内的其他机器通信,如果使用NAT,虚拟机是可以访问互联网的,如果选用Host Only,则虚拟机只能访问物理主机不能访问外网。

上面说的VMnet1和VMnet8是VMware安装之后,会在Windows系统中安装几个网卡,不同的模式下,虚拟机与主机通信采用不同的网卡。

请添加图片描述

磁盘分区与格式化

磁盘分区

磁盘结构

之前大学学习计算机组成原理的时候,被各种磁盘结构中的概念绕晕了,整体的思维一直没能建立,这次翻开《鸟哥Linux私房菜》,对硬盘的整体构造先做一个简述。

这本书中得一张关于磁面的图,可以基于此建立对硬盘的整体构想(基于MBR格式)。

请添加图片描述

扇区:对应图中的磁区,每个扇区的大小一致(有512字节和4K字节两种)。不同扇区离圆心的距离不等,因此在图中所看到的跨度也不一致。

磁道:对应图中磁轨。

柱面:所有磁片的同一个磁道所形成的逻辑结构,就是柱面。柱面通常就是文件系统的最小单元。

在熟悉了这些概念之后,我们再来看何为分区:如果把磁盘比喻成一个原木,分区其实就是要在这个原木上面切割出我们想要的区段。如果没有有效的切割,则原木还是原木,并不能得到有效利用。

基于MBR(Master Boot Record)的分区格式有其局限性,不过这是理解分区的较好的方式,MBR中,系统启动的引导程序记录区(主要记录系统启动的程序地址)和分区表(系统要写入磁盘的时候,一定会参考磁盘分区表)均放在第一个扇区,其中系统的引导程序记录区占用扇区的446个字节,剩下的分区表只占用64个字节,还需要说明的是,每个分区地址的记录占用16个字节。也就是说,在MBR格式下,最多只能划分4个分区

主要分区

上面已经提到过,MBR格式下,磁盘最多只能划分为4个分区,如字节将4个分区全部用来存储数据,并不方便扩展,因此还需要流出一些分区作为方便扩展。

扩展分区

该分区不能写入数据,只能记录分区的逻辑信息

逻辑分区

扩展分区存储的分区即为逻辑分区

一张图表述吧

请添加图片描述

关于分区后的设备文件名

对于linux每个设备linux也作为一个文件看待,打印机、磁盘、键盘、都被当做一个文件,linux给这些设备分配了对应的文件名,关于linux中的设备文件名如下所示

请添加图片描述

对于硬盘来说,其设备文件名为/dev/sd[a-p]

如果我们硬盘的设备文件名为/dev/sda,则相关的分区名会在这个设备文件名后加一个数字,比如如果一个磁盘的分区如下

请添加图片描述

其中分区1~3为主要分区,分区4为扩展分区,分区5和分区6为逻辑分区。其各个分区对应的设备文件名如下

分区设备文件名
分区1/dev/sda1
分区2/dev/sda2
分区3/dev/sda3
分区5/dev/sda5
分区6/dev/sda6

由于分区4是逻辑分区,因此其本身不占用设备文件名,毕竟真正存放数据的是分区5和分区6。需要说明的是:逻辑分区设备文件名的起始就是从/dev/sda5开始,/dev/sda1~/dev/sda4预留给了主分区

格式化

所谓格式化,就相当于给分区好的磁盘中打入隔断,方便后续的数据写入

格式化也成为逻辑格式化,是指更根据用户选定的文件系统(如FAT16,FAT32,NTFS,EXT2,EXT3,EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表,目录表等用于文件管理器的磁盘空间。

挂载

所谓的挂载,就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下,也就是说进入该目录就可以读取该分区的数据。将这个目录与指定磁盘分区关联的操作就是挂载。这个被关联的目录,则称为挂载点。这一点类似Windows系统中的盘符的概念,只是在linux系统中,理论上任意一个目录都可以作为挂载点(盘符)

例如:如果我们将文件设备名为/dev/sda2的分区与/home目录挂载,将文件设备名为/dev/sda3的分区与/boot的目录挂载,则每次我们往/home目录中写数据其实写入到上述表格中对应的分区2中,这些数据并不会影响到上述表格中的分区3中的数据。分区与分区之间的数据相互并不影响。

总结

本篇博客只是简单的linux开篇的一些概念介绍,后续会一步步总结linux的常用命令,文件管理,网络服务等内容

这篇关于Linux基础学习(一)——一些基础的概念的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!