Linux-A-基础-第2章-磁盘及文件系统管理


目录(持续更新)


基础-第0章-安装
基础-第1章-基本操作
基础-第2章-磁盘及文件系统管理
基础-第3章-获得帮助
基础-第4章-用户及权限基础
基础-第5章-网络基本配置
基础-第6章-管道,重定向及文本处理
基础-第7章-系统启动详解

进阶-第1章-日志服务
进阶-第2章-DNS域名服务器
进阶-第3章-FTP文件共享服务
进阶-第4章-NFS文件共享服务
进阶-第5章-SMB文件共享服务
进阶-第6章-WEB服务Apache篇
进阶-第7章-电子邮件服务
进阶-第8章-Linux服务基础及管理

高级-第1章-LVM逻辑卷
高级-第2章-高级权限ACL
高级-第3章-RAID提升速度及冗余
高级-第4章-高级网络-网卡绑定,子端口
高级-第5章-SELinux安全系统基础
高级-第6章-IPTable防火墙基础
高级-第7章-Linux远程管理-SSH、VNC


第2章-磁盘及文件系统管理


第一节 磁盘基本概念
  • 单盘片 多盘片 每个盘配磁头 转速越高 性能越好 7200 5400

  • 固态硬盘只是存储芯片 速度快500M/S

  • 机械硬盘基本概念

          柱面  cylinder    所有盘片某一圈的集合
          扇区  sector      中心到边缘的扇形区
          磁头  head        每个磁头大概512字节
    
  • 磁盘在linux中表示

          所有设备都被抽象为文件 保存在/dev下
    
          设备名字一般为 hd[a-z]  sd[a-z]  (a-z为分区号)
          如: hda,hdb,sda,sdb
    
          IDE设备的名称为 hd[a-z],SATA,SCSI,SAS,USB 等设备名称为sd[a-z]
    
          硬盘1     /dec/sda
          硬盘2 /dev/sdb
          硬盘3 /dev/sdc
    
  • 分区概念

          将磁盘逻辑分区 方便管理
    
          linux中是 设备名称+分区号
    
          硬盘1的第1分区    /dev/sda1
    
          硬盘1的第2分区    /dev/sda2
    
          硬盘2的第1分区    /dev/sdb1
    
          硬盘2的第2分区    /dev/sdb2
    
  • 主流分区机制为 MBR 和 GPT

          MBR(Master Boot Record)是传统的分区机制
          应用于绝大多数使用BIOS的PC设备  EFI代替BIOS
    
          MBR支持32bit和64bit系统
          MBR支持分区数量有限
          MBR仅仅支持不超过2T的硬盘 ,超过2T的硬盘则只能用2T
    
          MBR共512字节  
          前446字节为引导代码
          接下来4×16字节为分区表
          接下来两个字节为   55h  AAh             
    
          MBR分区
          主分区     最多四个主分区
          扩展分区    扩展分区会占用一个主分区位置  用于承载逻辑分区 无法直接使用
          逻辑分区    linux最多支持63个IDE分区和 15个SCSI分区
          
          /dev/sda
          /dev/sda1   /dev/sda2   /dev/sda3   /dev/sda4
    
          /dev/sda
          /dev/sda1   /dev/sda2   /dev/sda3   /dev/sda4   
                                  /dev/sda5------ /dev/sda6------ /dev/sda7
    
          GPT(GUI Partition Table)是一个较新的分区机制 解决了MBR了很多缺点
      
          支持超过2T的磁盘
          向后兼容MBR
          必须在支持UEFI的硬件上才能使用
          必须用64bit系统
          Mac和linux系统都能支持GPT分区格式
          
          Windows7 64bit ,WindowsServer2008 64bit支持GPT
    

第二节 使用fdisk进行磁盘分区
  • FDISK分区工具来自IBM的老牌分区工具 支持大多系统

          几乎所有linux的发行版都有fdisk    包括linux  rescue模式下也能使用
          fdisk是个针对MBR的工具 如果需要用GPT则无法使用fdisk   大于2T的磁盘无法使用
          fdisk只有超级用户权限才能用
          使用fdisk -l可以显示所有磁盘的信息
          使用fdisk /dev/sda可以列出所有安装的磁盘及其分区信息
          
              进入交互命令
              
              m   帮助
              n   创建分区
              p   列出分区
              t   修改号
              w   保存修改
    
              按下N创建分区
                  e   扩展分区
                  p   主分区 
                  按下p创建主分区    
                      输入分区号
                      或输入大小  +2G
              按下N创建分区
                  e   扩展分区
                  p   主分区 
                  按下e创建扩展分区
                      无需输入 直接确认
              按下N创建分区
                  l   逻辑分区  (永远从5开始)
                  p   主分区
                  按下l创建逻辑分区
                      输入分区号
                      或输入大小  +2G  
              
              按下T修改分区ID
                  输入类型数字
                  L   列出类型
    
                  按83linux为正常分区   按82swap为交换分区
              
          按下W保存写入并退出
    
  • 有时分区后需要用partprobe命令 让内核更新分区信息

          查看: /proc/partitions 查看分区信息
    

第三节 linux文件系统
  • 需要创建文件系统才能用 过程称为格式化 没有经过此过程的为裸设备raw

  • 常见的文件系统有fat32 NTFS ext3 ext4 xfs HFS 等

      系统之间的区别 : 日志 支持分区大小  支持单个文件大小
    
          win下主流为NTFS
          linux主流为ext4
    
      linux支持的系统  ext    nfs  iso9660 gfs  jfs  vfat  fat(msdos)
    
  • mke2fs 用来创建文件系统

          mke2fs -t ext4 /dev/sda3   将第一块硬盘的第三个主分区格式化为ext4文件格式
    
          常用参数:
          -b  +大小 指定文件系统块大小 每次读写系统块的大小  4K就是4096字节
          -c      建立文件系统时检查坏损快
          -L label    指定卷标  磁盘取名
          -j      建立文件系统日志    ext4带日志 无需使用
    
  • mkfs亦可以创建文件系统 单相比mke2fs比较简单 但是支持的参数比较少 不能精细化控制

          mkfs.ext3 /dev/sda3 将第一块硬盘的第三个主分区格式化为ext3文件格式
          mkfs.ext4 /dev/sda3 将第一块硬盘的第三个主分区格式化为ext4文件格式
          mkfs.vfat /dev/sda3 将第一块硬盘的第三个主分区格式化为vfat文件格式
    
  • dumpe2fs查看分区文件的系统信息

          dumpe2fs /dev/sda2
    
  • 日志
    带有日志的系统有较强的稳定性

          日志两阶段提交   将准备执行的事计入日志  然后操作   执行之后删除
    
  • E2LABEL对文件系统打标签

          e2label /dev/sdb1  查看系统标签
          e2label /dev/sdb1 LINUX     打上LINUX标签
    
  • FSCK用来检查修复损坏的文件系统

          fsck /dev/sdb1  检查系统()检查前需要卸载
    
          使用 -y 参数不提示且修复
    
          fsck自动判断文件系统类型 如果损坏比较严重 建议加上 -t 参数
    
          对于识别文件的损坏数据有些找不到记录,将会计入lost+found目录
    
          系统启动都校验磁盘
    

第四节 linux文件系统挂载管理
  • 磁盘创建好文件系统之后 挂载后才能使用

  • win和mac都是自动挂载 一旦创建好之后自动挂载

  • linux需要手工挂载

          /dev/sda2     到    /mnt
    
  • mount挂载格式化的磁盘分区

          mount /dev/sda1 /mnt/   将第一块磁盘的第一主分区挂载到  /mnt目录下
    
          -t  指定系统类型  默认自动识别
          -o  指定挂载选项
    
              ro  rw   只读  还是  读写
    
              mount -o remount,ro /dev/sdb1 /mnt/  
    
              将sdb1以只读形式重新挂载到/mnt目录
    
          sync    代表不用缓存 将所有操作直接写入磁盘
          async   代表使用缓存 默认是async
          noatime 每次访问文件是不更新文件访问时间
          atime   每次访问文件是都更新文件访问时间
          remount 重新挂载文件系统
    
              mount -o remount,sync /dev/sdb1 /mnt/ 
    
              将sdb1以不用缓存写入形式重挂载到/mnt目录
    
              mount -o remount,ro,noatime /dev/sdb1 /mnt/ 
    
              将sdb1以 只读形式 且 访问时不更新文件时间形式 重新挂载到/mnt目录
    
  • umount用来卸载已经挂载的文件系统 相当于win中的弹出

          umount  文件系统/挂载点
    
          umount /dev/sda3   即   umount /mnt/
    
      如果出现报错,则说明文件系统正在被使用,无法卸载
    
  • 可用fuser查看哪些进程在使用该文件系统

          fuser -m /mnt   
    
  • 可用lsof查看哪些文件被打开了

          lsof /mnt
    
  • 自动挂载

          配置文件/etc/fstab来定义需要自动挂载的文件系统
          fstab中每一行代表一个挂载的配置
    
          格式如下
    
          /dev/sda3   /mnt    ext4    defaults    0 0
          要挂载的设备  挂载点 格式  挂载选项    dump和fsck相关选项
    
          要挂载的设备也可以使用label进行识别  label可以取代第一路径
    
          label=卷标    /mnt    ext4    defaults    0 0
          要挂载的设备  挂载点 格式  挂载选项    dump和fsck相关选项
    
          mount -a命令会挂载所有fstab中定义的自动挂载项
    

你可能感兴趣的:(Linux-A-基础-第2章-磁盘及文件系统管理)