zoukankan      html  css  js  c++  java
  • Linux下查看文件和文件夹大小

    当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。

        df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
        du可以查看文件及文件夹的大小。

        两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。

        下面分别简要介绍

        df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:

    View Code
    [oracle@arcerzhang DATACENTER]$ df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_arcerzhang-lv_root
                           50G   26G   21G  56% /
    tmpfs                 3.8G  1.9G  2.0G  49% /dev/shm
    /dev/sda1             485M  116M  344M  26% /boot
    /dev/mapper/vg_arcerzhang-lv_home
                          1.8T  937G  748G  56% /home

     参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。

        上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。

        接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。

        du:查询文件或文件夹的磁盘使用空间

        如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.

        提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。

    View Code
    [oracle@arcerzhang DATACENTER]$ du -h --max-depth=1 archivelog/*
    4.0K    archivelog/2011_06_15
    4.0K    archivelog/2011_06_16
    4.0K    archivelog/2011_06_17
    4.0K    archivelog/2011_06_18
    4.0K    archivelog/2011_06_19
    4.0K    archivelog/2011_06_21
    4.0K    archivelog/2011_06_22
    4.0K    archivelog/2011_06_23
    4.0K    archivelog/2011_06_24
    101M    archivelog/2011_06_25
    96M     archivelog/2011_06_26
    74M     archivelog/2011_06_27
    73M     archivelog/2011_06_28
    71M     archivelog/2011_06_29
    80M     archivelog/2011_06_30
    76M     archivelog/2011_07_01
    91M     archivelog/2011_07_02
    94M     archivelog/2011_07_03
    98M     archivelog/2011_07_04
    76M     archivelog/2011_07_05
    93M     archivelog/2011_07_06
    103M    archivelog/2011_07_07
    77M     archivelog/2011_07_08
    105M    archivelog/2011_07_09
    95M     archivelog/2011_07_10
    76M     archivelog/2011_07_11
    96M     archivelog/2011_07_12
    77M     archivelog/2011_07_13
    62M     archivelog/2011_07_14
    71M     archivelog/2011_07_15
    102M    archivelog/2011_07_16
    103M    archivelog/2011_07_17
    104M    archivelog/2011_07_18
    102M    archivelog/2011_07_19
    102M    archivelog/2011_07_20
    77M     archivelog/2011_07_21
    101M    archivelog/2011_07_22
    102M    archivelog/2011_07_23
    92M     archivelog/2011_07_24
    30M     archivelog/2011_07_25
    153M    archivelog/2011_07_26
    145M    archivelog/2011_07_27
    133M    archivelog/2011_07_28
    参考
    [root@bsso yayu]# du -h --max-depth=1 work/testing
    27M     work/testing/logs
    35M     work/testing
    
    [root@bsso yayu]# du -h --max-depth=1 work/testing/*
    8.0K    work/testing/func.php
    27M     work/testing/logs
    8.1M    work/testing/nohup.out
    8.0K    work/testing/testing_c.php
    12K     work/testing/testing_func_reg.php
    8.0K    work/testing/testing_get.php
    8.0K    work/testing/testing_g.php
    8.0K    work/testing/var.php
    
    [root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
    27M     work/testing/logs/
    
    [root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
    24K     work/testing/logs/errdate.log_show.log
    8.0K    work/testing/logs/pertime_show.log
    27M     work/testing/logs/show.log

     值得注意的是,看见一个针对du和df命令异同的文章:《du df 差异导致文件系统误报解决》。

        du 统计文件大小相加 
        df  统计数据块使用情况

        如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。

        如此一来在定期删除 /var/spool/clientmqueue下面的文件时,如果没有杀掉其进程,那么空间一直没有释放。

        使用下面的命令杀掉进程之后,系统恢复。
        fuser -u /var/spool/clientmqueue

    http://www.yayu.org/look.php?id=162

     


     

     

    查看linux文件目录的大小和文件夹包含的文件数

        统计总数大小

        du -sh xmldb/

        du -sm * | sort -n //统计当前目录大小 并安大小 排序

        du -sk * | sort -n

        du -sk * | grep guojf //看一个人的大小

        du -m | cut -d "/" -f 2 //看第二个/ 字符前的文字

        查看此文件夹有多少文件 /*/*/* 有多少文件

        du xmldb/

        du xmldb/*/*/* |wc -l

        40752

        解释:

        wc [-lmw]

        参数说明:

        -l :多少行

        -m:多少字符

        -w:多少字

     

    http://linux.chinaitlab.com/command/734706.html


     

    Linux:ls以K、M、G为单位查看文件大小

    #man ls

    ……

    -h, --human-readable

                    print sizes in human readable format (e.g., 1K 234M 2G)

    ……

    # ls

    cuss.war    nohup.out

    # ls -l

    total 30372

    -rw-r--r--    1 root root 31051909 May 24 10:07 cuss.war

    -rw-------    1 root root          0 Mar 20 13:52 nohup.out

    # ls -lh

    total 30M

    -rw-r--r--    1 root root 30M May 24 10:07 cuss.war

    -rw-------    1 root root     0 Mar 20 13:52 nohup.out

    # ll -h

    total 30M

    -rw-r--r--    1 root root 30M May 24 10:07 cuss.war

    -rw-------    1 root root     0 Mar 20 13:52 nohup.out

     

    远程拷贝命令

    scp -P 22 -r /usr/src/recbackup/rec2012-1* 192.168.90.175:/datacenter/ 

     

     

     

     

  • 相关阅读:
    Docker Swarm
    服务器虚拟化
    kubernets的工作流程
    配置docker阿里云加速器
    kubeadm 安装kubernetes集群。
    linux的10个最危险的命令
    18个网络带宽常用命令
    column命令
    dd命令
    scp命令
  • 原文地址:https://www.cnblogs.com/arcer/p/3037085.html
Copyright © 2011-2022 走看看