磁盘及文件系统管理(分区,挂载,卸载,信息展示与统计)

磁盘及文件系统管理(分区,挂载,卸载,信息展示与统计)
=======================================

磁盘操作
---------------------------------------------------------------------------------------------
###:fdisk:操作磁盘分区表
OPTIONS:
~]# fdisk -l /dev/sda (查看分区详情)

~]# fdisk -l (查看分区详情)

~]# fdisk /dev/sda
Command (m for help): m
Command action
   d   delete a partition(删除一个分区)
   l   list known partition types(列出已有的分区类型)
   m   print this menu(打印菜单)
   n   add a new partition(创建新分区)
   p   print the partition table(显示现有的分区信息)
   q   quit without saving changes(不保存退出)
   t   change a partition's system id(改变分区的系统标识)修改分区类型。
   w   write table to disk and exit(写入磁盘和退出表)
---------------------------------------------------------------------------------------------
通知内核强制重读磁盘分区表:
    CentOS 5:partprobe [device]
    CentOS 6,7:partx, kpartx
        partx -a [device]
        kpartx -af [device]

查看:cat  /proc/partitions
---------------------------------------------------------------------------------------------
###:mkfs.ext2  mkfs.ext3  mkfs.ext4:ext系列文件系统的管理工具
SYNOPSIS:
    mkfs.ext# device
OPTIONS:
    格式化:mkfs.ext2 /dev/sda3
    格式化:mkfs.ext3 /dev/sda3
    格式化:mkfs.ext4 /dev/sda3
---------------------------------------------------------------------------------------------
###:blkid:查看设备属性
SYNOPSIS:
    blkid [device]
OPTIONS:
    ~]# blkid /dev/sda2  (查看单个)
          /dev/sda2: UUID="ivAmVh-34tK-Wc0f-cBwE-UP9X-4Dzb-NnEPD0" TYPE="LVM2_member" 
    ~]# blkid  (查看所有)
          /dev/sda1: UUID="a1286a7b-86de-45ea-b405-243296edd943" TYPE="xfs" 
          /dev/sda2: UUID="ivAmVh-34tK-Wc0f-cBwE-UP9X-4Dzb-NnEPD0" TYPE="LVM2_member" 
          /dev/sr0: UUID="2015-04-01-00-21-36-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
          /dev/mapper/centos-root: UUID="95182712-dbff-4a70-8b0b-e5bdc0e318a2" TYPE="xfs" 
          /dev/mapper/centos-swap: UUID="99a1630a-f72f-4151-b24a-d81a6cf3df1d" TYPE="swap" 
          /dev/mapper/centos-home: UUID="225e506a-9b19-42f0-8b17-b9aa3713d56c" TYPE="xfs" 

      -L LABEL:根据LABEL定位设备
            ~]# blkid -L LABEL 
            /dev/sda3

      -U  UUID:根据UUID定位设备 
          ~]# blkid -U 1709e781-788a-48fd-97da-69d2ced72470
                  /dev/sda3    
---------------------------------------------------------------------------------------------
###:mkfs.xfs: 构建一个XFS系统(格式化)
OPTIONS:
          ~]# mkfs.xfs /dev/sda1

          -f:强制格式化。
                ~]# mkfs.xfs -f /dev/sda3
---------------------------------------------------------------------------------------------
###:mkfs:创建一个Linux文件系统
SYNOPSIS:
       mkfs [options] [-t type] [fs-options] device [size]
OPTIONS:
      -t:指定文件系统类型,如果没有指定则为ext2(等同于 mkfs.ext2)
            ~]# mkfs -t ext2 /dev/sda3
---------------------------------------------------------------------------------------------
###:mke2fs: 创建一个 ext2/ext3/ext4 文件系。
SYNOPSIS:
      mke2fs [OPTIONS]  device
OPTIONS:
        -t {ext2|ext3|ext4}:指明要创建的文件系统类型
            ~]# mke2fs -t ext3  /dev/sda3

        -b {1024|2048|4096}:指明文件系统的块大小。
              ~]# mke2fs -b 1024 /dev/sda3

        -L LABEL:指明卷标.
              ~]# mke2fs -L 'MYDATA' /dev/sda3

        -j:创建有日志功能的文件系统ext3。
              ~]# mke2fs -j /dev/sda3

        -i #:bytes-per-inode,指明inode与字节的比率;即每多少字节创建一个Indode; 
              ~]# mke2fs -i 1024 /dev/sda3

        -N #:直接指明要给此文件系统创建的inode的数量。
              ~]# mke2fs -N 307200 /dev/sda3

        -m #:指定预留的空间,百分比。(直接指明数字)
              ~]# mke2fs -m 2 /dev/sda3

        -O [^]FEATURE:以指定的特性创建目标文件系统。
---------------------------------------------------------------------------------------------
###:e2label:查看与改变 ext2/ext3/ext4 文件系统卷。
SYNOPSIS:
       e2label device [ new-label ]
OPTIONS:
      查看:e2label device
          ~]# e2label /dev/sda3

      设定:e2label device LABEL
          ~]# e2label /dev/sda3 label
---------------------------------------------------------------------------------------------
###:tune2fs:查看或修改 ext2/ext3/ext4 系列文件系统的某些属性。
SYNOPSIS:
      tune2fs [OPTIONS] device
OPTIONS:
      -l:查看超级块的内容
            ~]# tune2fs -l /dev/sda3

      修改指定文件系统的属性:
        -j:ext2 --> ext3:添加一个ext3日志文件系统
            ~]# blkid /dev/sda3
                  /dev/sda3: UUID="87a8af11-c075-48b8-a10d-c2f90997cd2e" TYPE="ext2" 
            ~]# tune2fs -j /dev/sda3
                  tune2fs 1.42.9 (28-Dec-2013)
            Creating journal inode: done
            ~]# blkid /dev/sda3
                  /dev/sda3: UUID="87a8af11-c075-48b8-a10d-c2f90997cd2e" SEC_TYPE="ext2" TYPE="ext3" 

        -L LABEL:修改卷标。
            ~]# tune2fs -L 'LABEL' /dev/sda3
            `       tune2fs 1.42.9 (28-Dec-2013)
            ~]# e2label /dev/sda3
                  LABEL
            ~]# tune2fs -l /dev/sda3
                  tune2fs 1.42.9 (28-Dec-2013)
                  Filesystem volume name:   LABEL
                  .....

        -m #:调整预留空间百分比;
              ~]# tune2fs -m 2 /dev/sda3
                    tune2fs 1.42.9 (28-Dec-2013)
                    Setting reserved blocks percentage to 2% (6144 blocks)

        -O [^]FEATHER:开启或关闭某种特性;
                   dir_index
                   dir_nlink
                   extra_isize
                   filetype
                   flex_bg
                   has_journal
                   huge_file
                   large_file
                   resize_inode
                   mmp   
                   sparse_super
                   uninit_bg        

        -o [^]mount_options:开启或关闭某种默认挂载选项
                  debug
                  bsdgroups
                  user_xattr
                  acl
                  uid16
                  journal_data
                  journal_data_ordered
                  journal_data_writeback
                  nobarrier
                  block_validity
                  discard
                  nodelalloc

        注意:块大小创建后不可修改。
---------------------------------------------------------------------------------------------
      dumpe2fs命令:显示ext系列文件系统的属性信息
        dumpe2fs  [-h] device
---------------------------------------------------------------------------------------------
###:dumpe2fs:显示 ext2/ext3/ext4 文件系统的属性信息
SYNOPSIS:
       dumpe2fs [ -bfhixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device
OPTIONS:
      -h:只显示超级块信息,不显示块组描述符的详细信息。
            ~]# dumpe2fs -h /dev/sda3
---------------------------------------------------------------------------------------------
###:lsmod:在内核中显示模块的状态
---------------------------------------------------------------------------------------------


文件系统检测的工具:
      因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统; 建议,离线进行。
---------------------------------------------------------------------------------------------
###:e2fsck:检查 ext2/ext3/ext4 文件系统
SYNOPSIS:
            e2fsck [OPTIONS]  device
OPTIONS:
            -y:对所有问题自动回答为yes。
            -f:即使文件系统处于clean状态,也要强制进行检测。
---------------------------------------------------------------------------------------------
###:fsck:检查和修补Linux文件系统
SYNOPSIS:
       fsck [-lrsAVRTMNP] [-C [fd]] [-t fstype] [filesystem...]  [--] [fs-specific-options]
OPTIONS:
      -t fstype:指明文件系统类型。
            ~]# fsck -t ext4

      -a:无须交互而自动修复所有错误。
            ~]# fsck -a
                    fsck from util-linux 2.23.2

      -r:交互式修复;
            ~]# fsck -r
                    fsck from util-linux 2.23.2
---------------------------------------------------------------------------------------------



挂载与卸载
---------------------------------------------------------------------------------------------
###:mount:挂载一个文件系统
SYNOPSIS:
       mount [-lhV]
       mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
       mount [-fnrsvw] [-o option[,option]...]  device|dir
       mount [-fnrsvw] [-t vfstype] [-o options] device dir
DESCRIPTION:
      根文件系统这外的其它文件系统要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点。
      挂载点:mount_point,用于作为另一个文件系统的访问入口。
        (1) 事先存在。
        (2) 应该使用未被或不会被其它进程使用到的目录。
        (3) 挂载点下原有的文件将会被隐藏。
OPTIONS:
        -r:readonly,只读挂载。
        -w:read and write, 读写挂载。
        -n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性。
        -t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型。
        -L LABEL:挂载时以卷标的方式指明设备。
              mount -L LABEL dir
        -U UUID:挂载时以UUID的方式指明设备。
              mount -U UUID dir
      -o options:挂载选项。
        sync/async:同步/异步操作。
        atime/noatime:文件或目录在被访问时是否更新其访问时间戳。
        diratime/nodiratime:目录在被访问时是否更新其访问时间戳。
        remount:重新挂载。
        acl:支持使用facl功能。
          # mount -o acl  device dir
          # tune2fs  -o  acl  device
        ro:只读
        rw:读写
        dev/nodev:设备上是否允许创建设备文件。
        exec/noexec:是否允许运行程序文件(可执行文件)
        auto/noauto:自动挂载,必须在fstab存在
        user/nouser:是否允许普通用户挂载此文件系统
        suid/nosuid:是否允许程序文件上的suid和sgid生效
        defaults:Use default option rw,suid dev exec auto nouser async ,and relatime.

使用技巧:
      绑定操作:将目录绑定到另外一个目录上,当做其临时访问入口。
            mount --bind 源目录 目标目录
      所有已挂载的设备:
            1,  mount
            2, cat /etc/mtab
            3, cat /proc/mounts
      挂载光盘:
            mount -r /dev/cdroom mount_point
            光盘设备文件:/dev/cdrom /dev/cdrw (sr0 或者 hdc)
            mount -r /dev/cdrom /media/cdrom
      挂载u盘:
            识别U盘设备文件。
      挂载本地的回环设备
            mount -o loop 源文件 目标目录

设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件 
    每行定义一个要挂载的文件系统及相关属性:
      6个字段:
        (1) 要挂载的设备:
          设备文件;
          LABEL
          UUID
          伪文件系统:如sysfs, proc, tmpfs等
        (2) 挂载点 
          swap类型的设备的挂载点为swap;
        (3) 文件系统类型;
        (4) 挂载选项
          defaults:使用默认挂载选项;
          如果要同时指明多个挂载选项,彼此间以事情分隔;
            defaults,acl,noatime,noexec
        (5) 转储频率
          0:从不备份;
          1:每天备份;
          2:每隔一天备份;
        (6) 自检次序
          0:不自检;
          1:首先自检,通常只能是根文件系统可用1;
          2:次级自检
          ...
        
      mount  -a:可自动挂载定义在此文件中的所支持自动挂载的设备;
---------------------------------------------------------------------------------------------
###:umount:卸载一个文件系统
SYNOPSIS:
       umount [-hV]
       umount -a [-dflnrv] [-t vfstype] [-O options]
       umount [-dflnrv] {dir|device}...
DESCRIPTION:
      注意:正在被进程访问到的挂载点无法被卸载;
OPTIONS:
      umount        device | dir

      查看被哪个或哪些进程所战用:
        ~]# lsof  挂载点 
        ~]# fuser -v  挂载点
      终止所有正在访问某挂载点的进程:
        ~]# fuser  -km  挂载点
---------------------------------------------------------------------------------------------
###:mkswap:设置一个交换区
SYNOPSIS:
       mkswap [options] device [size]
DESCRIPTION:
    usr var 可以是单独的分区。
    bin sbin 等必须在根分区上。
    Linux上的交换分区必须使用独立的文件系统,且文件系统的System ID必须为82。
OPTIONS:
       -f, --force:强制
          ~]# mkswap -f /dev/sda3
                mkswap: /dev/sda3: warning: wiping old ext2 signature.
                Setting up swapspace version 1, size = 307196 KiB
                no label, UUID=79b32869-c56a-49f7-8330-2a04eeda2a2b

       -L, --label label:指明卷标
            ~]# mkswap -L 'Label' /dev/sda3

      开启与关闭交换分区:
          启用交换分区:swapon device
                  -a:所有swap设备(定义在/etc/fstab 文件中的所有swap设备。)
          禁用交换分区:swapoff device

      设定开机自动挂载(除根文件以外的文件系统):/etc/fstab
            设备(设备文件 LABEL uuid 伪文件系统) 
            挂砸点:swap比较特殊(swapon 激活)
            文件系统 
            挂载选项:defaults,指明多个挂载点逗号分隔。
                    defaults,acl,noatime,noexec
            转储频率(备份)
                  0:从不备份
                  1:每天备份
                  2:每隔一天备份
          自检次序
                0:不自检
                1:首先自检
                2:次级自检
                .....
                9
---------------------------------------------------------------------------------------------


统计与查看
---------------------------------------------------------------------------------------------
###:df:查看磁盘使用状态
OPTIONS:
    -l:只显示本地文件系统
    -h:转换单位。
    -i:inode使用量
---------------------------------------------------------------------------------------------
###:du:评估文件大小
OPTIONS:
    -s:整体显示
    -h:换算单位
---------------------------------------------------------------------------------------------
###:free -m :查看内存使用状态
OPTIONS:
      -a:以M单位
      -g:以G单位

发布了86 篇原创文章 · 获赞 18 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章