文件系统的简单操作
磁盘与目录的容量
du和df
- df:列出文件系统的整体磁盘使用量
- du:评估文件系统的磁盘使用量(常用在估算目录所占容量)
## du常用参数:
-a : 列出所有的文件系统,包括特有的/proc等文件系统;
-k : 以KBytes的容量显示个文件系统
-m : 以MBytes的容量显示各文件系统
-h : 以人们较为容易阅读的方式显示
-H : 以M=1000K,取代M=1024K的仅为方式
-T : 显示文件系统名称
eg:
[root@VM-16-5-centos ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 929956 0 929956 0% /dev
tmpfs tmpfs 941072 24 941048 1% /dev/shm
tmpfs tmpfs 941072 496 940576 1% /run
tmpfs tmpfs 941072 0 941072 0% /sys/fs/cgroup
/dev/vda1 ext4 51473868 7035640 42240984 15% /
tmpfs tmpfs 188216 0 188216 0% /run/user/0
实体链接和符号链接
ln
- 实体链接:两个档名链接到同一个inode,因此查看文件权限等相同
- 符号链接:符号链接等同于Windows系统上的快捷方式。
## 实体链接
ln /etc/contab
磁盘分区、格式化、检验与挂载
一块新的硬盘在插入主机后,需要进行一系列的操作才能够正常的使用,具体要操作的步骤大致如下:
- 对磁盘进行分区(创建partition)。
- 对分区格式化(format),建立文件系统(filesystem)。
- 检验文件系统。
- 在系统对应挂载点进行挂载。
观察分区情况
lsblk、blkid、parted
- lsblk:列出块存储设备
- blkid:列出块设备描述信息
- parted:列出磁盘分区表类型和分区信息
## lsblk的主要参数
-d : 仅列出磁盘分身,无分区信息
-f : 同时列出磁盘内文件系统名
-i : 使用ASCII的输出
-m : 同事输出该装置在/dev下的权限数据
-p : 累出装置完整文件名
-t : 列出该磁盘装置详细的数据。
eg:
[root@VM-16-5-centos ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 41.1M 0 rom
vda 253:0 0 50G 0 disk
└─vda1 253:1 0 50G 0 part /
## blkid
[root@VM-16-5-centos ~]# blkid
/dev/sr0: UUID="2020-07-20-18-13-04-00" LABEL="config-2" TYPE="iso9660"
/dev/vda1: UUID="4b499d76-769a-40a0-93dc-4a31a59add28" TYPE="ext4"
## parted
eg:
[root@VM-16-5-centos ~]# parted /dev/vda1 print
Model: Virtio Block Device (virtblk)
Disk /dev/vda1: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0.00B 53.7GB 53.7GB ext4
parted是一个功能功能强大的可交互程序,此处只用了一点简单的功能。
磁盘分区
gdisk和fdisk
- gdisk:GPT分区表需要使用的工具
- fdisk:MBR分区表需要使用的工具
## gdisk 设备名
gdisk /dev/vda
## 然后就可以根据提示进行交互式的操作
## 在离开时使用按下【q】则不会生效有关配置,【w】才能使得配置生效
## fdisk 和 gdisk基本类似
gdisk是这对整个磁盘设备进行操作的,因此
gdisk /dev/vda1
执行就会报错
磁盘格式化
mkfs
- mkfs.xfs:构建xfs文件系统
- mkfs.ext4:构建ext4文件系统
xfs系统针对RAID效能能够进行针对性的优化,具体到参数
agcount
对应线程数和su
对应RAID配置的strip参数,sw对应可用的磁盘数,exitsize对应sw*sumkfs.xfs -f -d arcount=2,sunit=512,sw=7 -r extsize=1792k /dev/vda4
文件系统挂载与卸载
挂载前需要明确:
- 单一文件系统不应被重复挂载到不同挂载点
- 单一目录不应该重复挂载多个文件系统
- 挂载点目录理论上是空的
mount和umount
- mount:用户挂载磁盘
- umount:用户卸载设备
## mount
-a : 根据 /etc/fstab 的数据将未挂载的磁盘全部挂载上
-l : 单纯输入 mount 会显示目前挂载的信息。加上 -l 可增加 Lablel 名称
-t : 可以加上文件系统种类来指定欲挂载的类型。
-o : 增加额外参数:
ansync, sync:写入同步或异步
ro, rw:只读或可擦写
auto, noauto:允许被mount -a自动挂载
…………
eg:
mount [-t 文件系统] LABEL='' 挂载点
mount [-t 文件系统] UUID='' 挂载点
mount [-t 文件系统] 装置文件名 挂载点
## umount
操作系统根据 supeblock
读取文件系统的信息,同时根据以下两个文件的写信息尝试进行自动挂载。
- /etc/filesystems:系统指定的测试挂载文件系统类型的优先级。
- /proc/filesystems:Linux系统已经加载文件系统类型。
Linux
操作系统的驱动程序存在: - /lib/modules/$(uname -r)/kernel/fs/
开机挂载
系统挂载的一些限制:
- 根目录
/
是必须挂载的,而且一定是最先挂载的 - 磁盘必须挂载在已有目录下,且遵循FHS
- 同一时间内挂载点,只能挂载一次
- 所有分区在同一时间内,只能挂在一次
- 若要卸载,必须将工作目录移动到挂载点上层
磁盘写信息写入到/etc/fstab
中即可
## /etc/fstab
[root@VM-16-5-centos ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Mar 7 06:38:37 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=4b499d76-769a-40a0-93dc-4a31a59add28 / ext4 defaults 1 1