ZT文萃

          本博不原創(chuàng),轉(zhuǎn)帖自己感興趣那些事人物,什么入眼貼什么,隨心所欲。
          posts - 93, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Linux下查看文件和文件夾大小

          Posted on 2014-03-18 17:48 ZT文萃 閱讀(203) 評(píng)論(0)  編輯  收藏 所屬分類: 后臺(tái)

          http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html


          當(dāng)磁盤大小超過標(biāo)準(zhǔn)時(shí)會(huì)有報(bào)警提示,這時(shí)如果掌握df和du命令是非常明智的選擇。

              df可以查看一級(jí)文件夾大小、使用比例、檔案系統(tǒng)及其掛入點(diǎn),但對文件卻無能為力。
              du可以查看文件及文件夾的大小。

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

              下面分別簡要介紹

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

           

          以下是代碼片段:

          [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

           

              參數(shù) -h 表示使用「Human-readable」的輸出,也就是在檔案系統(tǒng)大小使用 GB、MB 等易讀的格式。

              上面的命令輸出的第一個(gè)字段(Filesystem)及最后一個(gè)字段(Mounted on)分別是檔案系統(tǒng)及其掛入點(diǎn)。我們可以看到 /dev/sda1 這個(gè)分割區(qū)被掛在根目錄下。

              接下來的四個(gè)字段 Size、Used、Avail、及 Use% 分別是該分割區(qū)的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,當(dāng)硬盤容量已滿時(shí),您可能會(huì)看到已使用的百分比超過 100%,因?yàn)?FreeBSD 會(huì)留一些空間給 root,讓 root 在檔案系統(tǒng)滿時(shí),還是可以寫東西到該檔案系統(tǒng)中,以進(jìn)行管理。

              du:查詢文件或文件夾的磁盤使用空間

              如果當(dāng)前目錄下文件和文件夾很多,使用不帶參數(shù)du的命令,可以循環(huán)列出所有文件和文件夾所使用的空間。這對查看究竟是那個(gè)地方過大是不利的,所以得指定 深入目錄的層數(shù),參數(shù):--max-depth=,這是個(gè)極為有用的參數(shù)!如下,注意使用“*”,可以得到文件的使用空間大小.

              提醒:一向命令比linux復(fù)雜的FreeBSD,它的du命令指定深入目錄的層數(shù)卻是比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

           

              值得注意的是,看見一個(gè)針對du和df命令異同的文章:《du df 差異導(dǎo)致文件系統(tǒng)誤報(bào)解決》。

              du 統(tǒng)計(jì)文件大小相加
              df  統(tǒng)計(jì)數(shù)據(jù)塊使用情況

              如果有一個(gè)進(jìn)程在打開一個(gè)大文件的時(shí)候,這個(gè)大文件直接被rm 或者mv掉,則du會(huì)更新統(tǒng)計(jì)數(shù)值,df不會(huì)更新統(tǒng)計(jì)數(shù)值,還是認(rèn)為空間沒有釋放。直到這個(gè)打開大文件的進(jìn)程被Kill掉。

              如此一來在定期刪除 /var/spool/clientmqueue下面的文件時(shí),如果沒有殺掉其進(jìn)程,那么空間一直沒有釋放。

              使用下面的命令殺掉進(jìn)程之后,系統(tǒng)恢復(fù)。
              fuser -u /var/spool/clientmqueue

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


           

          查看linux文件目錄的大小和文件夾包含的文件數(shù)

              統(tǒng)計(jì)總數(shù)大小

              du -sh xmldb/

              du -sm * | sort -n //統(tǒng)計(jì)當(dāng)前目錄大小 并安大小 排序

              du -sk * | sort -n

              du -sk * | grep guojf //看一個(gè)人的大小

              du -m | cut -d "/" -f 2 //看第二個(gè)/ 字符前的文字

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

              du xmldb/

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

              40752

              解釋:

              wc [-lmw]

              參數(shù)說明:

              -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

          主站蜘蛛池模板: 敦煌市| 武冈市| 营口市| 天门市| 吐鲁番市| 德令哈市| 固始县| 金昌市| 桃园县| 安丘市| 襄樊市| 荥经县| 峨眉山市| 轮台县| 贺兰县| 双流县| 株洲市| 南康市| 玉林市| 兴化市| 普陀区| 台北市| 漯河市| 安溪县| 庄浪县| 靖安县| 延庆县| 揭西县| 财经| 麻江县| 沭阳县| 三门峡市| 斗六市| 临清市| 保山市| 柯坪县| 甘孜| 涞水县| 永清县| 泊头市| 广灵县|