在服务器管理中,我们会关心硬盘用了多少,还有多少剩余空间,哪些文件占用空间最大等等。以便我们在合适的时机为服务器添加硬盘分区以及管理磁盘文件等操作,让磁盘的利用率最大化,现在我们看下linux系统中和磁盘相关的操作命令。

Linux磁盘管理常用三个命令为df、du和fdisk。

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

df:查看磁盘分区的使用状况。

主要参数

  • l :仅显示本地磁盘(默认参数)。
  • a :显示所有文件系统的磁盘使用情况,包括0字节分区比如/proc/ 。
  • h :以1024进制计算最合适的单位显示磁盘容量 。
  • H :以1000进制计算最合适的单位显示磁盘容量。
  • T :显示磁盘分区类型。
  • t :显示指定类型文件系统的磁盘分区。
  • X :不显示指定类型文件系统的磁盘分区,和上面参数t互逆。

- 先看下df命令什么参数都不加默认显示的效果。

[root@localhost tmp]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root % /
devtmpfs % /dev
tmpfs % /dev/shm
tmpfs % /run
tmpfs % /sys/fs/cgroup
/dev/sda1 % /boot
/dev/mapper/centos-home % /home
.host:/ % /mnt/hgfs
tmpfs % /run/user/
tmpfs % /run/user/

加上参数a可以查看到更完整的磁盘信息,包括0字节分区

[root@localhost tmp]# df -a
文件系统 1K-块 已用 可用 已用% 挂载点
rootfs % /
sysfs - /sys
proc - /proc
devtmpfs % /dev
securityfs - /sys/kernel/security
tmpfs % /dev/shm
devpts - /dev/pts
tmpfs % /run
tmpfs % /sys/fs/cgroup
cgroup - /sys/fs/cgroup/systemd
pstore - /sys/fs/pstore
cgroup - /sys/fs/cgroup/blkio
cgroup - /sys/fs/cgroup/devices
cgroup - /sys/fs/cgroup/cpuset
cgroup - /sys/fs/cgroup/perf_event
cgroup - /sys/fs/cgroup/memory
cgroup - /sys/fs/cgroup/cpu,cpuacct
cgroup - /sys/fs/cgroup/pids
cgroup - /sys/fs/cgroup/freezer
cgroup - /sys/fs/cgroup/net_cls,net_prio
cgroup - /sys/fs/cgroup/hugetlb
configfs - /sys/kernel/config
/dev/mapper/centos-root % /
systemd- - /proc/sys/fs/binfmt_misc
mqueue - /dev/mqueue
hugetlbfs - /dev/hugepages
debugfs - /sys/kernel/debug
/dev/sda1 % /boot
/dev/mapper/centos-home % /home
.host:/ % /mnt/hgfs
tmpfs % /run/user/
tmpfs % /run/user/
binfmt_misc - /proc/sys/fs/binfmt_misc

上面显示分区大小不够直观,可以使用h参数

[root@localhost tmp]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 38G 29G .5G % /
devtmpfs 902M 902M % /dev
tmpfs 912M 80K 912M % /dev/shm
tmpfs 912M 98M 815M % /run
tmpfs 912M 912M % /sys/fs/cgroup
/dev/sda1 497M 174M 324M % /boot
/dev/mapper/centos-home 19G 33M 19G % /home
.host:/ 133G 38G 96G % /mnt/hgfs
tmpfs 183M 12K 183M % /run/user/
tmpfs 183M 183M % /run/user/

如果想看各个分区的文件类型使用T参数,下面就多了一列。

[root@localhost tmp]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 38G 29G .5G % /
devtmpfs devtmpfs 902M 902M % /dev
tmpfs tmpfs 912M 80K 912M % /dev/shm
tmpfs tmpfs 912M 98M 815M % /run
tmpfs tmpfs 912M 912M % /sys/fs/cgroup
/dev/sda1 xfs 497M 174M 324M % /boot
/dev/mapper/centos-home xfs 19G 33M 19G % /home
.host:/ vmhgfs 133G 38G 96G % /mnt/hgfs
tmpfs tmpfs 183M 12K 183M % /run/user/
tmpfs tmpfs 183M 183M % /run/user/

du:统计磁盘文件大小。
       主要参数

  • b: 以byte为单位统计文件。
  • k :以KB为单位统计文件.
  • m: 以MB为单位统计文件.
  • h :按照1024进制以最适合的单位统计文件。
  • H: 按照1000进制以最适合的单位统计文件。
  • s :指定统计目标

du不加参数会把当前目录下文件遍历一遍,列出目录中所有文件的大小。

[root@localhost tmp]# du
./.X11-unix
./.ICE-unix
./.XIM-unix
./.font-unix
./.Test-unix
./systemd-private-121552bb5e694455a1422768087037e1-rtkit-daemon.service-hgj6sf/tmp
./systemd-private-121552bb5e694455a1422768087037e1-rtkit-daemon.service-hgj6sf
./systemd-private-121552bb5e694455a1422768087037e1-colord.service-tycXc0/tmp

统计某个目录或者文件大小加上s参数后面跟上目录或者文件名。

root@localhost tmp]# du -s vmware-tools-distrib
vmware-tools-distrib

也可以用对人友好的方式显示大小

[root@localhost tmp]# du -skh vmware-tools-distrib
2.1M vmware-tools-distrib

查看某个后缀的文件大小

[root@localhost lib]# du -sh *.js
12K assert.js
28K buffer.js
28K child_process.js
20K cluster.js
.0K console.js
.0K constants.js
20K crypto.js
40K _debugger.js
12K dgram.js

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

[root@172.16.0.55:/opt/case/frame/vendor → test]$ du -smh ./*
4.0K ./autoload.php
48K ./composer
64K ./jichupingtai

fdisk:linux磁盘分区表操作工具

  列出所有分区信息

[root@172.16.0.55:/opt/case/frame → test]$ fdisk -l

Disk /dev/vda: 214.7 GB,  bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0002162a Device Boot Start End Blocks Id System
/dev/vda1 * Linux
Partition does not end on cylinder boundary.
/dev/vda2 Linux
Partition does not end on cylinder boundary.
/dev/vda3 Linux swap / Solaris
Partition does not end on cylinder boundary.
/dev/vda4 Extended
/dev/vda5 + Linux

linux磁盘分区特点:

主分区和扩展分区总数不能超过4个。

扩展分区最多只能有一个。

扩展分区不能直接存储数据。

blkid命令对查询设备上所采用文件系统类型进行查询

[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
% /
tmpfs % /dev/shm
/dev/sda1 % /boot
/dev/mapper/VolGroup-lv_home
% /home
vagrant % /vagrant
alidata_www % /alidata/www
[root@localhost ~]# blkid /dev/sda1
/dev/sda1: UUID="0daf08fb-9df2-4124-a037-eaf1de267ff0" TYPE="ext4"
[root@172.16.0.55:/opt/case/frame → test]$ blkid
/dev/vda2: UUID="fd42d4a2-aaa9-4a82-ac78-2788c9d98a86" TYPE="ext4"
/dev/vda1: UUID="018586ca-97b7-442b-9e13-0d5980648462" TYPE="ext4"
/dev/vda3: UUID="7d2b22c9-608c-4e62-93a9-a815e8c6b886" TYPE="swap"
/dev/vda5: UUID="787a790a-1650-4278-bb83-9c27ae51605a" TYPE="ext4"

显示指定设备 UUID

[root@172.16.0.55:/opt/case/frame → test]$ blkid -s UUID /dev/vda2
/dev/vda2: UUID="fd42d4a2-aaa9-4a82-ac78-27d5c9d98a86"

显示所有设备 UUID

[root@172.16.0.55:/opt/case/frame → test]$ blkid -s UUID
/dev/vda2: UUID="fd42d4a2-aaa9-4a82-ac78-27d5c9d98a86"
/dev/vda1: UUID="018586ca-97b7-442b-9e13-0d5960648462"
/dev/vda3: UUID="7d2b22c9-608c-4e62-93a9-a815e4c6b886"
/dev/vda5: UUID="787a790a-1650-4278-bbf3-9c27ae51605a"

显示所有设备

[root@172.16.0.55:/opt/case/frame → test]$ blkid -o device
/dev/vda2
/dev/vda1
/dev/vda3
/dev/vda5

显示所有设备文件系统

[root@172.16.0.55:/opt/case/frame → test]$ blkid -s TYPE
/dev/vda2: TYPE="ext4"
/dev/vda1: TYPE="ext4"
/dev/vda3: TYPE="swap"
/dev/vda5: TYPE="ext4"

【Linux】linux磁盘管理的更多相关文章

  1. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  2. Linux命令——磁盘管理

    Linux命令--磁盘管理 命令df 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等 参数:-i,查看inodes的使用状况 参数:-h,使用合适的单位显示(推荐) 命令du 作用:查看某个目录或 ...

  3. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  4. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

  5. Linux RAID 磁盘管理

    Linux RAID 磁盘管理 RAID工作模式介绍:https://www.cnblogs.com/xiangsikai/p/8441440.html 本章主要讲解 Linux下 RAID5 与 R ...

  6. Linux命令-磁盘管理(二)

    Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...

  7. Linux命令-磁盘管理(一)

    Linux命令-磁盘管理(一) Linux cd命令 Linux cd命令用于切换当前工作目录至 dirName(目录参数). 其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变 ...

  8. linux 系统磁盘管理体系

    目录 linux 系统磁盘管理体系 一.磁盘的基本概念 二.磁盘的内部结构 三.磁盘的外部结构 四.磁盘的接口及类型 五.fdisk磁盘分区实践 六.gdisk 分区 七.parted 高级分区工具. ...

  9. linux 系统磁盘管理(主分区和逻辑分区)

    摘要:linux系统磁盘管理主分区和逻辑分区 1.linux系统分区应了解的常识 硬盘分区实质上是对硬盘的一种格式化,然后才能使用硬盘保存各种信息,在创建分区时,就已经设置好了硬盘的各项物理参数,指定 ...

  10. Linux系统磁盘管理

    1 Linux磁盘管理体系简介 Linux磁盘管理分为五个步骤:首先在服务器上添加相应的硬盘(如/dev/sda.sdb.sdc等),对全新的服务器(即没有操作系统)做硬RAID0.RAID1.RAI ...

随机推荐

  1. 单片机ADC检测4-20mA电路,以及计算方法

    单片机ADC检测4-20mA电路,以及计算方法 转载:https://www.hongchangzidonghua.com/?id=24 1,手里有一个4-20mA输出的压力传感器,假设测量范围是0M ...

  2. python format使用方法

    #使用format 方法进行格式化 print("The number {1:} in hex is: {1:#x}, the number {0:} in oct is {0:o}&quo ...

  3. Java中JSON字符串与java对象的互换实例详解(转)

    http://www.jb51.net/article/90914.htm 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要 ...

  4. CentOS7 防火墙设置

    CentOS7 防火墙命令 最近在公司服务器上安装了oracle12c数据库,在用数据库客户端连接的时候,连接不了.最后查找资料的原因是因为oracle的服务端口未开放. 首先还是还是输入以往的开启某 ...

  5. JAVA学习笔记-数组的三种初始化方式

      package Study; public class TestArray02 { public static void main(String[] args){//声明 int[] a; int ...

  6. IIC协议解析

    (1)概述 I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距 ...

  7. poj 2456 Aggressive cows 贪心+二分

    Aggressive cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 25944   Accepted: 11982 ...

  8. Golang的标准命令简述

    Golang的标准命令简述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go本身包含了大量用于处理Go程序的命令和工具.go命令就是其中最常见的一个,它有许多子命令,接下来就跟随 ...

  9. 【测试】性能测试及性能测试工具Loadrunner

    性能测试简介 软件系统的性能包括很多方面,有执行效率,资源占用,系统稳定性,安全性,兼容性,可靠性,可扩展性等.这些都是可以衡量一个软件系统性能好坏的指标.而性能测试是指通过自动化测试工具去模拟多种正 ...

  10. NOIP2016天天爱跑步解题思路

    算法:LCA,树上差分+(乱搞) 如果有写错的地方请大佬更正 对于100%数据: u表示起点,v表示终点 对于一条u到v的路径,先讨论LCA!=u&&LCA!=v的情况: 分为u到LC ...