1、查看分区:fdisk
fdisk -l [-u] [device...] 列出指定设备上的分区
如:
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d2b21
磁盘分区 开始扇区 结束扇区 所含块数 分区类型 分区系统
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 31457279 14679040 8e Linux LVM
2、管理分区:fdisk DEVICE
fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能,所有的操作均在内存中完成,,没有直接同步到磁盘,直到使用“w“命令保存到磁盘上,操作才会生效。
如:
[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition //删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types //查看所有分区ID
m print this menu //查看帮助信息
n add a new partition //创建新分区
o create a new empty DOS partition table
p print the partition table //显示现有分区信息
q quit without saving changes //不保存退出
s create a new empty Sun disklabel
t change a partition's system id //修改分区类型
u change display/entry units
v verify the partition table
w write table to disk and exit //保存退出
x extra functionality (experts only)
Command (m for help): p
Disk /dev/sda: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d2b21
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 31457279 14679040 0 Empty
Command (m for help):
注意:在已经分区并且已经挂载其中某个分区的磁盘上创建的分区,内核可能在创建后无法直接识别。
查看内核识别到的分区信息:#cat /proc/partitions
通知内核强制重新读取磁盘分区表:
centos5:
#partprobe [device]
centos6/7:
#partx -a [device]
或#kpartx -af {device]
3、创建好分区并被内核识别后,创建分区文件系统:
----------------------------------------------------------------------------------------- 文件系统相关知识介绍: 创建文件系统就是格式化硬盘的过程。 格式化: 低级格式化:分区之前进行的,一般用来划分磁道 高级格式化:分区之后进行的,创建文件系统。 文件系统介绍: 文件系统由元数据、数据组成。 文件元数据所包括的内容是文件索引节点号(inode:index node) 文件元数据主要存放文件属性的一些信息,如:文件大小、属组、属主、权限、时间戳等,除此之外,元数据区还存放数据块指针,数据块指针指向数据区的起始块位置和结束块位置。但是元数据区 不包括文件名。文件名是在数据区中的目录上存放的,不是在元数据中存放的。 特殊文件介绍: 符号链接文件:存储数据指针的空间当中,存储的是真实文件的访问路径,自己不占据磁盘块空间。符号链接文件的大小就是指定的文件的”路径字符串“的大小。 设备文件:存储数据指针的空间当中,存储的是设备号(major、minor);设备文件也不占据磁盘块空间。 链接文件:访问同一个文件的不同路径 硬链接:指向同一个inode的多个路径,彼此间互不影响 符号链接:元数据中的数据指针存放的不是指向磁盘块的数据,而是指向一个文件路径的另一个文件路径,它可以找到磁盘块数据 链接文件的特性: 硬链接特性: ①目录不支持硬链接 ②硬链接不能跨文件系统 ③创建硬链接文件会增加inode引用计算 创建硬链接文件:#ln 原文件 链接文件 符号链接文件特性: ①符号链接与文件是两个各自独立的文件,各有自己的inode ②支持对目录创建符号链接,可以跨文件系统 ③删除符号链接文件不影响原文件,但删除原文件,符号指定的路径将不存在,此时会变成无效链接 ④对原文件创建符号链接文件不会增加引用计数。 创建符号链接:#ln -s 原文件 符号链接文件 bitmanp:位图索引 由于元数据区和数据区中的文件较多,存放数据时怎么判断哪些inode未使用,哪些数据块未使用,用位图索引中的每一个bit对应一个inode或数据块,来标识其是否被使用。 文件查找过程:/var/log/message 查找message的过程是:从根入口找到“/”的inode,然后根据inode指针,查找数据块区域中“/”下的数据,一般是inode号、目录名,如inode为123,对应的文件名为var,然后在去元数据区查找123即var下文件,直到找到message文件。 vfs:虚拟文件系统 由于linux有众多文件系统,为了方便开发人员对文件系统的调用,在各种文件系统之上加了一层vfs,vfs提供统一的文件接口给开发人员。 vfs支持的种类: linux文件系统:ext2/3/4、xfs、btrfs、reiserfs ,除了ext2无日志功能,其他都有日志功能。 光盘:ISO9660 网络文件系统:nfs、cifs 集群文件系统:gfs2、ocfs2 内核级分布式文件系统:ceph wiondws文件系统:vfat、ntfs 伪文件系统:proc、sysfs、tmpfs、hugepagefs unix文件系统:ufs、ffs、jfs 交换文件系统:swap 用户空间的分布式文件系统:mogilefs、moosefs、glusterfs 交换分区: 将硬盘伪装的虚拟内存与真实的内存数据进行交换,将真实内存中的不常用数据交换到虚拟内存中,需要时在交换回来。 文件系统的管理工具: 创建文件系统工具:mkfs、mkfs.ext2、mkfs.ext3、mkfs.ext4、mkfs.xfs、mkfs.vfs、mkfs.btrfs 检查及修复文件系统的工具:fsck、fsck.cramfs、fsck.ext3 、fsck.fat、fsck.minix、fsck.vfat、fsck.btrfs、fsck.ext2、fsck.ext4 、fsck.gfs2 、fsck.msdos 、fsck.xfs 查看其属性的工具:dumpe2fs、tune2fs 调整文件系统特性:tune2fs 文件系统分类: 有日志型文件系统:浪费空间、占用I/O性能,性能会损失 无日志型文件系统: 查看系统发行版本号: #cat /etc/issue 或 ]# cat /etc/centos-release 查看系统内核版本号: #uname -r 内核级文件系统的组成部分: 文件系统驱动:由内核提供 文件系统管理工具:由用户空间的应用程序提供 ----------------------------------------------------------------------------------------- |
创建文件系统工具: mkfs
mkfs:通用分区文件系统创建命令,创建文件的统一接口,调用各种文件系统工具。
格式:
mkfs [options] [-t type] [fs-options] device [size]
3.1、ext系列的文件系统管理工具:
mkfs.ext2 mkfs.ext3 mkfs.ext4
mkfs创建格式:
#mkfs.ext{2,3,4} 分区 //创建ext系列分区
ext系列分区文件系统专用管理工具:mke2fs
格式:
mke2fs [option] DEVICE
option:
-t {ext2|ext3|ext4}:指明要创建的文件系统类型
-b {1024|2048|4096}:指明文件系统块大小,分别是1k,2k,4k;
-L LABEL :指明卷标LABEL
-j :创建有日志功能的文件系统ext3,
mke2fs -j=mke2fs -t ext3=mkfs -t ext3=mkfs.ext3
-i # :每多少字节指定一个inode;
-N # :直接指明要给此文件系统创建的inode的数量
-O [^ ] :以指定的特性创建目录文件系统,[^ ]关闭指定的特性。
-m # :指定数据块预留的空间,百分比
3.3、xfs文件系统创建格式:
mkfs.xfs [options] DEVICE
3.4、vsfat文件系统创建格式:
windows无法识别linux文件系统,因此存储设备需要两种系统之间交叉使用时,应该使用windows和linux同时支持的文件系统:vsfat
格式:mkfs.vfat DEVICE
4、给分区文件系统创建卷标
4.1、ext系列分区文件系统创建卷标:e2label
格式:
e2label device [ new-label ]
如:
[root@localhost ~]# e2label /dev/sdb1 "mylove"
[root@localhost ~]# blkid /dev/sdb1 //查看分区信息
/dev/sdb1: LABEL="mylove" UUID="6c60e1e5-d99c-4668-bed5-ccbd30e9bae3" TYPE="ext2"
4.2、xfs分区文件系统创建卷标:xfs_admin
xfs_admin [-L label] [-U uuid] device
5、通用查看创建的分区文件系统:(ext系列、xfs等)
#blkid 分区
或 #blkid -L label
或 #blkid -U uuid
xfs查看创建的分区文件系统
xfs_admin -l device
6、查看或修改ext系统文件的某些属性:
6.1、tune2fs命令:查看、修改ext系列文件的属性,但是块大小创建后不可以修改
tune2fs命令格式:
tune2fs [options] DEVICE
options:
-l:查看超级块的内容
-j:修改ext2分区文件系统成ext3类型,不损坏数据
-L:修改卷标,不损害数据
-m #:调整预留空间的百分比,不损害数据
-O [^ ]:调整某种属性;不损害数据,(大写O)
如:tune2fs -O has_journal /dev/sda3 //打开/dev/sda3的日志特性
tune2fs -O ^has_journal /dev/sda3 //关闭/dev/sda3的日志特性
-o [^ ]:开启或关闭某种挂载选项;如:[^acl]:开启或关闭文件的acl特性。
6.2、dumpe2fs命令:显示ext系列分区文件系统的属性信息;类型tune2fs命令
dumpe2fs DEVICE
7、文件系统的检测工具:fsck,此命令适用于所有文件系统(ext系列、xfs、vsfat等)
因进程意外终止,或系统崩溃等原因,导致的写入操作非正常终止时,可能会造成文件损坏,此时,应该检测并修复文件系统;建议离线进行检测。
fsck格式:
fsck [options] DEVICE
options:
-t fstype:指明文件系统类型
如:fsck -t ext4=fsck.ext4
-a:无需和用户交互而自动修复所有错误,(修复就是将没有完成的文件删除,不建议使用此选项)
-r:交互式修复。
7.1、ext系列文件系统检测专用工具:
e2fsck [option] DEVICE
option:
-y:对所有问题自动回答为yes;
-f:即使文件系统处于clean状态(即没有问题状态);也要强制检测执行。
7.2、xfs文件系统检测专用工具:
fsck.xfs DEVICE
8、挂载、卸载文件系统 硬盘分区完成后,格式化(即创建完文件系统),挂载就可以使用了。 除了根文件系统之外的其他文件系统要想能够被访问,都必须通过“关联至根文件系统上的某个目录”来实现,此关联操作即为“挂载”,此目录即为“挂载点”;挂载点(mount_point)用于作为另一个文件系统的访问入口; 挂载点特性: ①事先存在 ②应该使用未被或不会被其他进程使用到的目录 ③挂载点下原有的文件将会被隐藏。 mount命令: 格式:mount [options] DEVICE MOUNT_POINT //mount 设备 挂载点 或: mount [-fnrsvw] [-t vfstype] [-o options] device dir options: -r:制度挂载 -w:读写挂载,默认是此选项 -n:默认情况下,设备挂载或卸载的操作会同步到/etc/mtab文件中,-n用于禁止此特性;mtab文件显示额了当前系统所有的挂载点。 -t:vfstype:指明要挂载的设备上文件系统的类型,可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型。 -L LABEL:挂载时以卷标的方式来挂载 如:mount -L LABEL MOUNT_POINT -U UUID:挂载时以UUID的方式指明挂载设备 如:mount -U UUID MOUNT_POINT [-o options] sync/async:同步/异步操作(写入) atime/moatime:文件或目录在被访问时是否更新其访问时间戳。 dirtime/nodirtime:目录在被访问时,是否更新其访问时间戳 remount:重新挂载 acl:支持使用facl功能。 mount -o remount acl /dev/sdb1 /mnt 或tune2fs -o acl device ro:只读 rw:读写 dev/nodev:此设备上是否允许创建设备文件 exec/noexec:是否允许运行此设备上的文件 auto/noauto:是否允许设备自动挂载 user/nouser:是否允许普通用户挂载此文件系统 suid/nisuid:是否允许程序文件的suid和sgid特殊权限生效。 使用技巧:可以实现将一个目录绑定至另一个目录上,作为其临时访问入口: 用法:mount --bind 源目录 目标目录 查看当前系统所有已挂载的设备: 方法一:#mount 方法二:#cat /etc/mtab 方法三:#cat /proc/mount 挂载光盘: #mount -r /dev/cdrom MOUNT_POINT //光盘的设备文件路径:/dev/cdrom或/dev/dvd 卸载命令: 方法一:umount 设备名 方法二:umount 挂载点 注意:正在被访问的挂载点不能被卸载,如果需要强制卸载按如下操作: #lsof /mnt //查看/mnt挂载点正在被占用的信息 或#fuser -v /mnt //查看被哪个或哪些进程占用 使用如下命令强制卸载,终止所有正在访问某挂载点的进程。 #fuser -km /mnt //强制卸载/mnt挂载点信息。 挂载本地的回环设备:如iso、img文件等 #mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT 如:#mount -o loop /root/centos7.iso /mnt |
9、SWAP文件系统:缓存文件系统 linux上的交换分区必须使用独立的文件系统(即独立的磁盘分区),且文件系统的分区system ID必须为“82 Linux swap / So” |
9.1、创建swap设备:mkswap命令 ;在分区的基础上创建swap分区文件系统, mkswap [option] DEVICE option: -L LABEL :手动指明卷标 -f:强制创建swap分区系统 |
9.2、挂载或卸载交换分区文件系统: swapon、swapoff 格式: Enable/disable: swapon [-d] [-f] [-p priority] [-v] specialfile... swapoff [-v] specialfile... Enable/disable all: swapon -a [-e] [-f] [-v] swapoff -a [-v] |
9.3、查看内存及缓存(交换分区)命令: #free |
10、开机自动挂载:
设定除根文件系统以外的其他文件系统能够开机被自动挂载:/etc/fstab
/etc/fstab文件格式:用空格分开,每行定义一个要挂载的文件系统及相关属性。
从左向右以空白分隔符分割的六个字段,分别是:
①要挂载的设备:可以有下列几种表示
设备文件
LABEL
UUID
伪文件系统:如:sysfs、proc、tmpfs等
②挂载点
swap类型设备的挂载点为swap
③文件系统类型
④挂载选项:
default:使用默认挂载选项
如果要同时指明多个挂载选项,彼此间用逗号分开即可,如:default,acl,noatime
⑤转储频率:(备份频率)
0:从不备份
1:每天备份一次
2:每隔一天备份一次
⑥自检次序:(0-9)次序可以是一样的
0:不自检
1:首先自检,通常只能是根文件系统可用
2:次级自检
11、df命令:diskfree,查看文件系统磁盘空间占用的情况
用法:df [OPTION]... [FILE]...
OPTION:
-L:只显示本地文件系统的使用情况
-h:做单位换算
-i:显示inode的使用情况,而不是blocks
如:
[root@localhost ~]# df /etc/
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 13092864 6581148 6511716 51% /
[root@localhost ~]#
12、du命令:评估文件空间的占用大小,显示文件的大小
du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F
OPTION:
-s:汇总显示,如du -s /etc
-h:做单位换算
如:
[root@localhost ~]# du /etc/passwd
4 /etc/passwd
[root@localhost ~]#