(1)基本语法
du 目录/文件
<aside> 显示目录下每个字母的磁盘使用情况!
</aside>
(2)选项说明
选项 | 功能 |
-h | 与人们交易阅读的 GBytes,MBytes,KBytes 等格式自行显示 |
-a | 不仅查看目录大小,还包括文件 |
-c | 显示所有的文件和子目录大小后,显示总和 |
-s | 只显示总和 |
-max-depth=n 或 -d n | 指定统计子目录的深度为第 n 层 |
(3)案例实操
[root@testx ~]# cd[root@testx ~]# du -sh7.1M .
# 通过tree查看一下文件结构[root@testx b]# tree.├── 1.tar.gz├── log.tar.gz└── target └── logs ├── 1.log └── 2.log2 directories, 4 files# 默认情况只会显示目录的磁盘使用请求[root@testx b]# du -h400K ./target/logs400K ./target700K .# 通过du递归查看所有文件的磁盘占用空间[root@testx b]# du -ah200K ./1.tar.gz100K ./log.tar.gz200K ./target/logs/1.log200K ./target/logs/2.log400K ./target/logs400K ./target700K .# 查看深度为1的文件磁盘占用信息[root@testx b]# du -ah -d 1200K ./1.tar.gz100K ./log.tar.gz400K ./target700K .
(1)基本语法
df 选项
<aside> 列出文件系统的整体磁盘使用量,检查文件系统磁盘占用情况。
</aside>
(2)选项
选项 | 功能 |
-h | 以人们较易阅读的 GBytes、MBytes、KBytes 等格式显示大小 |
(3)案例
# 查看磁盘使用情况[root@testx b]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 894M 0 894M 0% /devtmpfs 910M 0 910M 0% /dev/shmtmpfs 910M 11M 900M 2% /runtmpfs 910M 0 910M 0% /sys/fs/cgroup/dev/mapper/centos-root 17G 5.0G 13G 29% //dev/sda1 1014M 185M 830M 19% /boottmpfs 182M 12K 182M 1% /run/user/42tmpfs 182M 0 182M 0% /run/user/0
(1)语法
lsblk [选项] [<设备> ...]
<aside> 设备参数可以省略,此时会列出所有设备.
</aside>
(2)选项
选项 | 功能 |
-f | 查看详细的设备挂载情况,显示文件系统信息 |
(3)案例
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sr0 11:0 1 4.4G 0 rom
[root@testx ~]# lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINTsda├─sda1 xfs afc5b580-2325-4927-8c90-be699ef0db3a /boot└─sda2 LVM2_member x8BBth-iUkR-mxG0-Kzsh-Tai1-HRUN-F0FYUy ├─centos-root xfs c7cc6061-60b3-468d-b3cd-642d164fc048 / └─centos-swap swap bf602523-785c-4b62-879b-1cbc36071c13 [SWAP]sr0 iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00 /run/media/root/CentOS 7 x86_64
[root@testx ~]# lsblk /dev/sdaNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]
mount 设备 目录
umount <设备> | <目录>
# 通过设备名卸载umount -v /dev/sda1# 通过挂载点卸载umount -v /mnt/mymount/
这里给大家介绍,如何在系统中添加一块硬盘,会演示介绍整个过程
大家可以把硬盘想象成一个大房子,房子里面有很多房间,房间需要装修后才能入住,才能够放东西
(1)硬盘
相当于一个大房子
(2)分区
硬盘想要使用,也需要像房子一样划分成一块块的区域,这个就叫分区,一个分区相当于房子中的一个房间。
在 linux 中一块硬盘只能划分成 4 个大的分区,如果想划分更多的分区怎么办呢?
这里就涉及到分区的类型了,即主分区和扩展分区
(3)格式化
对分区进行格式化,相当于对房间进行装修,装修后然后才能放东西,即格式化之后,分区中才能够存储数据
(4)挂载
分区经过格式化之后,可以放数据了,而 linux 中是通过目录来访问文件的,而真正存储数据的是磁盘中的分区,此时目录就需要和分区有个映射关系,创建映射关系这个过程就是挂载的过程,将某个区分和某个目录联系起来,当向这个目录中放文件的时候,实际上就向目录关联的分区中放东西。
使用lsblk可以看到系统硬盘情况,下面我们来看一下
TYPE 列为 disk 的表示硬盘,可以看出只有一块硬盘,名称为sda,sd 开头的是 SCSI 类型硬盘,这个硬盘下面有 2 个分区(TYPE 类型为 part 的)
这个过程还是挺重要,当我们系统中磁盘空间不足的时候,我们需要添加硬盘,就涉及到这个过程。
添加一块 20G 的硬盘,分 3 个主分区,1 个扩展分区,扩展分区下面挂 2 个逻辑分区,由于我们系统中已经存在一块硬盘了:sda,那么我们重新添加一块硬盘,名称就变成:sdb 了,对应的分区如下,如果大家要创建的分区和这个不一样,将过程调整一下就可以了。
分区名称 | 类型(P:主分区,E:扩展分区,L:逻辑分区) | 大小 | 文件系统类型 |
sdb1 | P | 4G | xfs |
sdb2 | P | 5G | xfs |
sdb3 | P | 6G | xfs |
sdb4 | E | ||
sdb5 | L | 2G | xfs |
sdb6 | L | 3G | xfs |
VMware 左侧窗口,选中当前虚拟机->右键->设置
(1)基本语法
du 目录/文件
<aside> 显示目录下每个字母的磁盘使用情况!
</aside>
(2)选项说明
选项 | 功能 |
-h | 以人们交易阅读的 GBytes,MBytes,KBytes 等格式自行显示 |
-a | 不仅查看子目录大小,还包括文件 |
-c | 显示所有的文件和子目录大小后,显示总和 |
-s | 只显示总和 |
-max-depth=n 或 -d n | 指定统计子目录的深度为第 n 层 |
(3)案例实操
[root@testx ~]# cd[root@testx ~]# du -sh7.1M .
# 通过tree查看一下文件结构[root@testx b]# tree.├── 1.tar.gz├── log.tar.gz└── target └── logs ├── 1.log └── 2.log2 directories, 4 files# 默认情况只会显示目录的磁盘使用请求[root@testx b]# du -h400K ./target/logs400K ./target700K .# 通过du递归查看所有文件的磁盘占用空间[root@testx b]# du -ah200K ./1.tar.gz100K ./log.tar.gz200K ./target/logs/1.log200K ./target/logs/2.log400K ./target/logs400K ./target700K .# 查看深度为1的文件磁盘占用信息[root@testx b]# du -ah -d 1200K ./1.tar.gz100K ./log.tar.gz400K ./target700K .
(1)基本语法
df 选项
<aside> 列出文件系统的整体磁盘使用量,检查文件系统磁盘占用情况。
</aside>
(2)选项
选项 | 功能 |
-h | 以人们较易阅读的 GBytes、MBytes、KBytes 等格式显示大小 |
(3)案例
# 查看磁盘使用情况[root@testx b]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 894M 0 894M 0% /devtmpfs 910M 0 910M 0% /dev/shmtmpfs 910M 11M 900M 2% /runtmpfs 910M 0 910M 0% /sys/fs/cgroup/dev/mapper/centos-root 17G 5.0G 13G 29% //dev/sda1 1014M 185M 830M 19% /boottmpfs 182M 12K 182M 1% /run/user/42tmpfs 182M 0 182M 0% /run/user/0
(1)语法
lsblk [选项] [<设备> ...]
<aside> 设备参数可以省略,此时会列出所有设备.
</aside>
(2)选项
选项 | 功能 |
-f | 查看详细的设备挂载情况,显示文件系统信息 |
(3)案例
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sr0 11:0 1 4.4G 0 rom
[root@testx ~]# lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINTsda├─sda1 xfs afc5b580-2325-4927-8c90-be699ef0db3a /boot└─sda2 LVM2_member x8BBth-iUkR-mxG0-Kzsh-Tai1-HRUN-F0FYUy ├─centos-root xfs c7cc6061-60b3-468d-b3cd-642d164fc048 / └─centos-swap swap bf602523-785c-4b62-879b-1cbc36071c13 [SWAP]sr0 iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00 /run/media/root/CentOS 7 x86_64
[root@testx ~]# lsblk /dev/sdaNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]
mount 设备 目录
umount <设备> | <目录>
# 通过设备名卸载umount -v /dev/sda1# 通过挂载点卸载umount -v /mnt/mymount/
这里给大家介绍,如何在系统中添加一块硬盘,会演示介绍整个过程
大家可以把硬盘想象成一个大房子,房子里面有很多房间,房间需要装修后才能入住,才能够放东西
(1)硬盘
相当于一个大房子
(2)分区
硬盘想要使用,也需要像房子一样划分成一块块的区域,这个就叫分区,一个分区相当于房子中的一个房间。
在 linux 中一块硬盘只能划分成 4 个大的分区,如果想划分更多的分区怎么办呢?
这里就涉及到分区的类型了,即主分区和扩展分区
(3)格式化
对分区进行格式化,相当于对房间进行装修,装修后然后才能放东西,即格式化之后,分区中才能够存储数据
(4)挂载
分区经过格式化之后,可以放数据了,而 linux 中是通过目录来访问文件的,而真正存储数据的是磁盘中的分区,此时目录就需要和分区有个映射关系,创建映射关系这个过程就是挂载的过程,将某个区分和某个目录联系起来,当向这个目录中放文件的时候,实际上就向目录关联的分区中放东西。
使用lsblk可以看到系统硬盘情况,下面我们来看一下
TYPE 列为 disk 的表示硬盘,可以看出只有一块硬盘,名称为sda,sd 开头的是 SCSI 类型硬盘,这个硬盘下面有 2 个分区(TYPE 类型为 part 的)
这个过程还是挺重要,当我们系统中磁盘空间不足的时候,我们需要添加硬盘,就涉及到这个过程。
添加一块 20G 的硬盘,分 3 个主分区,1 个扩展分区,扩展分区下面挂 2 个逻辑分区,由于我们系统中已经存在一块硬盘了:sda,那么我们重新添加一块硬盘,名称就变成:sdb 了,对应的分区如下,如果大家要创建的分区和这个不一样,将过程调整一下就可以了。
分区名称 | 类型(P:主分区,E:扩展分区,L:逻辑分区) | 大小 | 文件系统类型 |
sdb1 | P | 4G | xfs |
sdb2 | P | 5G | xfs |
sdb3 | P | 6G | xfs |
sdb4 | E | ||
sdb5 | L | 2G | xfs |
sdb6 | L | 3G | xfs |
VMware 左侧窗口,选中当前虚拟机->右键->设置
需要重启机器之后,可以看到这颗硬盘,所以执行 reboot,重启机器。
重启之后,用lsblk命令,即可看到新加的硬盘:sdb
这里说一下,linux 中所有设备都是用文件来表示的,都在/dev 目录用一个文件表示,磁盘也是一样的,我们通过下面命令来看一下
[root@testx ~]# ll /dev | grep -w 'sd.'brw-rw----. 1 root disk 8, 0 5月 10 17:26 sdabrw-rw----. 1 root disk 8, 16 5月 10 17:26 sdb
需要用到一个新的命令:fdisk 磁盘,来对磁盘进行分区,这里我们需要对sdb这块磁盘进行分区,所以需用fdisk /dev/sdb来进行操作。
(1)执行fdisk /dev/sdb命令
(2)输入 m,查看帮助
(3)输入n:创建分区,提示让我们选择创建的分区类型,我们要创建是主分区,所以需要选择P
P:主分区 e:扩展分区
(4)输入 p:提示如下,此时会让我们选择分区编号,这里可以看出分区编号只能有 4 个
(5)输入分区编号 1,如下,又会提示让我们输入扇区的位置,直接按 enter 键就行了,会自动取默认值
(6)输入分区的大小: 4G,注意这里的格式: size{K,M,G}这单位有大小写的,不要写错了
(7)输入 p 看一下,目前的分区信息,如下
过程参考第 4 步中创建第一个分区的过程。
过程和上面的上面创建分区的过程有点不同
[root@testx ~]# lsblk -f /dev/sdbNAME FSTYPE LABEL UUID MOUNTPOINTsdb├─sdb1├─sdb2├─sdb3├─sdb4├─sdb5└─sdb6
mkfs -t 文件类型 设备
这里文件类型我们选择xfs,文件类型这里不介绍了,大家可以自行百度。
执行下面命令对 sdb1 分区进行格式化
[root@testx ~]# mkfs -t xfs /dev/sdb1meta-data=/dev/sdb1 isize=512 agcount=4, agsize=262144 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=1048576, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0
mkfs -t xfs /dev/sdb2mkfs -t xfs /dev/sdb3mkfs -t xfs /dev/sdb5mkfs -t xfs /dev/sdb6
分区格式化好,然后需要将其和目录进行关联起来之后才可以使用,这个过程就是挂载的过程。
挂载有 2 种方式
mount 设备 目标目录
分区和目录的映射关系如下
分区(也叫挂载点或者设备) | 目录 |
/dev/sdb1 | /home/xxx/dir1 |
/dev/sdb2 | /home/xxx/dir2 |
/dev/sdb3 | /home/xxx/dir3 |
/dev/sdb5 | /home/xxx/dir5 |
/dev/sdb6 | /home/xxx/dir6 |
执行下面命令,对 5 个分区进行挂载到表格中对应的目录
# 创建5个目标目录[root@testx home]# mkdir -p /home/xxx/dir1 /home/xxx/dir2 /home/xxx/dir3 /home/xxx/dir5 /home/xxx/dir6# 依次将3个主分区和2个逻辑分区挂载到对应的目录[root@testx home]# mount /dev/sdb1 /home/xxx/dir1/[root@testx home]# mount /dev/sdb2 /home/xxx/dir2/[root@testx home]# mount /dev/sdb3 /home/xxx/dir3/[root@testx home]# mount /dev/sdb5 /home/xxx/dir5/[root@testx home]# mount /dev/sdb6 /home/xxx/dir6/
再来看看挂载后的情况,如下
# 看一下挂载情况,都ok的[root@testx dir1]# lsblk -f /dev/sdbNAME FSTYPE LABEL UUID MOUNTPOINTsdb├─sdb1 xfs aaac1551-a072-4bd7-a8b0-a0209011f8ca /home/xxx/dir1├─sdb2 xfs bed7ee3e-2f6f-408c-b720-49af694bbc7a /home/xxx/dir2├─sdb3 xfs 6e712f33-c47a-423a-9bfd-372434437549 /home/xxx/dir3├─sdb4├─sdb5 xfs 30f62f64-316e-477d-8b59-99fec197ac28 /home/xxx/dir5└─sdb6 xfs 18768b27-579c-4b2c-bf9d-326eb47bb7c5 /home/xxx/dir6
下面来测试一下效果,向/home/xxx/dir1目录中扔个大文件,看看对应的分区/dev/sdb1磁盘使用情况是否发生变化了
# 丢文件之前分区/dev/sdb1的已用量:33M[root@testx dir1]# df -h /dev/sdb1文件系统 容量 已用 可用 已用% 挂载点/dev/sdb1 4.0G 33M 4.0G 1% /home/xxx/dir1# 找个大于100M的文件,丢进去[root@testx dir1]# find / -size 100M# 我们就将上面找出来的文件,随便拷贝一个到/home/xxx/dir1目录[root@testx dir1]# cp /var/cache/yum/x86_64/7/updates/packages/firefox-91.8.0-1.el7.centos.x86_64.rpm /home/xxx/dir1# 看一下dir1中新增的文件大小,107M[root@testx dir1]# ll -h /home/xxx/dir1/总用量 107M-rw-r--r--. 1 root root 12 5月 10 19:42 1.txt-rw-r--r--. 1 root root 107M 5月 10 19:52 firefox-91.8.0-1.el7.centos.x86_64.rpm# 此时分区/dev/sdb1已用量变成139M了[root@testx dir1]# df -h /dev/sdb1文件系统 容量 已用 可用 已用% 挂载点/dev/sdb1 4.0G 139M 3.9G 4% /home/xxx/dir1
mount 命令的挂载方式,重启后挂载关系会丢失。
linux 提供了自动挂载的方式:配置文件/etc/fstab,用来配置设备的挂载信息,系统启动后会自动读取这个目录,执行自动挂载操作。
将下面信息加入到/etc/fstab中,即可实现自动挂载
/dev/sdb1 /home/xxx/dir1 xfs defaults 0 0/dev/sdb2 /home/xxx/dir2 xfs defaults 0 0/dev/sdb3 /home/xxx/dir3 xfs defaults 0 0/dev/sdb5 /home/xxx/dir5 xfs defaults 0 0/dev/sdb6 /home/xxx/dir6 xfs defaults 0 0
联系客服