第六章存储结构和磁盘划分第6天7月21日

black-cat0987 black-cat0987     2023-05-03     448

关键词:

  • 存储结构和磁盘划分
  • Linux里的所有硬件设备都被抽象成了文件。如打印机,套接字,块设备,字符设备等。
    • linux里文件是按照FHS 文件层次化目录来存储的。
    • 从根目录开始。
    • 文件名严格区分大小写,不得包含/
    • 文件夹都有常有用途。
    • 技术图片
  • 常见目录名称以及相应内容。
    • 系统启动必须:
      • /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
      • /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
      • /lib:Library的缩写存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
      • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
    • 指令集合:
      • /bin:Binary的缩写,存放着最常用的程序和指令
      • /sbin:只有系统管理员能使用的程序和指令。
    • 外部文件管理:
      • /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
      • /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
      • /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    • 临时文件:
      • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
      • /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
      • /tmp:这个目录是用来存放一些临时文件的。
    • 账户:
      • /root:系统管理员的用户主目录。
      • /home:用户的主目录,以用户的账号命名的。
      • /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
      • /usr/bin:系统用户使用的应用程序与指令。
      • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
      • /usr/src:内核源代码默认的放置目录。
    • 运行过程中要用:
      • /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
      • /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
    • 扩展用的:
      • /opt:默认是空的,我们安装额外软件可以放在这个里面。
      • /srv:存放服务启动后需要提取的数据(不用服务器就是空)

      ? ?

    • 技术图片
  • 路径:定位到文件的位置
    • 绝对路径指的是从根目录(/)开始写起的文件或目录名称
    • 相对路径则指的是相对于当前路径的写法
  • 物理设备的命名规则。
    • 系统内核中的udev 设备管理器会自动把硬件名称规范起来
    • 技术图片
    • /dev 目录中sda 设备之所以是a,并不是由插槽决定的,而是由系统内核的识别顺序来决定的,而恰巧很多主板的插槽顺序就是系统内核的识别顺序,因此才会被命名为/dev/sda。
    • 分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。因此sda3 只能表示是编号为3 的分区,而不能判断sda 设备上已经存在了3 个分区。
  • 硬盘
    • 硬盘设备是由大量的扇区组成的,每个扇区的容量为512 字节
    • 第一个扇区最重要,它里面保存着主引导记录与分区表信息。
    • 主引导记录需要占用446 字节,分区表为64 字节,结束符占用2 字节;
    • 其中分区表中每记录一个分区信息就需要16 字节,这样一来最多只有4 个分区信息可以写到第一个扇区中,这4 个分区就是4 个主分区。
    • 分区太少怎么办?拿主分区出来作为扩展分区,那么扩展分区就是保存了指向逻辑分区的指针。
  • 文件系统与数据资料
    • EXT3
    • EXT4
    • XFS
  • 硬盘先分区,再格式化。
    • inode是什么?索引节点,用来存储文件的信息。如创建者,文件的创建信息,大小,权限等。默认大小位128B(128个字节)
      • inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。
    • 文件实际保存在Block块中。大小为(1KB,2KB,4KB)。
    • VFS,linux存在的一个虚拟文件系统。一般的操作都基于此系统之上,使用户在读取或写入文件时不用关心底层的硬盘结构。
    • 技术图片
  • 挂载硬件设备
    • 挂载:当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是"挂载"。
    • mount 命令用于挂载文件系统,格式为"mount 文件系统 挂载目录"
      • 技术图片
    • 永久挂载 "设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检"进行填写,写入/etc/fstab文件中
      • 技术图片
      • 例子
      • 技术图片
    • unmount 卸载
      • "umount [挂载点/设备文件]"
    • fdisk 用来对硬盘设备进行管理。
      • fdisk [磁盘名称]
      • 技术图片
      • 技术图片
      • 先创建一个新分区 n,然后选择分区类型,选择分区编号,增加分区大小后写入 w,退出
      • 再进行格式化:mkfs make linux file system
        • mkfs.xfs 硬盘路径
      • 系统并没有自动把分区信息同步给Linux 内核,使用partprobe命令。
      • 格式化完成后挂载分区 mount
      • 用df -h 命令来查看挂载状态和硬盘使用量信息。report file system disk space usage
    • du命令
      • 查看文件数据占用量。du [选项] [文件] data usage
      • du -sh /* 列出根目录下一级文件的占用量
  • SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。但由于交换分区毕竟是通过硬盘设备读写数据的,速度肯定要比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源。
    • mkswap 创建swap交换分区 对新建的主分区进行格式化操作:
    • swapon 命令把准备好的SWAP 分区设备正式挂载到系统中。
    • free -m 查看交换分区大小的变化
    • vim /etc/fstab 编辑后,让重启的swap也生效
  • 如何关闭swap
    • swapoff

      ? ?

  • 磁盘容量配额:
    • quota 磁盘容量配额服务程序 root 管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。
      • 软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
      • 硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。
    • 修改 /etc/fstab能使文件系统支持quota磁盘容量管理。
      • 技术图片
    • fs_quota命令是一个专门针对XFS文件系统来管理quota 磁盘容量配额服务而设计的命令,格式为"xfs_quota [参数] 配额文件系统"。
      • 其中,-c 参数用于以参数的形式设置要执行的命令;-x 参数是专家模式,让运维人员能够对quota 服务进行更多复杂的配置。接下来我们使用xfs_quota命令来设置用户tom 对/boot 目录的quota 磁盘容量配额。
      • xfs_quota -x -c ‘limit bsoft=3m bhard=6m isoft=3 ihard=6 tom‘ /boot
      • xfs_quota -x -c report /boot
    • edquota 命令用于编辑用户的quota 配额限制,格式为"edquota [参数] [用户] "。
      • 在为用户设置了quota 磁盘容量配额限制后,可以使用edquota 命令按需修改限额的数值。其中,-u参数表示要针对哪个用户进行设置;-g 参数表示要针对哪个用户组进行设置。
  • 软硬方式链接
    • 硬链接 hard link : 可以将它理解为一个"指向原始文件inode 的指针" 系统不为它分配独立的inode 和文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。即使原文件被删除,硬链接存在的话,还是可以访问的到。
    • 软链接 symblic link 符号链接 :
      • 仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效。
    • ln用于创建链接文件 "ln [选项] 目标"
      • 技术图片

        ? ?

linux第14天:(08月25日)linux磁盘管理

...x第14天:(08月25日)Linux磁盘管理   本章内容磁盘结构分区类型管理分区管理文件系统挂载设备管理虚拟内存   设备文件I/OPorts:I/O设备地址一切皆文件:open(),read(),write(),close()设备类型:块设备:block,存取单... 查看详情

处女座的英文单词是???

...的英文单词是:Virgo。处女座(Virgo)是黄道十二星座中第六个星座,它和神秘与黑暗有关。Virgo除了指处女座,是处女座的英文单词,也是一名歌手的艺名以及一个品牌的名字。短语:1、猎鹰处女座 FalconVirgo.2、处女座黄金... 查看详情

软件工程第六周psp

1.psp表格类别任务开始时间结束时间中断时间delta时间立会讲技术文档,分配任务10月20日16:1710月20日16:50033分钟准备工作根据任务查资料10月20日18:5319月20日19:46548分钟立会汇报工作,讲代码进度10月21日17:0010月20日17:22022... 查看详情

数据结构与算法(周鹏-未出版)-第六章树-6.2二叉树

6.2二叉树在进一步讨论树的存储结构及其操作之前,先讨论一种简单而极其重要的树结构—二叉树。因为任何树都可以转化为二叉树进行处理,并且二叉树适合计算机的存储和处理,因此在本章中二叉树是研究的重点。 6.2.1... 查看详情

放假6天干啥

...年假期表年假期表:1、元旦假期安排:1月1日至3日,共3天。年元旦假期建议:1月4日至7日请4天假,与1月8日、9日、1月1日至3日相连。2022年黄道吉日查询表。2、春节年春节假期安排:1月31日至2月6日,共7天。1月29日(周六),1... 查看详情

存储器层次结构--《深入理解计算机系统》第六章读书笔记

1.几种存储技术随机访问存储器RAM,RAM又分为两类:静态的SRAM和动态的DRAM。静态SRAM特点:容量较小,速度较之动态DRAM要快很多,故而价格也较高。一般用作CPU与内存的缓存。动态DRAM特点:容量较大,速度比SRAM慢,价格相对较... 查看详情

深入理解计算机系统第六章存储器层次结构

 为什么要学习存储器的层次结构?如果我们理解了系统是如何将数据在存储器层次结构中上上下下移动的,那么我们就可以编写自己的应用程序,使得它们的数据项存储在层次结构较高的地方,在那里CPU能更快地访问到它们... 查看详情

linux第14天:(08月25日)练习和作业

...一个脚本,完成如下功能:(1)列出当前系统识别到的所有磁盘设备(2)如磁盘数量为1,则显示其空间使用 查看详情

======第六章文件管理======

文章目录6.1文件和文件系统6.1.1文件、记录和数据项6.1.2文件类型和文件系统模型6.1.3文件操作6.2文件的逻辑结构6.2.1文件逻辑结构的类型6.2.2顺序文件6.2.3索引文件6.2.4索引顺序文件6.5.2直接文件和哈希文件6.3外存分配方式6.3.1连续... 查看详情

数据结构与算法(周鹏-未出版)-第六章树-6.4树森林

6.4树、森林在介绍二叉树之后,我们回到树的存储及其操作的实现中来。6.4.1树的存储结构树的存储结构主要有以下三种。[email protected]双亲表示法设T是一棵树,表示T的一种最简单的方法是用一个一维数组存储每个结点,数... 查看详情

java笔记第六章

循环结构(二)1for循环  for(初始值;条件;改变循环天条件){      //主体语句1    }   初始值:控制循环变量的值。(可以是多的变量逗号隔开)   条件:必须是布尔表达式。   迭代运算:一个算... 查看详情

linux第15天:(08月29日)练习和作业

Linux第15天:(08月29日)练习和作业     管理磁盘配额  fdiskpartx-a/dev/sdamount/dev/sda6/homedfcd/homemv*/homevim/etc/fstab           查看详情

6月摸鱼计划,一起挑战7/21天发文打卡

...自己在技术之路的成长足迹。6月摸鱼计划,一起挑战7/21天发文打卡。【活动时间】6月20日至7月20日【如何参与】第一步:先本文评论区留言#6月摸鱼计划#Get活动名额!第二步:任选以下「活动话题」成功发布技术相关博文!【... 查看详情

翻译文章第六章4-7

VisualizinganSVMfit格式化SVMTovisualizethebuiltmodel,onecanfirstusetheplotfunctiontogenerateascatterplotofdatainputandtheSVMfit.Inthisplot,supportvectorsandclassesarehighlightedthroughthecolorsymbol.Inad 查看详情

数据结构:第六章学习小结

第六章图的学习感觉比较侧重阅读和理解代码,而写代码部分占比比较小。所以这一章的总结全都是知识点的整理,是用自己的话来表达自己对代码以及做题过程步骤的理解。一、图的存储结构1、邻接矩阵存储储存时要有顶点... 查看详情

怎么看华为荣耀6生产日期?

...从左往右数,SN号的第6位到第10位为生产日期。年:第6位和第7位为代表年份,比如15表示2015年;月:第8位为月份,用1-9数字和A,B,C表示,其中A,B,C分别代表10,11,12月;日:第9位和第10位为日。比如:X8QDU15728000702,生产日... 查看详情

第六章学习小结

第六章主要学习了:图图的存储方式学了邻接矩阵和邻接表。邻接矩阵就是二维数组邻接表有三个结构:1:头结点,有data和指向第一个结点的指针,后面就是它连接的结点。2:结点,data和next指针。3:头结点集合成表,头结点... 查看详情

文兰之地最终篇——项目的总结

...体设计的东西全部开发出来了,本文将对我们的开发过程和团队协作予以展示。游戏的基本开发6月2日,第一个场景完成。  6月6日,第一只怪物和角色加入地图。  6月7日,五只怪物全部加入地图。  6月8日,npc加入地图... 查看详情