【Linux】linux磁盘管理

     在服务器管理中,我们会关心硬盘用了多少,还有多少剩余空间,哪些文件占用空间最大等等。以便我们在合适的时机为服务器添加硬盘分区以及管理磁盘文件等操作,让磁盘的利用率最大化,现在我们看下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  39134548 30275320  8859228   78% /
devtmpfs                   923152        0   923152    0% /dev
tmpfs                      933636       80   933556    1% /dev/shm
tmpfs                      933636    99404   834232   11% /run
tmpfs                      933636        0   933636    0% /sys/fs/cgroup
/dev/sda1                  508588   177692   330896   35% /boot
/dev/mapper/centos-home  19105792    33060 19072732    1% /home
.host:/                 139203104 39331288 99871816   29% /mnt/hgfs
tmpfs                      186728       12   186716    1% /run/user/42
tmpfs                      186728        0   186728    0% /run/user/0

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

[root@localhost tmp]# df -a
文件系统                    1K-块     已用     可用 已用% 挂载点
rootfs                   39134548 30275300  8859248   78% /
sysfs                           0        0        0     - /sys
proc                            0        0        0     - /proc
devtmpfs                   923152        0   923152    0% /dev
securityfs                      0        0        0     - /sys/kernel/security
tmpfs                      933636       80   933556    1% /dev/shm
devpts                          0        0        0     - /dev/pts
tmpfs                      933636    99404   834232   11% /run
tmpfs                      933636        0   933636    0% /sys/fs/cgroup
cgroup                          0        0        0     - /sys/fs/cgroup/systemd
pstore                          0        0        0     - /sys/fs/pstore
cgroup                          0        0        0     - /sys/fs/cgroup/blkio
cgroup                          0        0        0     - /sys/fs/cgroup/devices
cgroup                          0        0        0     - /sys/fs/cgroup/cpuset
cgroup                          0        0        0     - /sys/fs/cgroup/perf_event
cgroup                          0        0        0     - /sys/fs/cgroup/memory
cgroup                          0        0        0     - /sys/fs/cgroup/cpu,cpuacct
cgroup                          0        0        0     - /sys/fs/cgroup/pids
cgroup                          0        0        0     - /sys/fs/cgroup/freezer
cgroup                          0        0        0     - /sys/fs/cgroup/net_cls,net_prio
cgroup                          0        0        0     - /sys/fs/cgroup/hugetlb
configfs                        0        0        0     - /sys/kernel/config
/dev/mapper/centos-root  39134548 30275300  8859248   78% /
systemd-1                       0        0        0     - /proc/sys/fs/binfmt_misc
mqueue                          0        0        0     - /dev/mqueue
hugetlbfs                       0        0        0     - /dev/hugepages
debugfs                         0        0        0     - /sys/kernel/debug
/dev/sda1                  508588   177692   330896   35% /boot
/dev/mapper/centos-home  19105792    33060 19072732    1% /home
.host:/                 139203104 39331288 99871816   29% /mnt/hgfs
tmpfs                      186728       12   186716    1% /run/user/42
tmpfs                      186728        0   186728    0% /run/user/0
binfmt_misc                     0        0        0     - /proc/sys/fs/binfmt_misc

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

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

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

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

 

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

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

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

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

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

root@localhost tmp]# du -s vmware-tools-distrib
2052    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
4.0K    console.js
4.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, 214748364800 bytes
16 heads, 63 sectors/track, 416101 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002162a

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3         409      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2             409       41044    20480000   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/vda3           41044       57688     8388608   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/vda4           57688      416101   180640472    5  Extended
/dev/vda5           57688      416101   180640440+  83  Linux

 

 

 

 linux磁盘分区特点:

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

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

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

   

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

[root@localhost ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      51475068 3688412  45165216   8% /
tmpfs                   510024       0    510024   0% /dev/shm
/dev/sda1               487652   52845    409207  12% /boot
/dev/mapper/VolGroup-lv_home
                      26260552  328676  24591256   2% /home
vagrant              290456572 3890692 286565880   2% /vagrant
alidata_www          290456572 3890692 286565880   2% /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" 

 

posted @ 2018-04-30 19:17  songguojun  阅读(368)  评论(0编辑  收藏  举报