Lunix磁盘及文件管理系统

Linux磁盘及文件系统管理

网站建设、网站制作介绍好的网站是理念、设计和技术的结合。创新互联建站拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

 

   CPU,Memory(RAM),I/O

  

   I/O:Disks,Ethtercard

        Disk:持久存储数据

            接口类型:

                     IDE(ata):并口,133MB/s

                           SCSI:并口,Ultrascsl320,320MB/s

                           SATA:串口,6gbps

                           SAS:串口,6gbps

                           USB:串口,480MB/s

                      

                      并口:同一线缆可以接多块设备;     

                           IDE:俩个,主,从

                           SCSI:

                                 宽带:16-1

                                 窄带:8-1      

                           iops:io per second

                           串口:一个                                       

             硬盘:机械硬盘,固态硬盘:

                      机械硬盘:

                          track:磁道

                          sector:扇区,512bytes

                          cylinder:柱面:不同磁盘的同一磁道

                                          分区划分基于柱面

         平均寻道时间:

                    5400rpm,7200rpm,10000rpm,15000rpm

         Linux的哲学思想:一切皆文件:

               设备类型:

                   块(block):随机访问,数据交换单位是“块”;

                   字符(character):线性访问,数据交换单位是“字符”;

             

               设备文件:FHS

                    /dev

                     设备文件:关联至设备的驱动程序;设备的访问类型

 

               设备号:

               major:主设备号,区分设备类型;用于标明设备所需要的驱动程序

               minor:次设备号,区分同种类型下的不同设备;是特定设备的访问入口

                          

                    mknod命令:

                         make block or character special files

        

                         mknod [OPTION]...NAME TYPE [MAJOR MINOR]

                                -m MODE:创建后的设备文件的访问权限;

                    

                    设备文件名:ICANN 

                      

                    磁盘:

                         IDE: /dev/hd[a-z]

                            例如: /dev/hda   /dev/hdb                  

                         SCSI,SATA,USB,SAS:/dev/sa[a-z]

                         

                         分区:

                               /dev/hda#        

                                    /dev/hda1,...

                         注意:CentOS 6和7系统将硬盘设备标识为/dev/sd[a-z]#

                         引用设备的方式:

                                 设备文件名

                                 卷标

                                 UUID

  

                磁盘分区:MBR,GPT

                      MBR:0 sector

                      Master Boot Record

       分为三部分:

                446bytes:bootloader,程序,引导启动操作系统的程序;

                64bytes:分区表,每16bytes标识一个分区,一共只能有4个分区;

                2bytes:MBR区域的有效性标识;55AA位有效;否则为无效

                         

                           主分区和扩展分区的标识:1-4

                           逻辑分区:5+

  当我们想在系统里面新增一块硬盘时:

          1:对磁盘进行分区,以新建可用的分区

          2:对该分区进行格式化,以创建系统可用的文件系统

          3:对文件系统进行检验

          4:在Linux系统上,需要创建挂载点(目录),并且挂载上来

                    

      逻辑分区:fdisk

          1:查看磁盘的分区信息

              fdisk -l [-u] [device];列出指定磁盘设备上的分区信息

          2:管理分区

              fdisk  device

              fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;

              所有的操作均在内存中完成,没有直接同步到磁盘,直到使用w命令保存至磁盘上           常用命令:

                n:创建新分区

                Lunix磁盘及文件管理系统

                d: 删除已有分区

                Lunix磁盘及文件管理系统

                t: 修改分区类型

                Lunix磁盘及文件管理系统

                l: 查看所有已有ID

                Lunix磁盘及文件管理系统

                w: 保存并退出

                Lunix磁盘及文件管理系统

                q: 不保存退出

                m: 查看帮助信息

                Lunix磁盘及文件管理系统

                p: 显示现有分区信息

                Lunix磁盘及文件管理系统

  注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后

        无法直接识别;

        

        查看磁盘分区:cat /proc/partitions

        通知内核强制重读磁盘分区表:

              CentOS 5:partprobe [device]

              CentOS 6,7:partx,kpartx

             增加分区同步      

                  partx -a  [device]

                  kpartx -af [device]

             删除分区同步

                  partx -d  --nr 7-8 [device]

             分区创建工具:

                  parted,sfdisk;

文件系统管理工具:

     创建文件系统的工具:

        mkfs

               mkfs.ext2,mkfs.ext3 mkfs.ext4 mkfs.ext4 mkfs.xfs mkfs.vfat

     检测及修复文件系统的工具:

        fsck 

               fsck.ext2等

      查看其属性的工具:

        dumpe2fs,tune2fs

      调整文件系统特性:

        tune2fs

内核级文件系统的组成部分:

      文件系统驱动:由内核提供

      文件系统管理工具: 由用户控件的应用程序提供      

创建文件系统:

     格式化:低级格式化(分区之前进行,划分磁道)

     高级格式化(分区之后对分区进行,创建文件系统)

     创建文件系统:

     linux文件系统类型:ext2  ext3 ext4 xfs relserfs iso9660 swap

       元数据区,数据区

           元数据区:

           不包含文件名

               文件元数据:inode(index node)

                     大小,权限,属主属组,时间戳,数据块指针等

 

               符号链接文件:存储数据

 

  ext系列文件系统的管理工具:

        磁盘格式化:

              mkfs -t ext3=mkfs.ext3

        在格式化为ext3中,由于我们没有详细指明文件系统的具体选项,因此系统会使用默认值来进行格式化。

        指定ext2/ext3具体选项(label,block大小或inode数量)

              mke2fs [OPTIONS] device

                 -t:指明要创建的文件系统类型

                        mkfs -t ext3=mkfs.ext3

                 -b: {1024|2048|4096}:指明文件系统的块大小

                 -j:创建有日志功能的文件系统ext3(默认是ext2)

                    make2fs -j=make2fs -t ext3=mkfs -t ext3=mkfs.ext3

                 -i #:指明inode与字节的比率;即每多少字节创建一个inode

                 -N #:直接指明要给此文件系统创建的inode的数量

                 -m #:指定预留的空间,百分比;

          卷标为:hello kitty

          block:2048

          8192bytes分配一个inode

          构建journal的ext3文件系统   

         Lunix磁盘及文件管理系统

        e2label命令:卷标的查看与设定

               查看:e2label device

               设定:e2label device LABEL

       Lunix磁盘及文件管理系统

         tune2fs命令:查看或修改ext系列文件系统的某些属性

         注意:块大小创建后不可修改

             

            tune2fs [OPTIONS] device

                -l:查看超级块的内容

                修改指定文件系统的属性:

                      -j:ext2 -> ext3

                      -L LABEL:修改卷标

                      -m #:调整预留空间百分比

                      -O [^]FEATHER:开启或关闭某种特性

                      -o [^]mount_options:开启或关闭某种默认挂载选项

                          acl 

                         ^acl

             dumpe2fs命令:显示ext系列文件系统的属性信息

                 dumpe2fs [-h] device

             

     fsck命令:用于实现文件系统检测的工具

因进程意外终止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统;建议,离线进行。

    

     e2fsck [options] device

            -y:对所有问题自动回答为yes;

            -f:即使文件系统处于clean状态,也要强制检测

            Lunix磁盘及文件管理系统

            第一步:检查inode,块,大小

            第二步:检查目录结构

            第三步:检查目录连接性

            第四步:检查引用信息

            第五步:检查簇概要信息

    fsck命令: 

            -t fstype:指明文件系统类型;

                  fsck -t ext4=fsck.ext4

            -a :无须交互而自动修复所有错误;

            -r :交互式修复

    blkid命令:查询设备上所采用系统类型,UUID

          blkid device

          blkid  -L LABEL:根据LABEL定位设备

          blkid  -U UUID: 根据UUID定位设备      

    

    swap文件系统:

        Linux上的交换分区必须使用独立的文件系统;

             且文件系统的System ID必须为82;

        创建swap设备:mkswap命令

           mkswap [options] device

              -L LABEL:指明卷标

              -f:强制

Windows无法识别Linux的文件系统;因此,存储设备需要在俩中系统之间交叉使用时,应该使用windows和Linux同时支持的文件系统:fat32(vfat)

   # mkfs.vfat device

文件系统的使用:

   首先要“挂载”:mount命令和umount命令

                         

   根文件系统之外的其他文件系统要想能够被访问,都必须通过“关联”至跟文件系统上的某个目录来实习,此关联操作即为“挂载”;此目录即为“挂载点”;

    挂载点:mount_point,用于作为另一个文件系统的访问入口;

   (1)事先存在;

   (2)应该使用未被或不会被其他进程使用到的目录

   (3)挂载点下原有的文件将会被隐藏

    mount命令:

         mount [-nrw] [-t 文件系统] [-L LABEL] [-o options] device dir

           命令选项:

                -r:readonly,只读挂载;

                -w:read and write,读写挂载;

                -n:默认情况下,设备挂载或卸载的操作会同步更新在/etc/mtab中;用于禁于此操作

                -t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略

                            此时mount会根据blkid来判断要挂载的设备的文件类型

                -L LABEL:挂载时以卷标的方式指明设备

          Lunix磁盘及文件管理系统

                 -U UUID:挂载时以UUID的方式指明设备

          Lunix磁盘及文件管理系统

       -o options:挂载选项

          sync/async:同步/异步操作;(同步:内存和磁盘同时写入);

          atime/noatiome:文件或目录被访问时是否更新访问时间戳;

          diratime/nodiratime:目录被访问时是否更新访问时间戳;

          remount:重新挂载;

          acl:支持使用facl功能;

          例:没有加acl,不支持操作(不支持设定访问控制功能)

          Lunix磁盘及文件管理系统

          mount下发现只有读写权限

          Lunix磁盘及文件管理系统

          我们用mount重新挂载,加入acl选项

          Lunix磁盘及文件管理系统

          再次进入/mnt 查看是否具有访问控制功能

          Lunix磁盘及文件管理系统

          acl默认我们是不支持的,太危险了,你懂得,没必要给自己挖坑

          第二种方法:

                   tune2fs -o acl /dev/sda6 启用acl

                   tune2fs -l /dev/sda6 查看acl是否启用

          ro:只读

          rw:读写

          dev/nodev:此设备上是否允许使用设备文件;

         exec/noexec:是否允许运行此设备上的程序文件;

         auto/noauto:是否允许普通用户挂载此文件系统;

         suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效

         defaults: Use default options()默认选项):

         rw, suid, dev, exec, auto, nouser, async, and relatime

   一个使用技巧:

         可以实现将目录绑定至另一个目录上,作为临时访问路口;

            mount --bind 源目录 目标目录

         查看当前系统所有已挂在的设备;

           # mount

           # cat /etc/mtab

           # cat /proc/mounts 

         挂载光盘:

            mount -r /dev/cdrom  mount_point(挂载点)

         

         挂在U盘:

             事先识别U盘的设备文件;

          

         挂载本地的回环设备:

             mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

   umount命令:

        umount  device | dir

 

           注意:正在被进程访问到的挂载点无法被卸载;  

                 查看被哪个或者哪些进程所占用:

                     # lsof MOUNT_POINT或#fuser -v MOUNT_POINT

                 终止所有正在访问某挂载点的进程:

                     # fuser -km  MOUNT_POINT 强行T掉

                     # umount MOUNT_POINT 再取消挂载

    交换分区的启用:

           创建交换分区的命令:mkswap

 

           启用:swapon

                   swapon [OPTION][DEVICE]

                     -a:定义在/etc/fstab文件中所有swap设备;

           禁用:swapoff

                   swapoff DEVICE

      设定除根文件系统以外的其他文件系统能够开机时自动挂载:/etc/fstab文件

           Lunix磁盘及文件管理系统

   每行定义一个要挂载的文件系统及相关属性:

        6个字段

           (1)要挂在的设备:

                   设备文件;

                   LABEL

                   UUID

                   伪文件系统:如sysfs,proc,tmpfs等

           (2)挂载点

                swap类型的设备的挂载点为swap;

           (3)文件系统类型;

           (4)挂载选项

                defaults:使用默认挂载选项;

                如果要同时使用多个挂载选项,彼此间以逗号分隔即可

                 例: defaults,acl,noatime,noexc

           (5)转储频率

                 0:从不备份;

                 1:每天备份;

                 2:每隔一天备份;

            (6)自检次序

                 0:不自检;

                 1:首先自检,通常只是根文件系统可用1;

                 2:次级自检

                 ...

       mount -a:可自动挂载定义在此文件中的所有支持自动挂载的设备;

      (1)用LABEL自动挂载

      Lunix磁盘及文件管理系统    

      Lunix磁盘及文件管理系统  

      (2)用device自动挂载

      Lunix磁盘及文件管理系统     

      Lunix磁盘及文件管理系统 

俩个命令:df和du

       df命令:

           df [OPTION][FILE]

               -l:仅显示本地文件的相关信息;

               -h:human—readable

               -l:显示inode使用状态而非blocks

       du命令:

            du [OPTION][FILE]

              -s:sumary

              -h:human-readble

    Lunix磁盘及文件管理系统博主就总结到这里,今天是星期日,博主从下午开始总结到写博客,中间断断续续,现在已经感觉有一种精尽人亡的感觉了!那我们下节再见,我的心愿是世上再无心机婊。

 

                

                  

   


文章名称:Lunix磁盘及文件管理系统
网站链接:http://ybzwz.com/article/gcodie.html