linux磁盘管理及文件系统

linux磁盘管理及文件系统

硬盘存储术语
    head:磁头 

        track:磁道 

        cylinder: 柱面 

        secotr: 扇区,512bytes

分区
   两种分区方式:MBR,GPT 

       MBR:

               Master Boot Record,1982年,使用32位表示扇区 数,分区不超过2T 

       如何分区:

               按柱面 

       0磁道0扇区:

              512bytes 446bytes: boot loader

              64bytes:分区表

             16bytes: 标识一个分区

             2bytes: 55AA 

            4个主分区;3主分区+1扩展(N个逻辑分区)

        GPT:

                GUID patition table 支持128个分区,使用64位,支 持8Z( 512Byte/block )64Z ( 4096Byte/block) 

                使用128位UUID 表示磁盘和分区 GPT分区表自动备份在头 和尾两份,并有CRC校验位 

                UEFI (统一扩展固件接口)硬件支持GPT

Linux磁盘管理常用三个命令为df、du和fdisk。

         df:列出文件系统的整体磁盘使用量 

         du:检查磁盘空间使用量

         fdisk:用于磁盘分区

df命令

      df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

        df +选项+文件

选项与参数:

  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

  • -k :以 KBytes 的容量显示各文件系统;

  • -m :以 MBytes 的容量显示各文件系统;

  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

  • -H :以 M=1000K 取代 M=1024K 的进位方式;

  • -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;

  • -i :不用硬盘容量,而以 inode 的数量来显示

列出所有文件系统   df -a

image.png

将容量结果以易读的容量格式显示出来    df -h

image.png

将系统内的所有特殊文件格式及名称都列出来   df -aT

image.png

将 /etc 底下的可用的磁盘容量以易读的容量格式显示   df -h /etc

image.png

du命令

linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令

语法  du + 选项+文件或者目录名称

选项与参数:

  • -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。

  • -h :以人们较易读的容量格式 (G/M) 显示;

  • -s :列出总量而已,而不列出每个各别的目录占用容量;

  • -S :不包括子目录下的总计,与 -s 有点差别。

  • -k :以 KBytes 列出容量显示;

  • -m :以 MBytes 列出容量显示;

实例:

列出/etc所有的文件目录容量    du -a

image.png

与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。


分区工具fdisk和gdisk

语法:

     fdisk +选项+装置名

     gaisk+选项+装置名

          -l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来

image.png


创建分区

image.png

子命令: 

       p 分区列表 

       t 更改分区类型 

       n 创建新分区 

       d 删除分区 

       w 保存并退出 

       q 不保存并退出

 查看内核是否已经识别新的分区:

           # cat /proc/partitions

image.png

       通知内核重新读取硬盘分区表

        新增分区用

               partx -a -n M:N /dev/DEVICE

               kpartx -a /dev/DEVICE -f: force

       删除分区用

               partx -d -n M:N /dev/DEVICE centos6: –nr N-M 

    CentOS 5,7: 使用partprobe 

     partprobe [/dev/DEVICE]


parted命令

        parted的操作都是实时生效的,小心使用 

            用法:

                   parted [选项]… [设备 [命令 [参数]…]…]

                   parted /dev/sdb mklabel gpt|msdos

                   parted /dev/sdb print parted /dev/sdb mkpart primary 1 200 (默认M)

                   parted /dev/sdb rm 1

                   parted -l

文件系统
    文件系统是操作系统用于明确存储设备或分区上的文件的方 法和数据结构;即在存储设备上组织文件的方法。操作系统 中负责管理和存储文件信息的软件结构称为文件管理系统, 简称文件系统。 

        从系统角度来看,文件系统是对文件存储设备的空间进行组 织和分配,负责文件存储并对存入的文件进行保护和检索的 系统。具体地说,它负责为用户建立文件,存入、读出、修 改、转储文件,控制文件的存取,安全控制,日志,压缩, 加密等。

文件系统类型
    Linux文件系统: ext2, ext3, ext4, xfs(SGI), btrfs( Oracle), reiserfs, jfs(AIX), swap swap: 交换分区 光盘:iso9660 

       Windows:fat32, ntfs 

       Unix: FFS(fast), UFS(unix), JFS2 

       网络文件系统:NFS, CIFS 

       集群文件系统:GFS2, OCFS2(oracle) 

       分布式文件系统:ceph, moosefs, mogilefs, glusterfs, Lustre 

       RAW:未经处理或者未经格式化产生的文件系统

文件系统分类
   根据其是否支持"journal"功能:

             日志型文件系统: ext3, ext4, xfs, …

             非日志型文件系统: ext2, vfat 

      文件系统的组成部分:

             内核中的模块:ext4, xfs, vfat

             用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat 

       Linux的虚拟文件系统:VFS 

       查前支持的文件系统:cat /proc/filesystems

磁盘格式化(创建文件系统)

       磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs(make filesystem) 命令。

       语法:mkfs [-t 文件系统格式] 装置文件名

mkfs命令:

      (1) # mkfs.FS_TYPE /dev/DEVICE ext4 xfs btrfs vfat

image.png

      (2) # mkfs -t FS_TYPE /dev/DEVICE -L 'LABEL': 设定卷标

image.png

创建ext文件系统

    mke2fs:ext系列文件系统专用管理工具

                   -t {ext2|ext3|ext4}

                   -b {1024|2048|4096}

                   -L 'LABEL'

                   -j: 相当于 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

                   -i #: 为数据空间中每多少个字节创建一个inode;此大 小不应该小于block的大小

                   -N #:为数据空间创建个多少个inode

                   -I 一个inode记录大小128—4096

                   -m #: 默认5%,为管理人员预留空间占总空间的百分比

                   -O FEATURE[,…]:启用指定特性

                   -O ^FEATURE:关闭指定特性

        blkid:块设备属性信息查看

                blkid [OPTION]… [DEVICE]

                       -U UUID: 根据指定的UUID来查找对应的设备

image.png

                       -L LABEL:根据指定的LABEL来查找对应的设备 

                       e2label:管理ext系列文件系统的LABEL # e2label DEVICE [LABEL]

           findfs :查找分区

                       findfs [options] LABEL=<label>

                       findfs [options] UUID=<uuid>

tune2fs
    tune2fs:重新设定ext系列文件系统可调整参数的值

                    -l:查看指定文件系统超级块信息;super block

                    -L 'LABEL':修改卷标

                    -m #:修预留给管理员的空间百分比

                    -j: 将ext2升级为ext3

                    -O: 文件系统属性启用或禁用,

                    –O ^has_journal

                   -o: 调整文件系统的默认挂载选项,–o ^acl

                    -U UUID: 修改UUID号 

          dumpe2fs:

                    -h:查看超级块信息(分组信息),分区用分组管理

磁盘检验

       fsck(file system check)用来检查和维护不一致的文件系统。
      若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。

语法:fsck [-t 文件系统] [-ACay] 装置名称

选项与参数:

  • -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数

  • -s : 依序一个一个地执行 fsck 的指令来检查

  • -A : 对/etc/fstab 中所有列出来的 分区(partition)做检查

  • -C : 显示完整的检查进度

  • -d : 打印出 e2fsck 的 debug 结果

  • -p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行

  • -R : 同时有 -A 条件时,省略 / 不检查

  • -V : 详细显示模式

  • -a : 如果检查有错则自动修复

  • -r : 如果检查有错则由使用者回答是否修复

  • -y : 选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck -y 全部检查修复。

查看系统有多少文件系统支持的 fsck 命令

image.png

检查分区/dev/sdc2

image.png

挂载mount

      挂载:    将额外文件系统与根文件系统某现存的目录建立起关联 关系,进而使得此目录做为其它文件访问入口的行为

      卸载:   为解除此关联关系的过程 

      把设备关联挂载点:mount Point mount 

      卸载时:可使用设备,也可以使用挂载点 umount 

      挂载点下原有文件在挂载完成后会被临时隐藏 

      挂载点目录一般为空

Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令

语法:mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n]  装置文件名  挂载点

image.png

image.png

mount常用命令选项 

          -t vsftype:指定要挂载的设备上的文件系统类型 

          -r: readonly,只读挂载

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

          -n: 不更新/etc/mtab,相当于#mount 

          -a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab 文件中,且挂载选项中有auto功能)

       -L 'LABEL': 以卷标指定挂载设备 

          -U 'UUID': 以UUID指定要挂载的设备 

          -B, –bind: 绑定目录到另一个目录上 

      查看内核追踪到的已挂载的所有设备:

          cat /proc/mounts

image.png

mount常用命令选项
   -o options:(挂载文件系统的选项),多个选项使用逗号分隔

       async:异步模式

       sync:同步模式,内存更改时,同时写磁盘

       atime/noatime:包含目录和文件

       diratime/nodiratime:目录的访问时间戳

       auto/noauto:是否支持自动挂载,是否支持-a选项

       exec/noexec:是否支持将文件系统上运行应用程序

       dev/nodev:是否支持在此文件系统上使用设备文件

       suid/nosuid:不否支持suid和sgid权限

       remount:重新挂载

       ro:只读

       rw:读写

       user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载

       acl:启用此文件系统上的acl功能 

       Defaults:相当于rw, suid, dev, exec, auto, nouser, async

卸载命令
   查看挂载情况: #findmnt MOUNT_POINT 

       查看正在访问指定文件系统的进程:

               #lsof MOUNT_POINT #fuser -v MOUNT_POINT 

       终止所有在正访问指定的文件系统的进程:

               # fuser -km MOUNT_POINT 

       卸载:

             # umount DEVICE

             # umount MOUNT_POINT

选项与参数:

  • -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;

  • -n :不升级 /etc/mtab 情况下卸除。

image.png

注:  显示块文件的三种方法

  1、lsblk

  2、ll /dev/sd*

  3、cat /proc/partitions


原创文章,作者:xiaoqiang512,如若转载,请注明出处:http://www.178linux.com/40221

(0)
上一篇 2016-08-26 09:11
下一篇 2016-08-26 09:11

相关推荐

  • 第六周小练习

    详细总结vim编辑器的使用并完成一下练习 vim编辑器的基本使用 vim模式: 1、编辑模式(命令模式) 2、输入模式 3、末行模式  一、打开文件 vim /path/to/somefile 打开单个文件 如果文件存在为打开,否则保存退出时为新建 vim /path/to/somefile vim +# : 打开文件…

    Linux干货 2016-12-19
  • shell编程作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@localhost sh.log]# cat systeminfo.sh  #!/bin/bash #author:DYW #显示当前主机系统…

    Linux干货 2016-08-15
  • sed和awk的用例及pam安全措施-第十五周

    总结sed和awk的详细用法; sed用法 sed(Stream EDitor)是一款流编辑器,用来对文本进行过滤与替换操作。其原理是:通过文件或管道读取文件内容,但是sed默认并不直接修改源文件,而是一次仅读取文件的一行至模式空间(pattern space)根据sed指令进行编辑并输出结果后清除模式空间,即所有的操作都是在模式空间中进行的。 语法格式 s…

    2017-06-05
  • cp复制软链接失效的原因

    在学习cp命令时我们会知道复制软链接时,如果要保留链接文件使用-d,但当我们实际操作时却常常出现如下情况 [root@localhost ~]# ls -l /etc/redhat-release     #此文件为链接文件 lrwxrwxrwx. …

    Linux干货 2016-10-25
  • 13 文件查找与压缩

    locate find 压缩命令 file-roller、compress/uncompress(.Z)、gzip/gunzip(.gz)、bzip2/bunzip2(.bz2)、xz/unxz(.xz) zip/unzip、tar locate 数据源 1)查询系统上预建的文件索引数据库      2)依赖于事先构建…

    Linux干货 2016-08-18
  • N26第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限cp -r /etc/skel /home/tuser1chmod -R go= /home/tuser1 2、编辑/etc/group文件,添加组hadoop。echo “hadoop:x:2020:”…

    Linux干货 2017-02-27

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-26 11:26

    linux磁盘和文件系统管理是基础知识,对于分区工具,格式化工具等都需要能熟练运用,文章对这些知识总结的很全面你,建议下来多加练习。