常用格式:
fdisk -l [-u] [device...]
常用选项:
-u="sector | cylinders"
可指定使用扇区或分区标注。查看所有磁盘分区信息:
[root@www ~]# fdisk -l
查看指定磁盘的分区信息:
[root@www ~]# fdisk -l /dev/sda1
CentOS 6中,使用扇区标注分区范围(默认是使用柱面标注):
[root@www ~]# fdisk -lu /dev/sda1
CentOS 7中,使用柱面标注分区范围(默认是使用扇区标注):
fdisk -lu="cylinders" /dev/sdb
使用命令fdisk device
可对指定的磁盘进行分区管理。
fdisk提供一个交互式接口来管理分区,它有许多子命令,对应不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘,直到使用w命令保存至磁盘中。
交互式接口中的常见命令:
注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新的分区,内核可能会创建完成后无法直接识别,可通过cat /proc/partitions
查看内核是否识别,如下:
[root@www ~]# cat /proc/partitions
major minor #blocks name
8 16 125829120 sdb
8 17 2104483 sdb1
8 0 125829120 sda
8 1 512000 sda1
8 2 125316096 sda2
253 0 52428800 dm-0
253 1 983040 dm-1
253 2 71901184 dm-2
若内核未能自动识别分区,可通过以下命令强制重读磁盘分区表:
CentOS 5:partprobe [device]
CentOS 6/7:partx -a [device]
或 kpartx -af [device]
常见的文件系统如下表:
类型 | 文件系统 |
---|---|
Linux的文件系统 | ext2、ext3、ext4、xfs、reiserfs、btrfs |
光盘 | iso9660 |
网络文件系统 | nfs、cifs |
集群文件系统 | gfs2、ocfs2 |
内核级分布式文件系统 | ceph |
windows的文件系统 | vfat、ntfs |
Unix的文件系统 | UFS、FFS、JFS |
交换文件系统 | swap |
用户空间的分布式文件系统 | mogilefs、moosefs、gluterfs |
mkfs
mkfs.ext2、mkfs.ext3、mkfs.ext4、mkfs.xfs、mkfs.vfat ……
fsck
fsck.ext2、fsck.ext3、fsck.ext4、fsck.xfs、mkfs.vfat……
dumpe2fs、tune2fs
tune2fs
mkfs命令起始是一个Linux下各个mkfs.fstype类型命令的前端工具,它通过 -t
选项指定要创建的文件系统,然后调用PATH变量包含的路径下的 mkfs.FSTYPE
命令,来实现创建文件系统的操作。
SYNOPSIS:mkfs [options] [-t type] [fs-options] device [size]
OPTION:
mkfs.fstype
命令,不同文件系统支持的命令各不相同。检测并且修复Linux文件系统。
fsck命令与mkfs命令相似,都是调用fsck.fstype等命令,以实现对不同文件系统的检测与修复。
其中,e2fsck、fsck.ext2、fsck.ext3、fsck.ext4、fsck.ext4dev是指向同一inode的硬链接。
[root@www ~]# ll -i /sbin/* |grep "^31963"
31963 -rwxr-xr-x. 5 root root 197352 7月 24 2015 /sbin/e2fsck
31963 -rwxr-xr-x. 5 root root 197352 7月 24 2015 /sbin/fsck.ext2
31963 -rwxr-xr-x. 5 root root 197352 7月 24 2015 /sbin/fsck.ext3
31963 -rwxr-xr-x. 5 root root 197352 7月 24 2015 /sbin/fsck.ext4
31963 -rwxr-xr-x. 5 root root 197352 7月 24 2015 /sbin/fsck.ext4dev
SYNOPSOS: fsck [OPTIONS]… [-t fstype] [device | LABEL=”STRING” | UUID=”STRING”]
可通过设备块文件、卷标或UUID来指明要检测的文件系统。
在不指定文件系统类型时,程序会自动识别文件系统的类型。
OPTION:
[root@www ~]# fsck /dev/sdb5
[root@www ~]# fsck LABEL="MYDATA"
[root@www ~]# fsck UUID="fa88c3f4-6cfc-482b-b507-063b259dc1ff"
SYNOPSIS:mke2fs [OPTIONS] device
OPTIONS:
练习:
创建一个ext4文件系,block大小为2048,预留空间为2%,卷标为MYDATA。
[root@www ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb5
mke2fs 1.41.12 (17-May-2010)
Filesystem label=MYDATA #文件系统卷标
OS type: Linux #操作系统类型
Block size=2048 (log=1) #块大小
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
657408 inodes, 5245190 blocks #inode数量,磁盘块数量
104903 blocks (2.00%) reserved for the super user #预留给超级管理员的数据块数
First data block=0 #第一个数据块的编号
Maximum filesystem blocks=543162368 #最大的文件系统块编号
321 block groups #块组数量
16384 blocks per group, 16384 fragments per group #每一个块组的块数量
2048 inodes per group #每一个块组的inode数量
Superblock backups stored on blocks: #超级块被备份在那些块上
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
2048000, 3981312
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
改变ext系列文件系统的卷标。
查看卷标:e2label device
[root@www ~]# e2label /dev/sdb5
MYDATA
设定卷标:e2label device LABEL
[root@www ~]# e2label /dev/sdb5 YOURDATA
[root@www ~]# e2label /dev/sdb5
YOURDATA
查看或修改ext系列文件系统的某些属性。
SYNOPSOS:tune2fs [OPTION] device
查看超级快的内容:tune2fs -l device
[root@www ~]# tune2fs -l /dev/sdb5
修改指定文件系统的属性:
显示ext系列文件系统的属性信息,包括超级块信息和各块组信息。
SYNOPSOS:dumpe2fs [-h] device
OPTION:
用于实现文件系统检测的工具。
在系统执行写入操作时,如因系统断电、进程异常中止等意外,而造成文件写入损坏时,应检测并修复文件系统、这个过程分区应该离线(不挂载)进行。
SYNOPSIS:`e2fsck [OPTIONS] device
OPTION:
[root@www ~]# e2fsck /dev/sdb5
e2fsck 1.41.12 (17-May-2010)
/dev/sdb5: clean, 11/655776 files, 46932/2622595 blocks
SYNOPSIS:
blkid device
:查找块设备属性。blkid -L label | -U uuid
:根据LABEL或UUID定位设备。[root@www ~]# blkid /dev/sdb5
/dev/sdb5: UUID="fa88c3f4-6cfc-482b-b507-063b259dc1ff" TYPE="ext4" LABEL="MYDATA"
[root@www ~]# blkid -L MYDATA
/dev/sdb5
[root@www ~]# blkid -U fa88c3f4-6cfc-482b-b507-063b259dc1ff
/dev/sdb5
Linux上的交换分区必须使用独立的文件系统,其System ID为82。
曾经,有人推荐使用物理内存1/2、1倍、2倍的容量作为SWAP分区的大小。随着计算机内容容量的增大,如果有16G内存的机器,分个16G的Swap空间,似乎感觉有点浪费磁盘空间,而且多数情况下用处也并不大。在Linux系统,我们可以参照Redhat公司为RHEL5、RHEL6推荐的SWAP空间的大小划分原则,在没有其他特别需求时,可以作为很好的参考依据。
实际内存大小 | 推荐swap分区大小 |
---|---|
小于4GB时 | 不少于2GB |
4GB~16GB | 不少于4GB |
16GB~64GB | 不少于8GB |
64GB~256GB | 不少于16GB |
创建swap设备。
SYNOPSIS:mkswap [OPTIONS] device
OPTION:
SYNOPSOS:swapon [OPTION] [DEVICE]
OPTION:
SYNOPSOS:swapoff DEVICE
SYNOPSOS:`mount [-nrw] [-t vfstype] [-o options] device dir
OPTION:
mount -L LABEL dir
;mount -U UUID dir
;-o options:挂载选项
suid/nosuid:是否允许程序文件上的suid和guid特许权限生效;
default挂载选项:rw, suid, dev, exec, auto, nouser, async and relatime.
直接使用命令mount
:
[root@www ~]# mount
/dev/mapper/vg_livecd-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
...省略更多...
查看/etc/mtab文件,该文件记录了挂载了的文件系统:
[root@www ~]# cat /etc/mtab
/dev/mapper/vg_livecd-lv_root / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
...省略更多...
查看内核文件,获取挂载信息:
[root@www ~]# cat /proc/mounts
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
...省略更多...
挂载普通的只读光盘需要使用只读选项 -r,光盘文件为/dev下的cdrom, cdrw, dvd, dvdrw文件,而这四个文件都是指向/dev/sr0的符号连接文件。
[root@www ~]# ll /dev/cd* /dev/dvd*
lrwxrwxrwx. 1 root root 3 3月 19 20:18 /dev/cdrom -> sr0
lrwxrwxrwx. 1 root root 3 3月 19 20:18 /dev/cdrw -> sr0
lrwxrwxrwx. 1 root root 3 3月 19 20:18 /dev/dvd -> sr0
lrwxrwxrwx. 1 root root 3 3月 19 20:18 /dev/dvdrw -> sr0
挂载光盘:
[root@www ~]# mount -r /dev/cdrom /media/cdrom/
对于本地的ios镜像文件,可通过挂载本地回环设备的方式进行挂载使用:mount [-o loop] /PATH/TO/SOME_LOOP_FILE MOUNT_POINT
[root@www ~]# mount -r -o loop CentOS-6.8-x86_64-bin-DVD1.iso /mnt
mount: /root/CentOS-6.8-x86_64-bin-DVD1.iso 已经挂载
[root@www ~]# mount -r CentOS-6.8-x86_64-bin-DVD1.iso /mnt
mount {-B|--bind} DIR MOUNT_POINT
[root@www ~]# mount -B /etc /mnt
SYNOPSIS:umount device|dir
若文件系统正在被进程访问,则无法卸载,可使用如下方法插卡被哪些进程所占用:
# lsof MOUNT_POINT
# fuser -v MOUNT_POINT
终止所有正在访问某挂载点的进程:
fuser -km MOUNT_POINT
/etc/fstab文件用于配置系统开机自动挂载文件系统的,每一行为一项自动挂载的文件系统的配置信息,每项包含六个字段,分别为:
要挂载的设备;
可以使用分区设备文件,如/dev/sdb1
;也可使用卷标,如LABEL="STRING"
;也可使用UUID,如UUID="STRING"
;对于虚拟文件系统,可使用sysfs
, proc
, tmpfs
。
挂载点;
对于swap文件系统,其挂载点为swap
。
文件系统类型;
挂载选项;
默认挂载选项使用default
,多个挂载选项之间可以用逗号隔开。
转储选项;
0:从不备份;
1:每天备份;
2:每隔一天备份;
0:不自检;
1:首先自检,通常只能是根文件系统使用1;
2:次级自检;
……
报告文件系统磁盘空间使用情况。
SYNOPSIS:df [OPTION]... [FILE]...
OPTION:
[root@www ~]# df /dev/sda1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 487652 35222 426830 8% /boot
查看指定文件的大小或指定目录及目录下所有文件的大小总和。
SYNOPSIS:du [OPTION]... [FILE]...
OPTION: