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

  • 存储结构和磁盘划分
  • 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 [选项] 目标"
      •    

猜你喜欢

转载自www.cnblogs.com/Black-cat0987/p/12064524.html