'15種方法找出Linux系統中最大的N個文件,你懂幾種?'

Linux MySQL BSD UNIX Linux學習教程 2019-08-28
"

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

經過一段時間使用後,我們會發現Linux的可用磁盤空間越來越少,這時我們就需要準確地定位哪些文件或者哪些目錄佔用了空間,並且有按大小排序文件或目錄的需求。

那麼,如何使用Linux命令對系統文件中的目錄或者文件進行統計,並查找出Linux系統上最大的文件呢?

通常我們有必要需要知道哪些文件或者目錄正在吞噬著磁盤空間。更進一步來說,就是需要在文件系統中的特定目錄如 /tmp, /var 或者 /home 下查找。這篇文章將幫助我們在文件系統中查找最大的文件或目錄。

"

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

經過一段時間使用後,我們會發現Linux的可用磁盤空間越來越少,這時我們就需要準確地定位哪些文件或者哪些目錄佔用了空間,並且有按大小排序文件或目錄的需求。

那麼,如何使用Linux命令對系統文件中的目錄或者文件進行統計,並查找出Linux系統上最大的文件呢?

通常我們有必要需要知道哪些文件或者目錄正在吞噬著磁盤空間。更進一步來說,就是需要在文件系統中的特定目錄如 /tmp, /var 或者 /home 下查找。這篇文章將幫助我們在文件系統中查找最大的文件或目錄。

15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件15個實用案例

2. linux按硬盤空間佔用的大小查找文件或者目錄相關的命令

這裡沒有簡單的命令讓我們在 Linux/UNIX/BSD 文件系統中找到最大的文件/目錄。但我們可以通過如下的四個命令組合使用來實現:

  • du命令:估計磁盤空間使用量
  • sort命令:排序
  • head命令:取前幾條輸出
  • find命令:查找文件

3. linux查找最大文件和目錄(文件夾)實用案例

在控制檯輸入如下命令找出/var/mysql目錄下最大的 10 個文件和目錄:

[root@zcwyou ~]# du -a /var/mysql -h | sort -n -r | head -n 10

如果需要更佳的可讀性,可以執行以下命令:

[root@zcwyou ~]# cd /path/to/some/where
[root@zcwyou ~]# du -hsx * | sort -rh | head -10
"

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

經過一段時間使用後,我們會發現Linux的可用磁盤空間越來越少,這時我們就需要準確地定位哪些文件或者哪些目錄佔用了空間,並且有按大小排序文件或目錄的需求。

那麼,如何使用Linux命令對系統文件中的目錄或者文件進行統計,並查找出Linux系統上最大的文件呢?

通常我們有必要需要知道哪些文件或者目錄正在吞噬著磁盤空間。更進一步來說,就是需要在文件系統中的特定目錄如 /tmp, /var 或者 /home 下查找。這篇文章將幫助我們在文件系統中查找最大的文件或目錄。

15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件15個實用案例

2. linux按硬盤空間佔用的大小查找文件或者目錄相關的命令

這裡沒有簡單的命令讓我們在 Linux/UNIX/BSD 文件系統中找到最大的文件/目錄。但我們可以通過如下的四個命令組合使用來實現:

  • du命令:估計磁盤空間使用量
  • sort命令:排序
  • head命令:取前幾條輸出
  • find命令:查找文件

3. linux查找最大文件和目錄(文件夾)實用案例

在控制檯輸入如下命令找出/var/mysql目錄下最大的 10 個文件和目錄:

[root@zcwyou ~]# du -a /var/mysql -h | sort -n -r | head -n 10

如果需要更佳的可讀性,可以執行以下命令:

[root@zcwyou ~]# cd /path/to/some/where
[root@zcwyou ~]# du -hsx * | sort -rh | head -10
15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件和目錄(文件夾)實用案例

參數解釋:du -h : 以人可讀的格式顯示 (eg. 1K, 234M, 2G)

du -s : 顯示每個參數的總數。 (summary)

du -x : 排除目錄

sort -r : 逆序 (reverse)

sort -h : human readable

head -10 或者 head -n 10 : 顯示前 10 條。

用如下的命令找出/usr/share/zcwyou目錄和其子目錄下最大的文件:

[root@zcwyou ~]# find /usr/share/zcwyou -printf '%s %p\\n'| sort -nr | head -10

找出當前目錄和其子目錄下最大的文件:

[root@zcwyou ~]# find . -printf '%s %p\\n'| sort -nr | head -10

我們可以跳過某些特定目錄,僅顯示文件,輸入:

[root@zcwyou ~]# find /path/to/search/ -type f -printf '%s %p\\n'| sort -nr | head -10

或者

[root@zcwyou ~]# find /path/to/search/ -type f -iname "*.mp4" -printf '%s %p\\n'| sort -nr | head -10

或者建立一個命令別名,用命令abc代替du -cks * | sort -rn | head

採用 alias

alias abc='du -cks * | sort -rn | head'

運行如下命令來獲取最大的 10 個文件或目錄:

[root@zcwyou ~]# abc

4. linux查找最大文件和目錄(文件夾)常見應用場景

du命令的常用使用場景

使用語法

du -sh [dirname|filename]

統計並顯示當前目錄佔用的磁盤空間大小

[root@zcwyou ~]# du -sh .

當前目錄下個文件或目錄的大小:

[root@zcwyou ~]# du -sh *

顯示前10個佔用空間最大的文件或目錄:

[root@zcwyou ~]# du -s * | sort -nr | head

選項-h

以人類易讀的格式顯示指定目錄或文件的大小

選項-s

選項指定對於目錄不詳細顯示每個子目錄或文件的大小

找到Linux磁盤或目錄中最大的n個文件

du加上了-a選項,可以看到所有的目錄和文件大小,按照大小排序,就可以得到最大的n個文件了:

在目錄/var/zcwyou中統計文件和目錄大小,使用du命令,du -k選項表示文件大小顯示為KB,之後按照大小排序,顯示前n行,這裡n=10:

[root@zcwyou ~]# du -ak /var/zcwyou | sort -nrk 1 | head -n 10

上面的命令不但顯示文件,而且顯示目錄,如果不想顯示目錄,可以先用find命令找出所有的文件,再執行上面的命令:

[root@zcwyou ~]# find /var/zcwyou -type f -exec du -k '{}' \\; | sort -nrk 1 | head -n 10

下面的命令同樣可以實現類似的效果:

[root@zcwyou ~]# find /var/zcwyou -type f -exec ls -l '{}' \\; | awk '{print $5,$NF}' | sort -nrk 1 | head -n 10

上面的命令查找的都是目錄及子目錄下的文件,如果不找子目錄,那就簡單了,因為ls有個選項,可以按照文件大小排序,執行以下命令

[root@zcwyou ~]# ls -lhS /home/zcwyou | head -n 11
"

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

經過一段時間使用後,我們會發現Linux的可用磁盤空間越來越少,這時我們就需要準確地定位哪些文件或者哪些目錄佔用了空間,並且有按大小排序文件或目錄的需求。

那麼,如何使用Linux命令對系統文件中的目錄或者文件進行統計,並查找出Linux系統上最大的文件呢?

通常我們有必要需要知道哪些文件或者目錄正在吞噬著磁盤空間。更進一步來說,就是需要在文件系統中的特定目錄如 /tmp, /var 或者 /home 下查找。這篇文章將幫助我們在文件系統中查找最大的文件或目錄。

15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件15個實用案例

2. linux按硬盤空間佔用的大小查找文件或者目錄相關的命令

這裡沒有簡單的命令讓我們在 Linux/UNIX/BSD 文件系統中找到最大的文件/目錄。但我們可以通過如下的四個命令組合使用來實現:

  • du命令:估計磁盤空間使用量
  • sort命令:排序
  • head命令:取前幾條輸出
  • find命令:查找文件

3. linux查找最大文件和目錄(文件夾)實用案例

在控制檯輸入如下命令找出/var/mysql目錄下最大的 10 個文件和目錄:

[root@zcwyou ~]# du -a /var/mysql -h | sort -n -r | head -n 10

如果需要更佳的可讀性,可以執行以下命令:

[root@zcwyou ~]# cd /path/to/some/where
[root@zcwyou ~]# du -hsx * | sort -rh | head -10
15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件和目錄(文件夾)實用案例

參數解釋:du -h : 以人可讀的格式顯示 (eg. 1K, 234M, 2G)

du -s : 顯示每個參數的總數。 (summary)

du -x : 排除目錄

sort -r : 逆序 (reverse)

sort -h : human readable

head -10 或者 head -n 10 : 顯示前 10 條。

用如下的命令找出/usr/share/zcwyou目錄和其子目錄下最大的文件:

[root@zcwyou ~]# find /usr/share/zcwyou -printf '%s %p\\n'| sort -nr | head -10

找出當前目錄和其子目錄下最大的文件:

[root@zcwyou ~]# find . -printf '%s %p\\n'| sort -nr | head -10

我們可以跳過某些特定目錄,僅顯示文件,輸入:

[root@zcwyou ~]# find /path/to/search/ -type f -printf '%s %p\\n'| sort -nr | head -10

或者

[root@zcwyou ~]# find /path/to/search/ -type f -iname "*.mp4" -printf '%s %p\\n'| sort -nr | head -10

或者建立一個命令別名,用命令abc代替du -cks * | sort -rn | head

採用 alias

alias abc='du -cks * | sort -rn | head'

運行如下命令來獲取最大的 10 個文件或目錄:

[root@zcwyou ~]# abc

4. linux查找最大文件和目錄(文件夾)常見應用場景

du命令的常用使用場景

使用語法

du -sh [dirname|filename]

統計並顯示當前目錄佔用的磁盤空間大小

[root@zcwyou ~]# du -sh .

當前目錄下個文件或目錄的大小:

[root@zcwyou ~]# du -sh *

顯示前10個佔用空間最大的文件或目錄:

[root@zcwyou ~]# du -s * | sort -nr | head

選項-h

以人類易讀的格式顯示指定目錄或文件的大小

選項-s

選項指定對於目錄不詳細顯示每個子目錄或文件的大小

找到Linux磁盤或目錄中最大的n個文件

du加上了-a選項,可以看到所有的目錄和文件大小,按照大小排序,就可以得到最大的n個文件了:

在目錄/var/zcwyou中統計文件和目錄大小,使用du命令,du -k選項表示文件大小顯示為KB,之後按照大小排序,顯示前n行,這裡n=10:

[root@zcwyou ~]# du -ak /var/zcwyou | sort -nrk 1 | head -n 10

上面的命令不但顯示文件,而且顯示目錄,如果不想顯示目錄,可以先用find命令找出所有的文件,再執行上面的命令:

[root@zcwyou ~]# find /var/zcwyou -type f -exec du -k '{}' \\; | sort -nrk 1 | head -n 10

下面的命令同樣可以實現類似的效果:

[root@zcwyou ~]# find /var/zcwyou -type f -exec ls -l '{}' \\; | awk '{print $5,$NF}' | sort -nrk 1 | head -n 10

上面的命令查找的都是目錄及子目錄下的文件,如果不找子目錄,那就簡單了,因為ls有個選項,可以按照文件大小排序,執行以下命令

[root@zcwyou ~]# ls -lhS /home/zcwyou | head -n 11
15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件和目錄(文件夾)常見應用場景

5. Linux 查找最大的文件夾

運維的時候經常遇到df -h磁盤空間快滿了的情況,一般來說是由於循環日誌過大導致 。

使用下面的命令,能更快地定位問題所在。

案例:查找根目錄下的最大文件夾:

[root@zcwyou ~]# cd /
[root@zcwyou ~]# du -sh ./* sort
"

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

經過一段時間使用後,我們會發現Linux的可用磁盤空間越來越少,這時我們就需要準確地定位哪些文件或者哪些目錄佔用了空間,並且有按大小排序文件或目錄的需求。

那麼,如何使用Linux命令對系統文件中的目錄或者文件進行統計,並查找出Linux系統上最大的文件呢?

通常我們有必要需要知道哪些文件或者目錄正在吞噬著磁盤空間。更進一步來說,就是需要在文件系統中的特定目錄如 /tmp, /var 或者 /home 下查找。這篇文章將幫助我們在文件系統中查找最大的文件或目錄。

15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件15個實用案例

2. linux按硬盤空間佔用的大小查找文件或者目錄相關的命令

這裡沒有簡單的命令讓我們在 Linux/UNIX/BSD 文件系統中找到最大的文件/目錄。但我們可以通過如下的四個命令組合使用來實現:

  • du命令:估計磁盤空間使用量
  • sort命令:排序
  • head命令:取前幾條輸出
  • find命令:查找文件

3. linux查找最大文件和目錄(文件夾)實用案例

在控制檯輸入如下命令找出/var/mysql目錄下最大的 10 個文件和目錄:

[root@zcwyou ~]# du -a /var/mysql -h | sort -n -r | head -n 10

如果需要更佳的可讀性,可以執行以下命令:

[root@zcwyou ~]# cd /path/to/some/where
[root@zcwyou ~]# du -hsx * | sort -rh | head -10
15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件和目錄(文件夾)實用案例

參數解釋:du -h : 以人可讀的格式顯示 (eg. 1K, 234M, 2G)

du -s : 顯示每個參數的總數。 (summary)

du -x : 排除目錄

sort -r : 逆序 (reverse)

sort -h : human readable

head -10 或者 head -n 10 : 顯示前 10 條。

用如下的命令找出/usr/share/zcwyou目錄和其子目錄下最大的文件:

[root@zcwyou ~]# find /usr/share/zcwyou -printf '%s %p\\n'| sort -nr | head -10

找出當前目錄和其子目錄下最大的文件:

[root@zcwyou ~]# find . -printf '%s %p\\n'| sort -nr | head -10

我們可以跳過某些特定目錄,僅顯示文件,輸入:

[root@zcwyou ~]# find /path/to/search/ -type f -printf '%s %p\\n'| sort -nr | head -10

或者

[root@zcwyou ~]# find /path/to/search/ -type f -iname "*.mp4" -printf '%s %p\\n'| sort -nr | head -10

或者建立一個命令別名,用命令abc代替du -cks * | sort -rn | head

採用 alias

alias abc='du -cks * | sort -rn | head'

運行如下命令來獲取最大的 10 個文件或目錄:

[root@zcwyou ~]# abc

4. linux查找最大文件和目錄(文件夾)常見應用場景

du命令的常用使用場景

使用語法

du -sh [dirname|filename]

統計並顯示當前目錄佔用的磁盤空間大小

[root@zcwyou ~]# du -sh .

當前目錄下個文件或目錄的大小:

[root@zcwyou ~]# du -sh *

顯示前10個佔用空間最大的文件或目錄:

[root@zcwyou ~]# du -s * | sort -nr | head

選項-h

以人類易讀的格式顯示指定目錄或文件的大小

選項-s

選項指定對於目錄不詳細顯示每個子目錄或文件的大小

找到Linux磁盤或目錄中最大的n個文件

du加上了-a選項,可以看到所有的目錄和文件大小,按照大小排序,就可以得到最大的n個文件了:

在目錄/var/zcwyou中統計文件和目錄大小,使用du命令,du -k選項表示文件大小顯示為KB,之後按照大小排序,顯示前n行,這裡n=10:

[root@zcwyou ~]# du -ak /var/zcwyou | sort -nrk 1 | head -n 10

上面的命令不但顯示文件,而且顯示目錄,如果不想顯示目錄,可以先用find命令找出所有的文件,再執行上面的命令:

[root@zcwyou ~]# find /var/zcwyou -type f -exec du -k '{}' \\; | sort -nrk 1 | head -n 10

下面的命令同樣可以實現類似的效果:

[root@zcwyou ~]# find /var/zcwyou -type f -exec ls -l '{}' \\; | awk '{print $5,$NF}' | sort -nrk 1 | head -n 10

上面的命令查找的都是目錄及子目錄下的文件,如果不找子目錄,那就簡單了,因為ls有個選項,可以按照文件大小排序,執行以下命令

[root@zcwyou ~]# ls -lhS /home/zcwyou | head -n 11
15種方法找出Linux系統中最大的N個文件,你懂幾種?

linux查找最大文件和目錄(文件夾)常見應用場景

5. Linux 查找最大的文件夾

運維的時候經常遇到df -h磁盤空間快滿了的情況,一般來說是由於循環日誌過大導致 。

使用下面的命令,能更快地定位問題所在。

案例:查找根目錄下的最大文件夾:

[root@zcwyou ~]# cd /
[root@zcwyou ~]# du -sh ./* sort
15種方法找出Linux系統中最大的N個文件,你懂幾種?

Linux 查找最大的文件夾

6. 結合`find`命令找到Linux文件系統裡最大的10個文件

使用方法如下:

[root@zcwyou ~]# find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10

7. linux查找最大文件或目錄相關的命令應用

命令作用find搜索文件命令/在整個/目錄搜索-type指定文件類型f類型為普通文件-print0標準輸出完整文件名,後跟空字符(null)|管道符,前的命令給後的命令處理xargs把標準輸出轉換為命令行參數-0以空字符(null)來分割記錄du -h查看磁盤使用情況(可讀格式計算)sort文本排序-r反轉結果-h打印輸出(可讀格式)head開頭n -10打印前十

8. 總結

在Linux系統裡靈活結合各種命令工具,可以非常高效地根據各種條件找到相關的文件。

本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:

https://www.linuxrumen.com/rmxx/1128.html

點擊瞭解更多,快速查看更多的技術文章列表。

"

相關推薦

推薦中...