java技術研究

          統計

          留言簿(3)

          閱讀排行榜

          評論排行榜

          Linux下查看文件和文件夾大小(轉)

          當磁盤大小超過標準時會有報警提示,這時如果掌握df和du命令是非常明智的選擇。

              df可以查看一級文件夾大小、使用比例、檔案系統及其掛入點,但對文件卻無能為力。
              du可以查看文件及文件夾的大小。

              兩者配合使用,非常有效。比如用df查看哪個一級目錄過大,然后用df查看文件夾或文件的大小,如此便可迅速確定癥結。

              下面分別簡要介紹

              df命令可以顯示目前所有文件系統的可用空間及使用情形,請看下列這個例子:

           

          以下是代碼片段:

          [yayug@yayu ~]$ df -h
          Filesystem            Size  Used Avail Use% Mounted on
          /dev/sda1             3.9G  300M  3.4G   8% /
          /dev/sda7             100G  188M   95G   1% /data0
          /dev/sdb1             133G   80G   47G  64% /data1
          /dev/sda6             7.8G  218M  7.2G   3% /var
          /dev/sda5             7.8G  166M  7.2G   3% /tmp
          /dev/sda3             9.7G  2.5G  6.8G  27% /usr
          tmpfs                 2.0G     0  2.0G   0% /dev/shm

           

              參數 -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。

           

          以下是代碼片段:

          [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

          posted on 2013-08-21 09:55 小秦 閱讀(372) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 册亨县| 临高县| 吉木乃县| 房产| 蕲春县| 阿克| 邢台市| 伽师县| 泗水县| 阜宁县| 平武县| 景泰县| 香河县| 吉首市| 乐亭县| 抚远县| 鄂伦春自治旗| 罗城| 陈巴尔虎旗| 彭山县| 大邑县| 灵山县| 上思县| 甘孜县| 滕州市| 泰来县| 镇宁| 阳信县| 扬中市| 泸定县| 唐山市| 略阳县| 清丰县| 连城县| 梓潼县| 屏东市| 繁昌县| 武穴市| 永平县| 澎湖县| 扎兰屯市|