Linux 08 磁盘管理


参考源

https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0

版本

本文章基于 CentOS 7.6


概述

Linux 磁盘管理好坏直接关系到整个系统的性能问题。

Linux 磁盘管理常用命令为 dfdu

  • df:列出文件系统的整体磁盘使用量。
  • du:检查磁盘空间使用量。

查看

空间占用情况

df

可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

df [-ahikHTm] [目录或文件名]

参数:

  • -a:列出所有的文件系统,包括系统特有的 /proc 等文件系统。
  • -k:以 KBytes 的容量显示各文件系统。
  • -m:以 MBytes 的容量显示各文件系统。
  • -h:以人们较易阅读的 GBytesMBytesKBytes 等格式自行显示。
  • -H:以 M=1000K 取代 M=1024K 的进位方式。
  • -T:显示文件系统类型,连同该 partitionfilesystem 名称 (例如 ext3) 也列出。
  • -i:不用硬盘容量,而以 inode 的数量来显示。

将系统内所有的文件系统列出来。

在 Linux 底下如果 df 没有加任何选项,那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来。

[root@sail ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       61791304 2029212  57019704   4% /
devtmpfs          877748       0    877748   0% /dev
tmpfs             888200       0    888200   0% /dev/shm
tmpfs             888200     432    887768   1% /run
tmpfs             888200       0    888200   0% /sys/fs/cgroup
tmpfs             177644       0    177644   0% /run/user/0

将容量结果以易读的容量格式显示出来。

[root@sail ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        59G  2.0G   55G   4% /
devtmpfs        858M     0  858M   0% /dev
tmpfs           868M     0  868M   0% /dev/shm
tmpfs           868M  432K  867M   1% /run
tmpfs           868M     0  868M   0% /sys/fs/cgroup
tmpfs           174M     0  174M   0% /run/user/0

将系统内的所有特殊文件格式及名称都列出来。

[root@sail ~]# df -aT
Filesystem     Type       1K-blocks    Used Available Use% Mounted on
rootfs         -                  -       -         -    - /
sysfs          sysfs              0       0         0    - /sys
proc           proc               0       0         0    - /proc
devtmpfs       devtmpfs      877748       0    877748   0% /dev
securityfs     securityfs         0       0         0    - /sys/kernel/security
tmpfs          tmpfs         888200       0    888200   0% /dev/shm
devpts         devpts             0       0         0    - /dev/pts
tmpfs          tmpfs         888200     432    887768   1% /run
tmpfs          tmpfs         888200       0    888200   0% /sys/fs/cgroup
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/systemd
pstore         pstore             0       0         0    - /sys/fs/pstore
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/memory
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/cpu,cpuacct
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/net_cls,net_prio
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/devices
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/blkio
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/freezer
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/cpuset
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/perf_event
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/pids
cgroup         cgroup             0       0         0    - /sys/fs/cgroup/hugetlb
configfs       configfs           0       0         0    - /sys/kernel/config
/dev/vda1      ext4        61791304 2029228  57019688   4% /
hugetlbfs      hugetlbfs          0       0         0    - /dev/hugepages
mqueue         mqueue             0       0         0    - /dev/mqueue
debugfs        debugfs            0       0         0    - /sys/kernel/debug
systemd-1      autofs             0       0         0    - /proc/sys/fs/binfmt_misc
tmpfs          tmpfs         177644       0    177644   0% /run/user/0

/etc 底下的可用的磁盘容量以易读的容量格式显示。

[root@sail ~]# df -h /etc
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        59G  2.0G   55G   4% /

使用的空间

du

也是查看使用空间的,但是与 df 命令不同的是对文件和目录磁盘使用的空间的查看,还是和 df 命令有一些区别的。

语法:

du [-ahskm] 文件或目录名称

参数:

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

只列出当前目录下的所有文件夹容量(包括隐藏文件夹)。

直接输入 du 没有加任何选项时,则 du 会分析当前所在目录的文件与目录所占用的硬盘空间。

[root@sail ~]# du
8	./.pip
12	./.cache/pip/wheels/06/6d/c4/d1fba0de1630fc6d1f48b698ac9e2ec3aac470569e492f8492
16	./.cache/pip/wheels/06/6d/c4
20	./.cache/pip/wheels/06/6d
24	./.cache/pip/wheels/06
192	./.cache/pip/wheels/30/92/1b/72d4f934de9bb23f32ec92236df2256da67ba4de3483c634c7
196	./.cache/pip/wheels/30/92/1b
200	./.cache/pip/wheels/30/92
204	./.cache/pip/wheels/30
52	./.cache/pip/wheels/6d/a6/31/fbfd8613ea1839768e2e78f6ce34420730176733e084176c15
56	./.cache/pip/wheels/6d/a6/31
60	./.cache/pip/wheels/6d/a6
64	./.cache/pip/wheels/6d
20	./.cache/pip/wheels/ff/b5/f9/5329ae8063250ec6b2f2456b3c32a9eabc13a4d850d0a39f0d
24	./.cache/pip/wheels/ff/b5/f9
28	./.cache/pip/wheels/ff/b5
32	./.cache/pip/wheels/ff
328	./.cache/pip/wheels
336	./.cache/pip
340	./.cache
4	./.ssh
388	.

前面的数字代表当前目录下占用的总量。


将文件的容量也列出来。

[root@sail ~]# du -a
4	./.viminfo
4	./.pydistutils.cfg
4	./.pip/pip.conf
8	./.pip
4	./.bash_history
4	./.cache/pip/selfcheck.json
8	./.cache/pip/wheels/06/6d/c4/d1fba0de1630fc6d1f48b698ac9e2ec3aac470569e492f8492/oauth-1.0.1-cp27-none-any.whl
12	./.cache/pip/wheels/06/6d/c4/d1fba0de1630fc6d1f48b698ac9e2ec3aac470569e492f8492
16	./.cache/pip/wheels/06/6d/c4
20	./.cache/pip/wheels/06/6d
24	./.cache/pip/wheels/06
188	./.cache/pip/wheels/30/92/1b/72d4f934de9bb23f32ec92236df2256da67ba4de3483c634c7/Cheetah-2.4.4-cp27-cp27mu-linux_x86_64.whl
192	./.cache/pip/wheels/30/92/1b/72d4f934de9bb23f32ec92236df2256da67ba4de3483c634c7
196	./.cache/pip/wheels/30/92/1b
200	./.cache/pip/wheels/30/92
204	./.cache/pip/wheels/30
48	./.cache/pip/wheels/6d/a6/31/fbfd8613ea1839768e2e78f6ce34420730176733e084176c15/PyYAML-5.1.1-cp27-cp27mu-linux_x86_64.whl
52	./.cache/pip/wheels/6d/a6/31/fbfd8613ea1839768e2e78f6ce34420730176733e084176c15
56	./.cache/pip/wheels/6d/a6/31
60	./.cache/pip/wheels/6d/a6
64	./.cache/pip/wheels/6d
16	./.cache/pip/wheels/ff/b5/f9/5329ae8063250ec6b2f2456b3c32a9eabc13a4d850d0a39f0d/prettytable-0.7.2-cp27-none-any.whl
20	./.cache/pip/wheels/ff/b5/f9/5329ae8063250ec6b2f2456b3c32a9eabc13a4d850d0a39f0d
24	./.cache/pip/wheels/ff/b5/f9
28	./.cache/pip/wheels/ff/b5
32	./.cache/pip/wheels/ff
328	./.cache/pip/wheels
336	./.cache/pip
340	./.cache
4	./.bash_profile
4	./.bash_logout
4	./.tcshrc
0	./.ssh/authorized_keys
4	./.ssh
4	./.bashrc
4	./.cshrc
388	.

检查根目录底下每个目录所占用的容量。

[root@sail ~]# du -sm /*
0	/bin
132	/boot
0	/dev
34	/etc
1	/home
0	/lib
0	/lib64
1	/lost+found
1	/media
1	/mnt
1	/opt
du: cannot access ‘/proc/5267/task/5267/fd/4’: No such file or directory
du: cannot access ‘/proc/5267/task/5267/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/5267/fd/4’: No such file or directory
du: cannot access ‘/proc/5267/fdinfo/4’: No such file or directory
0	/proc
1	/root
1	/run
0	/sbin
1	/srv
0	/sys
1	/tmp
1588	/usr
178	/var

通配符 ***** 来代表每个目录。

系统初期一般最大的为 /usr

df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。

挂载与卸载

根文件系统之外的其他文件要想能够被访问,都必须通过关联至根文件系统上的某个目录来实现。

此关联操作即为挂载,此目录即为挂载点

解除此关联关系的过程称之为卸载

挂载

mount

磁盘挂载使用 mount 命令。

语法:

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点

/dev/hdc6 挂载到 /mnt/hdc6 上面。

[root@sail ~]# mkdir /mnt/hdc6
[root@sail ~]# mount /dev/hdc6 /mnt/hdc6
[root@sail ~]# df
Filesystem           1K-blocks     Used Available Use% Mounted on
/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

卸载

umount

磁盘卸载使用 umount 命令。

语法:

umount [-fn] 装置文件名或挂载点

参数:

  • -f:强制卸除。可用在类似网络文件系统 (NFS) 无法读取到的情况下。
  • -n:不升级 /etc/mtab 情况下卸除。

卸载 /dev/hdc6

[root@sail ~]# umount /dev/hdc6

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/277221.html

(0)
上一篇 2022年7月27日
下一篇 2022年7月27日

相关推荐

发表回复

登录后才能评论