在服务器管理中,我们会关心硬盘用了多少,还有多少剩余空间,哪些文件占用空间最大等等。以便我们在合适的时机为服务器添加硬盘分区以及管理磁盘文件等操作,让磁盘的利用率最大化,现在我们看下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. 066、Java面向对象之以分步的方式实例化对象

    01.代码如下: package TIANPAN; class Book { // 定义一个新的类 String title; // 书的名字 double price; // 书的价格 public ...

  2. 061、Java中利用return结束方法调用

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  3. Make the PE file consistent when code not changed

    参考:http://www.mouseos.com/assembly/06.html 参考:http://www.cnblogs.com/tk091/archive/2012/04/18/245617 ...

  4. maven详解之 pom.xml 解释

    <project>:pom.xml的根标签,一个maven项目用一对<peoject></project>标签包裹. <modelVersion>4.0 ...

  5. json字符串转java对象,json中字段名称与对象属性名称不一致

    json字符串转java对象,json字段名称与对象属性名称不一致可以在对象属性上添加注解@SerializedName解决

  6. 解决oracle 11g 导出空表的方法

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...

  7. Spark学习入门(让人看了想吐的话题)

    这是个老生常谈的话题,大家是不是看到这个文章标题就快吐了,本来想着手写一些有技术深度的东西,但是看到太多童鞋卡在入门的门槛上,所以还是打算总结一下入门经验.这种标题真的真的在哪里都可以看得到,度娘一搜 ...

  8. C# 关于AD域的操作 (首博)

    前段时间(因为懒得找具体的时间了)公司说让系统可以进行对AD域的操作,包括创建用户.于是上网查资料,了解何为AD域.还不知道的这边请https://www.cnblogs.com/cnjavahome ...

  9. LeetCode1005 K次取反后最大化的数组和(贪心+Java简单排序)

    题目: 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次.(我们可以多次选择同一个索引 i.) 以这种方式修 ...

  10. windowsXP下 使用live555搭建视频服务器,并使用ffplay和VLC播放

    首先在官网下载live555:http://www.live555.com/mediaServer/#downloading当然是现在windows的版本了!!上官网下载FFmpeg:http://f ...