빅

디렉토리의 사이즈 출력해주는 쉘

· 2012-05-11 (금) 10:16:44 · 2488

잘되는 소스네요.

도움이 되시길...

 

#!/bin/sh
# =====================================
# Version  2.0   SPACE
# Sort By Size
# =====================================
clear;
echo "";
echo "";
echo "";
df -k ;
APW=`pwd`

#for Sun Server
#du -ok . 2>/dev/null | nawk -F/ -v pas=$APW '
#for Linux Server
du -Sk . 2>/dev/null | awk -F/ -v pas=$APW '
    BEGIN {
                    print  "\t\t\t---------------------------";
                    print  "\t\t\t DIsk Usae of current Dir";
                    print  "\t\t\t--------------------------";
                    printf "\t\t\t [%s] \n\n", pas;

                    printf"\t\t----------------------------------------------------\n"
                    printf"\t\t%-20s : %10s   : %10s \n","DIRNAME", "SIZE (MB)","Subdir cnt";
                    printf"\t\t----------------------------------------------------\n"
               tots=0;
               tcnt=0;
               i=0;
           }
           {
                pos=index($1, ".");
                size=substr($1,1, pos-1);

                tcnt++;
                tots+=size;

                if ( NR ==1 )
                {
                    dirs=$2;
                    dsize=0;
                    dcnt=0;
                }

                if ( dirs == $2 )
                {
                    dsize+=size;
                    dcnt++;
                }
                else
                {
                  # printf"\t\t%-20s : %10.2fMB : %10d \n",dirs, dsize/1024, dcnt;
                    DIR[i]= dirs;
                    Dsize[i]=dsize/1024;
                    Dcnt[i]=dcnt;

                    dirs=$2;
                    dsize=size;
                    dcnt=1;
                    i = i + 1;
                }

            }
        END {
                    DIR[i]  = "./";
                    Dsize[i]=dsize/1024;
                    Dcnt[i]=dcnt;

                    # SORT SECTION
                    for ( j=0; j<i ; j++ )
                    {
                        for ( k=j+1; k<=i ; k++ )
                        {
                           if ( Dsize[j] > Dsize [k]){
                               tmp1=DIR[j];
                               tmp2=Dsize[j];
                               tmp3=Dcnt[j];

                               DIR[j]=DIR[k];
                               Dsize[j]=Dsize[k];
                               Dcnt[j]=Dcnt[k];

                               DIR[k]=tmp1;
                               Dsize[k]=tmp2;
                               Dcnt[k]=tmp3;
                           }
                        }
                    }

                    # PRINT SECTION
                    for ( j=0; j<=i ; j++ )
                    {
                        printf"\t\t%-20s : %10.2fMB : %10d \n",DIR[j], Dsize[j], Dcnt[j];
                    }
                    printf"\t\t----------------------------------------------------\n"
                    printf"\t\t%-20s : %10.2fMB : %10d \n","TOTALSIZE", tots/1024, tcnt;
                    printf"\t\t----------------------------------------------------\n"
                    printf"\t\t      --  Copy Right @ Choi Doo Rip  2001 01 09  --  \n"

            }'

 

 

출처: http://blog.naver.com/couplewith?Redirect=Log&logNo=60006771096

 

테스트 결과:

 

파일시스템           1K-블럭 사용됨 사용가능 사용% 마운트 됨
/dev/sda1            234529248  30103840 192512008  14% /
udev                   1011560       260   1011300   1% /dev
none                   1011560       708   1010852   1% /dev/shm
none                   1011560       164   1011396   1% /var/run
none                   1011560         0   1011560   0% /var/lock
none                   1011560         0   1011560   0% /lib/init/rw
                        ---------------------------
                         DIsk Usae of current Dir
                        --------------------------
                         [/home] 

                ----------------------------------------------------
                DIRNAME              :  SIZE (MB)   : Subdir cnt 
                ----------------------------------------------------
                ./                   :       0.00MB :          1 
                byoungguk            :    8614.42MB :        863 
                ----------------------------------------------------
                TOTALSIZE            :    8614.42MB :        864 
                ----------------------------------------------------
                      --  Copy Right @ Choi Doo Rip  2001 01 09  --  

|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
13-07-14 조회 5,406
13-07-14 조회 5,382
13-07-14 조회 4,661
13-07-14 조회 4,263
13-07-14 조회 4,128
13-07-14 조회 4,186
13-07-14 조회 4,906
13-07-14 조회 4,549
13-07-14 조회 4,332
13-07-14 조회 5,378
13-07-14 조회 5,260
13-07-14 조회 5,044
13-07-14 조회 4,750
13-07-14 조회 5,435
13-07-13 조회 3,592
13-07-01 조회 5,685
13-07-01 조회 5,765
13-07-01 조회 3,855
13-07-01 조회 5,294
13-05-27 조회 3,961
13-05-21 조회 4,939
13-05-02 조회 1만
13-04-29 조회 5,190
13-04-15 조회 5,454
13-04-13 조회 6,392
13-02-27 조회 3,857
13-02-26 조회 6,440
13-02-12 조회 5,114
13-02-01 조회 2.3만
13-01-23 조회 3,477
13-01-09 조회 7,998
13-01-07 조회 4,928
13-01-07 조회 3,674
13-01-04 조회 1.3만
13-01-03 조회 1.2만
12-12-31 조회 6,218
12-12-27 조회 4,432
12-12-27 조회 4,099
12-12-27 조회 8,787
12-12-18 조회 3,613
12-12-12 조회 3,674
12-12-12 조회 6,710
12-12-12 조회 8,131
12-12-05 조회 5,340
12-12-01 조회 6,673
12-11-22 조회 4,594
12-11-09 조회 5,435
12-11-09 조회 7,516
12-10-29 조회 4,758
12-10-16 조회 6,316
12-10-09 조회 5,363
12-09-02 조회 4,454
12-09-01 조회 3,571
12-08-30 조회 4,211
12-08-30 조회 4,213
12-08-28 조회 3,536
12-08-21 조회 7,154
12-08-20 조회 3,669
12-08-18 조회 5,070
12-08-18 조회 3,446
12-08-11 조회 3,623
12-08-09 조회 3,767
12-08-07 조회 3,672
12-08-07 조회 4,249
12-08-01 조회 4,554
12-08-01 조회 4,432
12-07-20 조회 9,826
12-07-17 조회 4,204
12-07-15 조회 3,927
12-07-10 조회 4,223
12-07-09 조회 6,929
12-07-05 조회 3,263
12-07-04 조회 3,421
12-06-30 조회 5,686
12-06-28 조회 3,760
12-06-20 조회 3,897
12-06-16 조회 3,210
12-06-14 조회 3,856
12-06-07 조회 3,908
12-06-06 조회 6,206
12-05-27 조회 4,478
12-05-25 조회 3,225
12-05-25 조회 3,052
12-05-24 조회 3,139
12-05-24 조회 4,522
12-05-23 조회 3,883
12-05-22 조회 6,497
12-05-15 조회 3,850
12-05-15 조회 3,624
12-05-14 조회 3,048
12-05-12 조회 3,515
12-05-11 조회 7,013
12-05-07 조회 4,418
12-04-28 조회 3,624
12-04-25 조회 5,251
12-04-15 조회 3,852
12-04-12 조회 4,685
12-04-11 조회 3,433
12-04-08 조회 3,304
12-03-21 조회 6,359