简介
Linux 磁盘管理好坏直接关系到整个系统的性能问题。
Linux 磁盘管理常用命令为 df
、du
。
df
:列出文件系统的整体磁盘使用量du
:检查磁盘空间使用量
查看磁盘占用
df
检查文件系统的磁盘空间占用情况。
可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法
df [-ahikHTm] [目录或文件名]
参数
-a
:列出所有的文件系统,包括系统特有的/proc
等文件系统。-k
:以 KBytes 的容量显示各文件系统。-m
:以 MBytes 的容量显示各文件系统。-h
:以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示。-H
:以 M=1000K 取代 M=1024K 的进位方式。-T
:显示文件系统类型,连同该 partition 的 filesystem 名称 (例如 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