1.磁盘与目录的容量
列出文件系统的整体磁盘使用量

(1)df命令

-a:列出所有的文件系统,包括系统特有的/proc等文件系统;
-k:以KBytes的容量显示各文件系统。
-m:以MBytes的容量显示各文件系统。
-h:以较以阅读的GBytes、MBytes、KBytes等格式自行显示,常用。
-H:1M=1000K取代1M=1024k的进位方式。
-T:连同该分区的文件系统名称(如“xfs”)也列出。
-i:不用磁盘容量显出,而以inode的数量来显示
[root@localhost ~]# df -hT    #执行该命令
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        39G  4.2G   35G   11% /
devtmpfs                devtmpfs  895M     0  895M    0% /dev
tmpfs                   tmpfs     911M     0  911M    0% /dev/shm
tmpfs                   tmpfs     911M   11M  901M    2% /run
tmpfs                   tmpfs     911M     0  911M    0% /sys/fs/cgroup
/dev/mapper/centos-home xfs        19G   33M   19G    1% /home
/dev/sda1               xfs      1014M  170M  845M   17% /boot
tmpfs                   tmpfs     183M  8.0K  183M    1% /run/user/42
tmpfs                   tmpfs     183M     0  183M    0% /run/user/0
[root@localhost ~]# df -h /etc   #将/etc下可用的磁盘容量以易读的容量格式显示
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   39G  4.2G   35G   11% /
[root@localhost ~]# df -ih /etc    #查询这个目录的可用inode数量
文件系统                Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/centos-root   20M    154K     19M       1% /

(2)du命令

评估文件系统的磁盘使用量(常用在推估目录所占容量)

选项:

-a:列出所有的文件与目录容量,默认仅统计目录下面的文件量而已。
-h:以较易读懂的容量格式(G/M)显示,常用。
-s:列出总量而已,而不列出每个个别的目录占用容量,常用。
-S:不包括子目录下的总计,与-s有点差别,不常用。
-k:以KBytes列出容量显示。
-m:以MBytes列出容量显示

常用参数

[root@localhost ~]# du -sh /etc    #统计/etc目录的总用量
37M /etc

2.实体链接与符号链接
Linux磁盘分区_第1张图片

一般来说,使用 hard link 设置链接文件时,磁盘的空间与 inode 的数目都不会改变!
hard link 只是在某个目录下的 block 多写入一个关连数据而已,既不会增加 inode 也不会耗用 block 数量

(1)ln命令

作用:
创建链接,可以将之当成windows中的创建快捷方式。

软连接及硬链接的区别

链接有软连接及硬链接之分,软连接就是Windows中创建了一个快捷方式,而硬链接则相当于直接复制了一份到指定位置。
二者区别:软连接占用空间小,硬链接占用空间大,当源文件不存在时,软连接也就跟着失效了,而硬链接则没事,它相当于一个完全独立的个体

选项:

-s:如果不加任何参数就进行链接,那就是创建的硬链接,而“-s”选项就是创建软连接。
-f:如果目标文件存在时,就主动的将目标文件直接移除后再创建。

示例

#软连接示例:
[root@localhost ~]# ln -s /etc/passwd /tmp/password   #创建一个软连接
[root@localhost ~]# ls -ld /etc/passwd /tmp/password    #查看源文件及链接文件
-rw-r--r--. 1 root root 2342 7月  14 22:46 /etc/passwd
lrwxrwxrwx  1 root root   11 8月  17 22:54 /tmp/password -> /etc/passwd
#可以看到链接文件的权限很大,但实际的权限以源文件为准
[root@localhost ~]# du -sh /etc/passwd /tmp/password 
4.0K    /etc/passwd
0   /tmp/password    #可以看到软连接的文件大小基本可以忽略不计
#硬链接示例:
[root@localhost ~]# ln /etc/passwd /tmp/password2  #创建一个硬链接
#分别查看源文件和连接文件的大小
[root@localhost ~]# du -sh /etc/passwd
4.0K    /etc/passwd
[root@localhost ~]# du -sh /tmp/password2
4.0K    /tmp/password2
#可以看出来大小一样
[root@localhost ~]# ls -ld /etc/passwd /tmp/password2    #文件属性也一样
-rw-r--r--. 2 0 root 2277 8月  17 22:58 /etc/passwd
-rw-r--r--. 2 0 root 2277 8月  17 22:58 /tmp/password2

3.观察磁盘分区状态:

lsblk命令

列出系统上所有的磁盘列表

选项:

-d:仅列出磁盘本身,并不会列出该磁盘的分区数据。
-f:同时列出该磁盘内的文件系统。
-i:使用ASCII的线段输出,不使用复杂的编码(某些环境下很有用)。
-m:同时输出该设备在/dev下面的权限数据(rwx的数据)。
-p:列出该磁盘设备的完整文件名,而不是仅列出最后的名字。
-t:列出该磁盘设备的详细数据,包括磁盘阵列机制、预读写的数据量大小等

blkid命令

列出磁盘设备的UUID等参数

[root@localhost ~]# blkid    #查询磁盘的UUID及文件系统
/dev/sda1: UUID="cfcc42fb-78c0-4bf6-84ec-bc3f52803d14" TYPE="xfs" 
/dev/sda2: UUID="fLk953-Bcni-gHbP-E6Sq-F5o6-55pz-LScGyM" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="9693181b-8904-4ead-94d8-eb7638055f7a" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="c5c51833-e6a5-4223-b848-aa02d2128dfe" TYPE="swap" 
/dev/mapper/centos-home: UUID="5a05f8d3-3211-401b-8f22-99ef3681777f" TYPE="xfs"

parted命令

列出磁盘的分区表类型与分区信息

[root@localhost ~]# parted /dev/sda print    #列出/dev/sda磁盘的相关数据,需要加“print”参数
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 
#下面是分区数据
Number  Start   End     Size    Type     File system  标志
 1      1049kB  1075MB  1074MB  primary  xfs          启动
 2      1075MB  64.4GB  63.3GB  primary               lvm

gdisk命令

对磁盘进行分区等一系列改动操作,使用GPT模式进行分区,另一种模式是MBR分区格式,使用fdisk命令,两者分区时的操作大同小异

可以通过 fdisk -l 来列出当前系统中所有硬盘设备及其分区的信息

Linux磁盘分区_第2张图片

ID号对应的文件系统:

83:XFS
82:swap
86:NTFS
8e:LVM卷

Gdisk /dev/sda进入以后开始创建分区


* p   查看分区表
* n   创建分区 (p 是主分区 。e  是逻辑分区)
* m  可以查看各种指令得帮助信息

mkfs命令
对磁盘分区后,需要使用此命令进行格式化。
XFS 文件系统 mkfs.xfs
EXT4文件系统 mkfs.ext4

选项如下:

Linux磁盘分区_第3张图片

[root@localhost ~]# mkfs.xfs /dev/sdb1   #格式化此磁盘,将会输出磁盘的详细信息
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310655 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242619, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# grep 'processor' /proc/cpuinfo   #查询CPU个数
processor   : 0
#结果是只有一个CPU,可以设置相关参数,来优化文件系统的读写性能。

xfs_repair命令
对文件系统进行检验。

选项:

-f:后面跟的设备其实是个文件而不是实体设备。
-n:单纯检查并不修改文件系统的任何数据(检查而已)。
-d:通常用在单人维护模式下面,针对根目录(/)进行检查与修复的动作,很危险,不要随便使用。

fsck命令

常用于检查ext4文件系统并尝试修复出现的错误,通常只有身为 root 用户且文件系统出现问题时才会使用,否则,在正常状况下使用 fsck 命令,很可能损坏系统。另外,如果你怀疑已经格式化成功的硬盘有问题,也可以使用此命令来进行检查

使用 fsck 检查并修复文件系统是存在风险的,特别是当硬盘错误非常严重的时候,因此,当一个受损文件系统中包含了非常有价值的数据时,务必首先进行备份!

选项:

-a:自动修复文件系统,没有任何提示信息。
-r:采取互动的修复模式,在修改文件前会进行询问,让用户得以确认并决定处理方式。
-A:按照 /etc/fstab 配置文件的内容,检查文件内罗列的全部文件系统。
-t :文件系统类型 指定要检查的文件系统类型。
-C:显示检查分区的进度条。
-f:强制检测,一般 fsck 命令如果没有发现分区有问题,则是不会检测的。如果强制检测,那么不管是否发现问题,都会检测。
-y:自动修复,和 -a 作用一致,不过有些文件系统只支持 -y。
-D:针对文件系统下的目录进行最优化配置。
-b:后面接superblock的位置,一般用不到这个选项,但是如果你的uperblock因故障损毁时,通过这个参数即可利用文件系统内备份的superblock来尝试救援。一般来说,superblock备份在:1K block放在8193,2K block放在16384,4K block放在32768。

mount命令
挂载文件系统

挂载之前如下:(建议)
* 单一文件系统不应该被重复挂载在不同的挂载点(目录)中
* 单一目录不应该重复挂载多个文件系统
* 要作为挂载点得目录,理论上应该都是空目录

选项如下:

Linux磁盘分区_第4张图片

umount命令
卸载文件系统

选项:

-f:强制卸载,可用在类似网络文件系统(NFS)无法读取到的情况下。
-l:立刻卸载文件系统,比“-f”还强。
-n:不更新/etc/mtab情况下卸载。

Linux磁盘分区_第5张图片

系统挂载的一些限制:

Linux磁盘分区_第6张图片

设置开机自动挂载时,一些可以设置的参数

Linux磁盘分区_第7张图片