Linux 目录结构

Linux 目录结构:是个倒挂的树型结构

/bin 存放二进制可执行文件,常用命令一般都在这里
/etc 存放系统管理和配置文件
/home 存放所有普通用户的家目录
/usr 存放系统应用程序
/opt 额外安装的可选应用程序包所放置的位置。比如,我们可以把 tomcat 等都安装到这里
/proc 虚拟文件系统目录,是系统内存的映射,相当于是存储内存中的信息
/root 管理员的家目录
/sbin 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等
/dev 用于存放设备文件
/mnt 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统
/boot 存放用于系统引导时使用的各种文件
/lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
/tmp 用于存放各种临时文件
/var 用于存放各种服务的日志文件、系统启动日志等

磁盘与分区表示

在 linux 系统中一切皆文件

MBR、GPT分区只作了解即可(内容有点刻板。。。)

硬盘分区

Linux的安装是一个比较复杂的过程,它和Windows操作系统的不同之处在于,它们的文件组织形式不同。安装Linux过程的重点和难点在于怎样进行硬盘分区。
在安装RHEL的过程中可以对硬盘进行分区操作,不过笔者建议读者在安装RHEL之前使用专门的分区工具(比如Linux中可以使用gparted、gdisk、fdisk,Windows中可以使用DiskGenius、AOMEI分区助手等)对硬盘进行分区。
硬盘有两种分区格式: MBR(Master Boot Record,主引导记录)和GPT(Globally unique identifier Partition Table,全局唯一标识磁盘分区表)。

  • MBR和GPT的区别:
    MBR分区表最多只能识别2.2TB大小的硬盘空间,大于2.2TB的硬盘空间将无法识别;GPT分区表能够识别2.2TB以上的硬盘空间。
    MBR分区表最多支持4个主分区或3个主分区+1个扩展分区(扩展分区中的逻辑分区个数不限);默认情况GPT分区表最多支持128个主分区
    MBR分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。

MBR分区

MBR早在1983年IBM PC DOS 2.0中就已经提出。

MBR是硬盘的第一扇区,包含已安装操作系统的启动加载器驱动器的逻辑分区信息

它由三部分组成: 启动加载器(boot code)、DPT(Disk Partition Table,硬盘分区表)和硬盘有效标志(Magic number)。

在总共512字节的MBR里启动加载器占446字节,偏移地址为0000H~0088H,负责从活动分区中装载并运行系统引导程序;DPT64字节;硬盘有效标志占2字节(55AA)

启动加载器是一小段代码,用于加载驱动器上其他分区上更大的加载器。如果安装了Windows,Windows启动加载器的初始信息就放在这个区域里——如果MBR的信息被覆盖导致Windows不能启动,需要使用Windows的MBR修复功能来使其恢复正常。如果安装了Linux,则位于MBR里的通常会是GRUB加载器。
DPT分区表偏移地址为01BEH~01FDH,每个分区表项长16字节,共64字节分区项1、分区项2、分区项3、分区项4,分别对应MBR的4个主分区。
Magic number也就是结束标志字,偏移地址01FE~01FF的2字节固定为55AA,如果该标志有错误,系统就不能启动。

硬盘设备

在Linux操作系统中,所有的一切都是以文件的方式存放于系统中,包括硬盘,这是与其他操作系统的本质区别之一。按硬盘的接口技术不同,硬盘种类有三种。
(1) 并口硬盘(IDE)。在Linux操作系统中,它将接入IDE接口的硬盘文件命名为以hd开头的设备文件。
例如,第一块IDE硬盘命名为hda,第二块IDE硬盘就被命名为hdb,以此类推。
系统将这些设备文件放在/dev目录中,如/dev/hda、/dev/hdb、/dev/hdc。
(2) 微型计算机系统接口硬盘(SCSI)。连接到SCSI接口的设备使用ID号进行区别,SCSI设备ID号为0~15,Linux对连接到SCSI接口卡的硬盘使用/dev/sdx的方式命名,x的值可以是a、b、c、d等,即ID号为0的SCSI硬盘名为/dev/sda,ID号为1的SCSI硬盘名为/dev/sdb,以此类推。
(3) 串口硬盘(SATA)。在Linux操作系统中,串口硬盘的命名的方式与SCSI硬盘的命名的方式相同,都是以sd开头。例如,第一块串口硬盘被命名为/dev/sda,第二块被命名为/dev/sdb。

注意: 分区是一个难点,在分区之前,建议读者备份重要的数据。

硬盘分区

硬盘可以划分为三种分区: 主分区(Primary Partition)、扩展分区(Extension Partition)和逻辑分区(Logical Partition)。
一个硬盘最多有4个主分区,如果有扩展分区,那么扩展分区也算是一个主分区,只可以将一个主分区变成扩展分区,在扩展分区上,可以以链表方式建立逻辑分区Red Hat Linux一块IDE硬盘最多支持到63个分区,SCSI硬盘支持到15个分区

(1) Linux硬盘分区的命名。

Linux通过字母和数字的组合对硬盘分区命名,如hda2、hdb6、sda1等。
第1、2个字母表明设备类型,如hdIDE硬盘,sdSCSI硬盘或串口硬盘。
第3个字母表明分区属于哪个设备上,如hda是指第1个IDE硬盘,sdb是指第2个SCSI硬盘。
第4个数字表示分区,前4个分区(主分区或扩展分区)用数字1~4表示。逻辑分区从5开始。如hda2是指第1个IDE硬盘上的第2个主分区或扩展分区,hdb6是指第2个IDE硬盘上的第2个逻辑分区

(2) Linux硬盘分区方案。

安装RHEL 8时,需要在硬盘建立Linux使用的分区,在大多情况下,建议至少需要为Linux建立以下3个分区。
/boot分区。该分区用于引导系统,该分区占用的硬盘空间很少,包含Linux内核以及GRUB的相关文件,建议分区大小为500MB左右。
/(根)分区。Linux将大部分的系统文件和用户文件都保存在/(根)分区上,所以该分区一定要足够大,建议分区大小应大于20GB。
swap分区。该分区的作用是充当虚拟内存,原则上是物理内存的1.5~2倍(当物理内存大于1GB时,swap分区为1GB即可)。
提示: 如果架设服务器,建议如下分区方案。
/boot: 用来存放与Linux操作系统启动有关的程序,比如启动引导装载程序等,建议大小为500MB。
/: Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为20GB。
/usr: 用来存放Linux操作系统中的应用程序,其相关数据较多,建议大于15GB。
/var: 用来存放Linux操作系统中经常变化的数据以及日志文件,建议大于10GB。
/home: 存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的磁盘空间。
swap: 实现虚拟内存,建议大小是物理内存的1~2倍。

GPT分区

GPT可扩展固件接口(UEFI)标准的一部分,用来替代BIOS所对应的MBR分区表每个逻辑块(Logical Block Address,LBA)是512字节(一个扇区),每个分区的记录为128字节负数的LBA地址表示从最后的块开始倒数,-1表示最后一个块

硬盘分区(GPT)在MBR硬盘中,分区信息直接存储在MBR中。

GPT硬盘中,分区表的位置信息存储在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头传统MBR信息存储在LBA 0,GPT头存储在LBA 1;接下来是GPT分区表本身,占用32个扇区;接下来的LBA 34硬盘上第一个分区的开始。GPT会为每一个分区分配一个全局唯一标识符,理论上GPT支持无限个磁盘分区,默认情况下,最多支持128个磁盘分区,基本可以满足所有用户的存储需求。在每一个分区上,这个标识符是一个随机生成的字符串,可以保证为地球上的每一个GPT分区分配完全唯一的标识符。

LBA 0: 为了兼容问题,GPT分区表在磁盘的最开始部分仍然存储了一份传统的MBR,叫做Protective MBR。为了防止设备不支持UEFI,并且可以防止不支持GPT的硬盘管理工具错误识别并破坏硬盘中的数据,在使用MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的一部分分区(通常是前4个分区),可以使不支持从GPT启动的操作系统从这个MBR启动,启动后只能操作MBR分区表中的分区。

LBA 1: 分区表头定义了硬盘的可用空间以及组成分区表的项的大小和数量。默认情况下,最多可以创建128个分区,即分区表中保留了128个项,其中每个都是128字节(EFI标准要求分区表最小要有16384字节,即128个分区项的大小)。分区表头还记录了这块硬盘的GUID,记录了分区表头本身的位置与大小(位置总是在LBA 1)以及备份分区表头和分区表的位置与大小(在硬盘的最后)。它还存储着本身和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个校验值来判断分区表是否出错,如果出错了,可以使用软件从硬盘最后的备份GPT中恢复整个分区表。如果备份GPT也校验错误,硬盘将不可使用。所以GPT硬盘的分区表不可以直接使用十六进制编辑器修改主分区表备份分区表分别位于硬盘的第二个扇区(LBA 1)以及硬盘的最后一个扇区(LBA -1)备份分区表头中的信息是关于备份分区表的。

LBA 2~33: GPT分区表使用简单而直接的方式表示分区。一个分区表项前16字节是分区类型GUID接下来的16字节是该分区唯一的GUID(这个GUID指的是该分区本身,而之前的GUID指的是该分区的类型)。再接下来是分区起始和末尾的64位LBA编号,以及分区的名字和属性

注意: 如果将一块硬盘从MBR分区转换成GPT分区,会丢失硬盘内的所有数据。所以在更改硬盘分区格式之前需要先备份重要数据,然后使用磁盘管理软件将硬盘转换成GPT格式

ESP分区: ESP(EFI System Partition,EFI系统分区)本质上是一个FAT分区(FAT 32或FAT 16,建议使用FAT 32),使用分区程序给GPT磁盘分区时会提醒建立一个指定大小的ESP分区,并且命名为ESP。EFI使用ESP分区来保存引导加载程序。如果计算机已经预装了Windows 7/8/10,那么ESP分区就已存在,可以在Linux上直接使用。否则,建议创建一个大小为500MB的ESP分区,并且给ESP分区设置一个“启动标记”或名为EF00的类型码。

其他分区: 除了ESP分区外,不再需要其他的特殊分区。读者可以设置根(/)分区swap分区/opt分区,或者其他分区.

硬盘分区

分为主分区、扩展分区、逻辑分区
一个硬盘最多4个主分区,拓展分区也算是一个主分区,只可以将一个主分区变成扩展分区,在拓展分区上可以以链表方式建立逻辑分区

Red Hat Linux对一块IDE硬盘最多支持63个分区SCSI硬盘支持到15个分区

名称规则

hd,表示 IDE 设备
sd,表示 SCSI 设备(目前较多)
vd,表示虚拟设备 (虚拟机中可以见到)
/dev/hda /dev/hdb /dev/hdc /dev/hdd
/dev/sda /dev/sdb /dev/sdc /dev/sdd

/dev/sda1=表示 SCSI 设备,第一块,第一个分区
/dev/sdc3=表示 SCSI 设备,第三块,第三个分区

第1,2个字母表示设备类型
第3个字母表示分区属于那个设备,如had表示第1个IDE硬盘
第4个数字表示分区,前4个分区(主分区或扩展分区)用1-4表示。
逻辑分区从5开始,如hda2指第1个IDE硬盘上的第2个主分区或扩展分区,hdb6指第2个IDE硬盘上的第2个逻辑分区

获取命令行界面(VMware中)

Ctrl+ Alt 将鼠标切换真机
Ctrl+ G将鼠标切换到虚拟机
清屏:ctrl + l

• 虚拟控制台切换(Ctrl + Alt + Fn组合键)
– tty1:图形桌面
– tty2~tty6:字符控制台
图形界面,获取命令行
ctrl shift += 放大终端
ctrl -= 缩小终端

【Linux】目录结构和硬盘分区相关推荐

  1. Linux的目录结构与磁盘分区

    一 Linux目录结构与磁盘分区 1 Linux文件大纲 在Linux中,所有的文件与目录都是由根目录开始的.那是所有目录与文件的源头, 然后再一个一个的分支下来,因此,我们也称这种目录配置方式为:目 ...

  2. linux目录结构   各个目录文件作用

     linux 目录结构 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中 /bin:/usr/bin: 可执行二进制文 ...

  3. 每天一个linux命令(23):Linux 目录结构

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...

  4. 【Linux】Linux 目录结构

    博客已转移,请借一步说话 .http://www.daniubiji.cn/archives/492 初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的 ...

  5. linux目录结构与功能_深入理解linux系统的目录结构(总结的非常详细)

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...

  6. linux --- linux目录结构

    linux 1.linux目录结构 磁盘分区 1.主分区最多有四个,扩展分区也是一个主分区,扩展分区可以建立逻辑分区. 2.初学者建议:/boot 分区,它是引导分区,300-500MB,我们的磁盘比 ...

  7. Linux目录结构与Windows对比

    linux目录结构 Linux 系统哲学思想 一切皆是文件(包括设备,所以/dev下可以有设备文件) 小型,单一用途的程序 配置数据存放在文本中 Windows 系统哲学思想 一切皆图形 考虑用户体验 ...

  8. Linux 目录结构及常用命令详细介绍

    目录 一.Linux 目录结构 二.常用快捷键 三.常用命令 1.软件管理 apt ( Advanced Packaging Tool ) 2.帮助命令 --help  info  man 3.显示或 ...

  9. Linux知识分享|Linux目录结构(最全最详细)

    文章目录 前言 一.文件系统的概念 二.文件系统的分类 三, 文件系统的目录结构 3.1 windows的目录结构 3.2 linux目录结构 3.2.1 使用tree命令查看目录结构 3.2.2 目 ...

最新文章

  1. 艾滋病ppt模板_ppt模板世界艾滋病日ppt模板,艾滋病的防治方法是什么
  2. ORB-SLAM2中生成金字塔提取FAST角点和计算BRIEF描述子
  3. windows 2008r2文件服务器部分用户访问不了_苹果设备如何访问 Windows 文件共享?...
  4. 有望年底登场!小米12系列即将备案:骁龙895+2亿像素!
  5. 以图换字的几种方法及优劣分析
  6. Veeam 全面助力等保2.0/ 云数据管理解决方案/ 医疗行业最佳实践
  7. Weblogic负载均衡/Session复制之集群架构
  8. LeetCode(728)——自除数(JavaScript)
  9. MyEclipse用(JDBC)连接SQL出现的问题~
  10. python字典添加列表,将Python字典/列表插入到SQL数据库中最有效的方法是什么?...
  11. java jquery怎么取值_jquery 取值
  12. [转载] python单词词典_Python 字典(Dictionary)
  13. selenium借助AutoIt识别上传文件Java篇
  14. Ubuntu18.04安装HP laser 1020打印机
  15. 在图形用户登录界面输入正确用户名与密码后,闪了一下(即将要登录进去那一刹那),它NND给我蹦出来了!
  16. 拉格朗日Lagrange插值多项式
  17. linux gcc忽略警告,gcc 禁止warning
  18. [职场技巧第一期]面试前需弄明白的四个问题
  19. 电脑桌面计算机是英文,电脑桌面文件都变成了英文状态是怎么回事?
  20. java爬虫黑马百度云,Java爬虫小Demo java爬取百度风云榜数据

热门文章

  1. 行车电脑蓝牙ELM327 OBD使用记
  2. Windows截图操作
  3. Subtext--HTTP 模块
  4. 手写体数字识别(Python+TensorFlow)
  5. F - Anti-Rhyme Pairs(rmq算法模板)(后缀数组算法模板)
  6. linux小白系列-各种软件包的下载
  7. 嵌入式课程设计总结(三)
  8. c226打印机驱动安装_打印机驱动怎么安装?国产操作系统安装打印驱动方法图文步骤详解...
  9. java-----项目1(家庭收支管理系统)
  10. Dart语言笔记(运算符、箭头函数、可选参数)