存储管理
一、内存使用量,free
free 命令是一个用于显示系统中物理内存(RAM)和交换空间(swap)使用情况的工具
free -m
free -h
free
free -m -s 5
参数
-b
功能: 以字节(bytes)为单位显示内存使用情况。
说明: 这个选项适用于需要精确到字节的情况。
-k
功能: 以千字节(kilobytes,KB)为单位显示内存使用情况。
说明: 这是 free 命令的默认单位,适用于大多数情况。
-m
功能: 以兆字节(megabytes,MB)为单位显示内存使用情况。
说明: 适用于需要以更大的单位显示内存使用情况的情况。
-g
功能: 以千兆字节(gigabytes,GB)为单位显示内存使用情况。
说明: 适用于内存容量较大的系统,以更简洁的方式显示内存使用情况。
-h
功能: 以人类可读的格式显示内存使用情况,自动选择合适的单位(KB、MB、GB)。
说明: 这个选项会根据内存的实际大小自动选择最合适的单位,使输出更易于阅读。
-l
功能: 显示低内存(low memory)和高内存(high memory)的使用情况。
说明: 主要用于 32 位系统,现代 64 位系统通常不需要这个选项。低内存是指可以直接由内核管理的内存,高内存是指需要通过ZONE_HIGHMEM管理的内存。
-s
功能: 持续显示内存使用情况,每隔指定的时间间隔(秒)显示一次。
说明: 适用于需要实时监控内存使用情况的场景。
-t
功能: 在输出中添加一行总结,显示总内存、已用内存、空闲内存、共享内存、缓冲区和缓存。
说明: 这个选项会在输出的末尾添加一行总结,方便快速查看总体内存使用情况。
-o
功能: 不显示缓冲区和缓存的内存使用情况。
说明: 适用于只需要查看基本内存使用情况,而不关心缓冲区和缓存的情况。
-V
功能: 显示 free 命令的版本信息。
说明: 适用于需要检查 free 命令版本的情况。
image.png
结果解释
物理内存:
总量:3888 MB
已用:1108 MB
空闲:2327 MB
共享:12 MB
缓冲/缓存:685 MB
可用:2779 MB
交换空间:
总量:974 MB
已用:0 MB
空闲:974 MB
二、磁盘使用量,df
df 命令用于显示文件系统的磁盘空间使用情况
df -hT
df
df -mT
df -h
显示文件系统的磁盘使用情况,并以人类可读的格式(自动选择合适的单位 KB、MB、GB)显示,同时显示每个文件系统的类型
参数
参数和free命令类似,没有-b(以字节为单位)参数,多了一些其他参数,比如-T(显示每个系统文件的类型)
-k
功能: 以千字节(1K 字节)为单位显示磁盘使用情况。
说明: 这是默认的单位,但明确指定 -k 可以确保输出单位一致。
-m
功能: 以兆字节(1M 字节)为单位显示磁盘使用情况。
说明: 适用于需要以更大的单位显示磁盘使用情况的情况。
-h
功能: 以人类可读的格式显示磁盘使用情况,自动选择合适的单位(KB、MB、GB)。
说明: 这个选项会根据磁盘的实际大小自动选择最合适的单位,使输出更易于阅读。
-B
功能: 以指定的块大小显示磁盘使用情况。
说明:
-T
功能: 在输出中添加一列,显示每个文件系统的类型(例如 ext4、xfs、btrfs 等)。
说明: 适用于需要查看文件系统类型的场景。
-P
功能: 以 POSIX 格式输出,不显示标题行。
说明: 适用于需要标准格式输出的脚本或自动化任务。
-a
功能: 显示所有文件系统,包括那些通常不显示的 dummy 文件系统。
说明: 适用于需要查看所有文件系统的详细信息的情况。
-x
功能: 排除指定类型的文件系统。
说明: 例如,排除 tmpfs 文件系统。
-t
功能: 只显示指定类型的文件系统。
说明: 例如,只显示 ext4 文件系统。
-l
功能: 只显示本地文件系统。
说明: 适用于需要区分本地和网络文件系统的情况。
-i
功能: 显示 inode 信息而不是块使用情况。
说明: 适用于需要查看文件系统中 inode 使用情况的情况。
-h --si
功能: 以人类可读的格式显示磁盘使用情况,使用 1000 为基数(而不是 1024)。
说明: 适用于需要符合国际单位制的情况。
-x
功能: 结合使用 -x 和 -t 选项,可以同时排除和包含特定类型的文件系统。
说明: 例如,排除 tmpfs 文件系统,只显示 ext4 文件系统。
三、文件或目录大小,du
du 命令用于显示文件和目录的磁盘使用情况。它可以递归地显示目录下每个文件和子目录的大小,也可以显示单个文件的大小。
du ./* -hsc
du ./* -hs
du -sh * ### 建议用这个
参数
-k
功能: 以千字节(1K 字节)为单位显示磁盘使用情况。
说明: 这是默认的单位,但明确指定 -k 可以确保输出单位一致。
-m
功能: 以兆字节(1M 字节)为单位显示磁盘使用情况。
说明: 适用于需要以更大的单位显示磁盘使用情况的情况。
-h
功能: 以人类可读的格式显示磁盘使用情况,自动选择合适的单位(KB、MB、GB)。
说明: 这个选项会根据磁盘的实际大小自动选择最合适的单位,使输出更易于阅读。
-b
功能: 以字节为单位显示磁盘使用情况。
说明: 适用于需要精确到字节的情况。
-s
功能: 显示总和,不显示每个文件和子目录的详细信息。
说明: 适用于只需要知道总磁盘使用情况的情况。
-a
功能: 显示所有文件和目录,包括隐藏文件和目录。
说明: 适用于需要查看所有文件和目录的详细信息的情况。
-d
功能: 限制递归的深度。
说明:
-S
功能: 显示每个目录的大小,不包括子目录的大小。
说明: 适用于需要单独查看每个目录的大小的情况。
-c
功能: 在输出中添加一行总结,显示总磁盘使用情况。
说明: 适用于需要查看总和的情况。
--exclude=
功能: 排除匹配特定模式的文件或目录。
说明:
-x
功能: 仅显示同一文件系统上的文件和目录。
说明: 适用于需要区分不同文件系统的情况。
-l
功能: 计算所有文件,即使它们有多个硬链接。
说明: 适用于需要准确计算所有文件大小的情况,即使有硬链接。
-H
功能: 以 1000 为基数(而不是 1024)显示人类可读的格式。
说明: 适用于需要符合国际单位制的情况。
-L
功能: 跟踪符号链接指向的文件。
说明: 适用于需要计算符号链接指向的文件的实际大小的情况。
-X
功能: 从指定文件中读取排除模式。
说明:
五、挂载分区,mount
mount 命令用于将文件系统(如硬盘分区、USB驱动器、网络文件系统等)挂载到指定的挂载点,使其可以被访问,一般需要root权限
mount 显示挂载信息
sudo mount
sudo mount /dev/sdb1 /mnt/usb
sudo: 以超级用户权限执行 mount 命令。
mount: 将文件系统挂载到指定的挂载点。
/dev/sdb1: 要挂载的设备,通常是硬盘或USB驱动器的分区。
/mnt/usb: 挂载点,即设备将被挂载到的目录。
参数
-t
功能: 指定文件系统的类型。
说明: 用于指定要挂载的文件系统的类型,例如 ext4、ntfs、vfat 等。
-o
功能: 指定挂载选项。
说明: 用于指定挂载时的各种选项,常见的挂载选项包括:
ro: 以只读方式挂载。
rw: 以读写方式挂载。
noexec: 不允许在挂载点上执行文件。
nosuid: 忽略文件的 setuid 和 setgid 位。
nodev: 不允许访问设备文件。
sync: 以同步方式写入数据。
async: 以异步方式写入数据。
uid=
gid=
umask=
fmask=
dmask=
codepage=
iocharset=
shortname=
utf8: 使用 UTF-8 编码(主要用于 FAT 文件系统)。
errors=
-a
功能: 挂载 /etc/fstab 文件中定义的所有文件系统。
说明: 适用于需要一次性挂载所有配置文件中定义的文件系统的情况。
-v
功能: 显示详细信息。
说明: 适用于需要查看挂载过程中的详细信息的情况。
-r
功能: 以只读方式挂载文件系统。
说明: 等同于 -o ro。
-w
功能: 以读写方式挂载文件系统。
说明: 等同于 -o rw。
-L
功能: 按标签挂载文件系统。
说明: 适用于需要按文件系统的标签(label)挂载的情况。
-U
功能: 按 UUID 挂载文件系统。
说明: 适用于需要按文件系统的 UUID 挂载的情况。
-n
功能: 不使用 /etc/mtab 文件记录挂载信息。
说明: 适用于需要临时挂载且不希望记录到 /etc/mtab 的情况。
-R
功能: 递归挂载文件系统。
说明: 适用于需要递归挂载文件系统及其子文件系统的情况。
-i
功能: 不执行任何实际操作,仅显示将要执行的挂载命令。
说&