zoukankan      html  css  js  c++  java
  • 【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" 
  • 相关阅读:
    CISP/CISA 每日一题 七
    CISP/CISA 每日一题 六
    CISP/CISA 每日一题 五
    C++编码优化之减少冗余拷贝或赋值
    CISP/CISA 每日一题 四
    CISP/CISA 每日一题 三
    CISP/CISA 每日一题 二
    CISP/CISA 每日一题
    C#与C++ DLL的交互
    数据同步工具otter(二)
  • 原文地址:https://www.cnblogs.com/songgj/p/8974363.html
Copyright © 2011-2022 走看看