我们知道一块磁盘是可以被分区成多个分区的(partition),以Windows的观点来看,你可能会有一颗磁盘并且将他分区成为C:, D:, E:盘,那个C, D,E就是分区。Linux的设备都是以文件的型态存在,磁盘设备接口的不同也早就了磁盘文件名的不同。即IDE接口的磁盘设备文件名都是/dev/hd[a-z]的格式,例如:/dev/hda./dev/hdb。SCSI, SATA, SAS, USB接口的磁盘设备文件名都是:/dev/sd[a-z],例如sda.sdb,磁盘设备的命名主要是根据Linux核心侦测到磁盘的顺序来进行的,例如你有两块SATA接口的硬盘要插在有六个SATA插槽的主板上,一块插在SATA1接口上一块插在STAT3接口上,因为是使用侦测到的顺序来决定设备文件名,并非与实际插槽代号有关,所以这两块磁盘的命名就是SATA1插槽上为/dev/sda,而SATA3插槽上的为/dev/sdb。那么同一设备上的不同分区表示就是1.2.3.4.5这样,/dev/sda磁盘上的分区命名为/dev/sda1,/dev/sda2....注意:centos6和centos7统统将硬盘设备文件标识为/dev/sda[a-z]#



磁盘分区

    两种分区方式: MBR, GPT

    早期的 Linux 系统为了兼容Windows的磁盘,因此使用的是支持 Windows 的 MBR(Master Boot Record, 主要开机纪录区)的方式来处理开机管理程序与分区表!而开机管理程序纪录区与分区表则通通放在磁盘的第一个扇区, 这个扇区通常是512Bytes的大小(旧的磁盘扇区是512Bytes)所以说,第一个扇区及(0扇区)512Byte会有两个数据;

    主要开机记录区(Master Boot Record, MBR):主要用于引导系统启动,有446 Bytes

    分区表(partition table):记录整颗硬盘分区的状态,有64 Bytes

    由于分区表所在区块仅有64 Bytes容量,而每个分区要占用16Bytes,因此最多仅能记录4个分区,每个记录区记录了该区段的启始与结束的柱面号码。假设这个设备名称为/dev/sda/那么这个4个分区的命名分别是/dev/sda1,sda2,sda3,sda4.而这4个分区又被称为主分区和扩展分区,通常这4个分区为3个主分区和一个扩展分区,而扩展分区又可延伸N个逻辑分区(注意;一旦运用扩展分区,即此扩展分区不在存储实际数据,而是存储指向逻辑分区的信息,逻辑分区的设备名只能从5开始。)

    GPT支持128个分区,已经没有所谓的主、延伸、逻辑分区的概念,每个都可以视为是主分区,使用64位,支持8Z(512Byte/block ) 64Z (4096Byte/block)GPT磁盘分区结构解决了MBR只能分4个主分区的的缺点,并且支持大硬盘,分区结构清晰简单而且有备份。

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

    UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动

    结构如;

    blob.png

    保护MBR区:与 MBR 模式相似的,记录开机引导信息程序。

    GPT头:这个部份纪录了分区表本身的位置与大小,同时纪录了备份用的GPT分区放置的位置,同时放置了分区表的检验码(CRC32),操作系统可以根据这个检验码来判断GPT是否正确。若有错误,还可以通过这个纪录区来取得备份的GPT(磁盘最后的那个备份区块) 来恢复GPT的正常运行!

    分区表:实际记录分区信息处        



管理分区工具;fdisk,parted,sfdisk   

    fdisk 创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15分区

    gdisk 创建GPT分区
    GNU parted 高级分区操作(创建、复制、调整大小等等)
    partprobe-重新设置内存中的内核分区表版本
    fdisk /dev/sdb
    gfisk /dev/sdb 类fdisk 的GPT分区工具
  fdisk命令

    fdisk -l [-u] [device...]:列出指定磁盘设备上的分区情况;查看磁盘的分区信息

]# fdisk -l /dev/sdaDisk /dev/sda: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000e3d03==================================================================   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          64      512000   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              64       15666   125316096   8e  Linux LVM

    上面可看到设备名称是/dev/sda,大小为128G,等信息....,下边一栏则显示的是分区信息,可看到目前有两个分区,分别sda1和sda2,而sda1作为了系统的引导分区,开始柱面为1,结束柱面为64,块大小,分区类型ID等等...(注意;对cenots6来说start是开始柱面,End是结束柱面,对centos7来说start是开始扇区,End是结束扇区)


    fdisk device(设备)

    fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有操作均在内存中进行,没有直接同步到磁盘;直到使用w命令保存到磁盘上才会生效

n:创建新分区

d:删除已有分区

t:修改分区类型

l:查看所有已知id

w:保存并且退出

q:不保存并退出

m:查看帮助信息

p:显示现有分区信息

示例

]# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended to         switch off the mode (command 'c') and change display units to         sectors (command 'u').Command (m for help): n 输入n创建新分区Command action   e   extended :扩展分区   p   primary partition (1-4):主分区   p:输入p创建主分区   Partition number (1-4): 3 选择主分区号   First cylinder (7859-15665, default 7859):  从哪个柱面开始   Using default value 7859 直接回车   Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +10G 创建一个10G的分区 这里就加10G   Command (m for help): p 回车后敲p命令 可以看到/dev/sda3主分区已经创建成功Disk /dev/sda: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0004badb   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        7859    62914560   8e  Linux LVM/dev/sda3            7859        9164    10489446   83  LinuxCommand (m for help): n 接下来还可以继续创建分区,但是我们现在已经创建了3个主分区了,如果还要创建主分区的话                         剩余的磁盘空间就要全部给其使用,(一块磁盘最多只能有四个主分区)否则余出的空间就不能用了。                        如果我们要多创建几个分区,这里我们选择创建扩展分区。Command action   e   extended   p   primary partition (1-4)   eSelected partition 4First cylinder (9165-15665, default 9165): (这里直接敲回车,表示把起始柱面9165到结束柱面15665全部给此扩展分区)Using default value 9165Last cylinder, +cylinders or +size{K,M,G} (9165-15665, default 15665): Using default value 15665Command (m for help): p 再次敲p可看到编号为4的扩展分区已经创建Disk /dev/sda: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0004badb   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        7859    62914560   8e  Linux LVM/dev/sda3            7859        9164    10489446   83  Linux/dev/sda4            9165       15665    52219282+   5  ExtendedCommand (m for help): n 再次敲n可继续创建逻辑分区,如果直接退出 再次使用fdisk命令创建新的扩展分区也可创建逻辑分区,如下Command (m for help): nCommand action   l   logical (5 or over)   p   primary partition (1-4) l 敲l选择创建逻辑分区 First cylinder (7859-15665, default 7859): 逻辑分区起始柱面,直接敲回车默认为7859开始(自己指定起始柱面只需要输入柱面号即可)Using default value 7859 :直接敲回车默认为7859开始Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +10G 输入10G选择创建一个10G大小的逻辑分区Command (m for help): p 敲p显示分区列表,可看到/dev/sda5逻辑分区已经创建成功Disk /dev/sda: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0004badb   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        7859    62914560   8e  Linux LVM/dev/sda4            7859       15665    62708728+   5  Extended/dev/sda5            7859        9164    10489414+  83  LinuxCommand (m for help): w 敲w保存退出。此时会提示设备资源忙The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.

执行cat /proc/partitions 查看设备列表,发现sda3,4,5并没有被内核识别

]# cat /proc/partitions major minor  #blocks  name   8        0  125829120 sda   8        1     204800 sda1   8        2   62914560 sda2 253        0   20971520 dm-0 253        1    2097152 dm-1 253        2   10485760 dm-2 253        3   20971520 dm-3

执行partx -a /dev/sda.(同步分区列表)让内核重读设备,一次不行就两次

]# partx -a /dev/sda

然后再次cat /proc/partitions

]# cat /proc/partitions major minor  #blocks  name   8        0  125829120 sda   8        1     204800 sda1   8        2   62914560 sda2  注:此处因为误操作在创建sda3的时候没有敲击w保存退出,所有看不到sda3   8        4         31 sda4   8        5   10489414 sda5 253        0   20971520 dm-0 253        1    2097152 dm-1 253        2   10485760 dm-2 253        3   20971520 dm-3

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

查看:cat /prot/partitions

通知内核强制重新读取磁盘分区表;

centos5:partprobe[device]

centos6,7:partx,kpartx

partx-a [device]

kpartx-af[device]

有时候可能需要执行两次

至此分区创建完成 

完整示例如下

[root@localhost ~]# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended to         switch off the mode (command 'c') and change display units to         sectors (command 'u').Command (m for help): nCommand action   e   extended   p   primary partition (1-4)pPartition number (1-4): 3First cylinder (7859-15665, default 7859): Using default value 7859Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +10GCommand (m for help): pDisk /dev/sda: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000483ba   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        7859    62914560   8e  Linux LVM/dev/sda3            7859        9164    10489446   83  LinuxCommand (m for help): nCommand action   e   extended   p   primary partition (1-4)eSelected partition 4First cylinder (9165-15665, default 9165): Using default value 9165Last cylinder, +cylinders or +size{K,M,G} (9165-15665, default 15665): Using default value 15665Command (m for help): pDisk /dev/sda: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000483ba   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        7859    62914560   8e  Linux LVM/dev/sda3            7859        9164    10489446   83  Linux/dev/sda4            9165       15665    52219282+   5  ExtendedCommand (m for help): nFirst cylinder (9165-15665, default 9165): Using default value 9165Last cylinder, +cylinders or +size{K,M,G} (9165-15665, default 15665): +10GCommand (m for help): pDisk /dev/sda: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000483ba   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        7859    62914560   8e  Linux LVM/dev/sda3            7859        9164    10489446   83  Linux/dev/sda4            9165       15665    52219282+   5  Extended/dev/sda5            9165       10470    10490413+  83  LinuxCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@localhost ~]# partx -a /dev/sdaBLKPG: Device or resource busyerror adding partition 1BLKPG: Device or resource busyerror adding partition 2[root@localhost ~]# partx -a /dev/sdaBLKPG: Device or resource busyerror adding partition 1BLKPG: Device or resource busyerror adding partition 2BLKPG: Device or resource busyerror adding partition 3BLKPG: Device or resource busyerror adding partition 4BLKPG: Device or resource busyerror adding partition 5

删除分区用

partx -d -n M:N /dev/DEVICE
centos6: –nr N-M
CentOS 5, 7: 使用partprobe
partprobe [/dev/DEVICE]  



修改分区类型

    以第六个分区为例如下

]# fdisk /dev/sdaCommand (m for help): l 敲击l查看分区类型0  Empty            24  NEC DOS           81  Minix / old Lin bf  Solaris        1  FAT12            39  Plan 9            82  Linux swap / So c1  DRDOS/sec (FAT-Command (m for help): t 键入t选项 修改分区类型Partition number (1-6): 6 键入要修改的分区编号Hex code (type L to list codes):82 键入要修改的类型编号Command (m for help): p 再次查看列表/dev/sda6           10471       10732     2104483+  82  Linux swap / Solaris  修改成功

修改成功,现在磁盘分区和修改分区类型都已搞定,下面进入磁盘分区下的文件系统。



文件系统管理工具:

创建文件系统工具

mkfs;

mkfs.ext2(无日志功能),mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat...

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

fsck;

fsck.ext2,fsck.ext3,..

查看其属性的工具

dumpe2fs,tune2fs

调整文件系统特性:

tune2fs    

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

        如果一个文件系统想要在系统上运行起来的话,必须要装载对应的模块

lsmod:查看当前系统内核已经装载的模块,如果内核相应识别一个文件系统,必须先装载这个模块

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

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




    

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

mkfs.两次tab可看到多种文件系列

mkfs.ext2,mkfs.ext3,mkfs.ext4(向前兼容较老的版本)

mkfs -t ext2=mkfs.ext2

ext2:没有日志功能,ext3,4有日志功能,ext4性能有很大提升,建议使用ext4文件系统

命令

mkfs.ext2 /dev/sda#(敲下回车,及完成格式化文件系统)

[root@localhost ~]# mkfs.ext2 /dev/sda6mke2fs 1.41.12 (17-May-2010)Filesystem label=       文件系统卷标,此处没有指明,所以为空OS type: Linux           操作系统类型Block size=4096 (log=2)    块大小,默认为4KFragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks131648 inodes, 526120 blocks  一共给此分区创建了多少个inode,和多少个数据块26306 blocks (5.00%) reserved for the super user 其中有多个数据块预留给超级管理员的,默认为总数据块数的5%First data block=0 第一个数据块的编号从0开始Maximum filesystem blocks=541065216 文件系统最大的数据块编号17 block groups 一共多少个块组32768 blocks per group, 32768 fragments per group  每个组内有多少个块,7744 inodes per group 每个组中有多少个inodeSuperblock backups stored on blocks:  超级块备份在哪些数据块的块编号	32768, 98304, 163840, 229376, 294912Writing inode tables: done    正在写入inode表,这里显示写入完成                        Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 34 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.

blkid /dev/sda#

可查看文件系统类型

示例

]# blkid /dev/sda6/dev/sda6: UUID="8353a98f-ac7f-413c-a79a-8277ad2a71ba" TYPE="ext2"

每一个设备都有一个随机的UUID;全局唯一标识符

再次执行mkfs.ext3 /dev/sda6,将ext2文件系统格式化为ext3。

]# mkfs.ext3 /dev/sda6Writing inode tables: done                            Creating journal (16384 blocks): done   多了一项 创建日志成功,因为ext3文件系统支持日志功能

当然了也可以再此格式话为ext4格式,ext4格式同样支持日志功能,而且在单个文件和单个文件系统的大小比ext3性能更强大 

centos6 默认不支持xfs

如果要安装得先安装xfsprogs工具;可用yum进行安装,然后在执行]# mkfs.xfs /dev/sda6 -f 强制将文件系统格式化为xfs格式

# mkfs.xfs /dev/sda6 -f

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

mke2fs  [ option] device

-t{ext2|ext3|ext4}:指明要创建的文件系统类型

mkfs.etx4=mkfs -t ext4=mke2fs -t ext4

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

示例

]# mke2fs -b 1024 /dev/sda6

-L LABEL:指明卷标;

]# mke2fs -t ext2 -L mydata -b 2048 /dev/sda6

-j:创建有日志功能的文件系统ext3;

mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3

]# mke2fs -j /dev/sda6

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

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

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

-O[^]FEATURE:以指定的特性创建目标文件系统,不加^表示启用此特性,加^表示关闭此特性


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

查看:e2label device

]# e2label /dev/sda6

设定:e2label device LABEL

]# e2label /dev/sda6 ali]# e2label /dev/sda6ali

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

adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems:

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

tune2fs [option]device

-l:查看超级块的内容;

]# tune2fs -l /dev/sda6tune2fs 1.41.12 (17-May-2010)Filesystem volume name:   ali  卷标Last mounted on:          
 最后一次什么时候挂载的,当前显示不可用Filesystem UUID:          32592f02-1828-416d-8ef5-4bdcf2d46935  UUIDFilesystem magic number:  0xEF53 文件系统的魔数,文件系统类型的专用标识Filesystem revision #:    1 (dynamic)Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file Filesystem flags:         signed_directory_hash Default mount options:    (none) 默认的挂载选项Filesystem state:         clean  文件系统状态  此处clean(清洁)表示没有任何文件损坏Errors behavior:          ContinueFilesystem OS type:       LinuxInode count:              131648 inode数量Block count:              526120 块数量Reserved block count:     26306 Free blocks:              500671 剩余块数量Free inodes:              131637 剩余inode数量First block:              0Block size:               4096 块大小Fragment size:            4096 Reserved GDT blocks:      128 预留给GDT的块Blocks per group:         32768 每组多少块Fragments per group:      32768 每组多少个片段Inodes per group:         7744 每组多少个inodeInode blocks per group:   484   每组多少个块用来放inodeFilesystem created:       Wed Aug 24 21:07:43 2016Last mount time:          n/aLast write time:          Wed Aug 24 21:20:40 2016Mount count:              0Maximum mount count:      20Last checked:             Wed Aug 24 21:07:43 2016Check interval:           15552000 (6 months)Next check after:         Mon Feb 20 21:07:43 2017Reserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11Inode size:           256Required extra isize:     28Desired extra isize:      28Journal inode:            8Default directory hash:   half_md4Directory Hash Seed:      14d62c4d-b7bd-4458-abc9-72a48dbf45ccJournal backup:           inode blocks

修改指定文件系统的属性

-j:ext2 -->ext3

-L:LABEL:修改卷标

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

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

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

acl

^acl


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

dumpe2fs [-h]device


实现文件系统检测的工具

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

ext系列文件的专用工具;

e2fsck:check a Linux ext2/ext3/ext4 file system

e2fsck[option]device

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

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


fsck:check and repair a Linux file system(通用所有文件系统)

    修复的工作特性就是把不连续的文件删除进行的

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

fsck -t ext4 = fsck.ext4

-a:无需交互而自动档修复所有错误;(不建议)

-r:  交互式修复;

centos6如果使用xfs文件系统

#yum -y install xfsprogs



创建:mkfs.xfs

检测:fsck.xfs



blkid命令

blkid device

blkid -L label:根据label定位为设备

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


swap文件系统

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

且文件系统的system id 必须为82

创建swap设备:mkswap命令

mkswap [option] device

-L label:指明卷标

-f:强制

]# mkswap /dev/sda6Setting up swapspace version 1, size = 2104476 KiBno label, UUID=7e42ac9c-21f4-45b4-80b3-830d6e12611b

创建windows文件系统

#mkfs.vfat device

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


文件系统的使用:

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

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

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

(1)事先存在

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

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

mount命令:

mount [-nrw][-fnrsvw] [-t vfstype] [-o options] device dir

命令选项:

-r:readonly,只读挂载;

-w:read and write,读写挂载

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

-t vfstype:指明要挂载的设备上的文件系统雷系;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型

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

mount -L LABEL dir

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

-o option:挂载选项

sync/async:同步/异步操作;

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

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

remount:重新挂载

acl:支持使用facl功能

#mount -o acl device dir

#tune2fs -o acl device

ro:只读

rw:读写

dev/nodev:此设备上是否允许创建设备文件;

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

auto/noauto:

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

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

defaults:Use default options: rw, suid, dev, exec, auto, nouser, async, and relatime.

一个使用技巧:

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

mount --bind 源目录 目标目录

查看当前系统上所有已挂载的设备

#mount

#cat /etc/matb

#cat /proc/mounts

挂载光盘;

mount -r /dev/cdrom mount_point

光盘设备文件:/dev/cdrom

挂载U盘:

实现识别u盘的设备文件;

umount命令:

umount device|dir

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

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

#lsof mount_point

#fuser -v mount_point

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

#fuser -km mount_point

挂载本地的回环设备;

#mount -o loop /path/to/some_loop_file mount_point

交换分区的启用和禁用:

创建交换分区的命令:mkswap

启用:swapon

swap [option][option]

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

禁用:swapoff

swapoff device

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

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

6个字段:

(1)要挂载的设备

设备文件

LABEL

UUID

伪文件系统:如sysfs,proc,tmpts

(2)挂载点

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

(3)文件系统类型:

(4)挂载选项

defaults:使用默认挂载选项:

如果要同时指明多个挂载选项,彼此间以逗号分隔

(5)转储频率(备份)

0:从不备份

1:每天备份

2:每隔一天备份

(6)自检次序

0:不自检

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

2:次级自检

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

两个命令:df和du

df命令:

df[option]...[file]

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

-h:human-readable

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

du命令:

du[option]...[file]

-s:sumary

-h:human-readble