linux磁碟空間滿了?如何快速清理磁碟中無用文件

2019-08-25     Linux學習教程

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

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

1. 前言

大多數系統管理員會遇到磁碟空間或存儲空間不足的情況,並且急需要釋放更多的磁碟空間。您將需要找到浪費空間的文件並刪除它或移動到其它存檔介質上。但是,如何快速找到最大的無用文件以幫忙有效恢復磁碟空間呢?跟agedu工具打個招呼(發音為'age dee you') - 它會掃描一個目錄樹,並生成有關每個目錄和子目錄中使用了多少磁碟空間的報告,以及磁碟空間的使用情況。換句話說,此命令可能會幫助您釋放磁碟空間。

linux磁碟空間滿了怎麼辦

2. `du`與`agedu`有什麼區別

du命令以遞歸方式匯總每個文件的磁碟使用情況。這個工具就像du,但與du不同,它還區分了仍在使用的大量數據和幾個月或幾年未訪問過的數據 - 例如,下載,解壓縮,使用過一次,從未清理過的大量文檔。 du幫助您找到使用磁碟空間的內容,而agedu可幫助您找到浪費磁碟空間的內容。

3. `agedu`是怎麼工作的?

聽聽官方幫助文檔怎麼解釋的

大多數Unix文件系統在其默認模式下,有助於記錄上次訪問文件的時間。不只是在它被編寫或修改時,而是在它被閱讀時。因此,如果您在幾年前生成大量數據,忘記清理它,並且從未使用它,那麼它原則上應該可以使用那些最後訪問時間戳來區分它和大數據之間的區別您經常使用的數據量。

agedu是一個執行此操作的程序。它與du基本上進行相同類型的磁碟掃描,但它也記錄了它掃描的所有內容的最後訪問時間。然後,它構建一個索引,使其能夠有效地生成報告,給出每個子目錄的結果摘要,然後按需生成這些報告。

在這篇文章中,您將學習如何在Linux,MacOS X,FreeBSD和類Unix系統上安裝agedu,以追蹤浪費的磁碟空間使用情況。

4. 如何安裝`agedu`

Deiban / Ubuntu Linux 用戶使用apt-get安裝agedu

apt-get install agedu

FreeBSD unix 用戶執行以下命令安裝agedu:

cd /usr/ports/sysutils/agedu/
make install clean

或使用FreeBSD提供的二進位文件作為替代方案:

pkg install agedu

RHEL / CentOS / Fedora / Scientific用戶需要提前安裝EPEL倉庫

[root@zcwyou ~]# yum install epel-release

Arch Linux用戶, 執行以下命令安裝agedu:

sudo yaourt -S agedu

MacOS X 用戶執行以下命令安裝agedu:

brew install agedu

5. 怎麼使用`agedu`找出浪費磁碟空間的大文件

首先,您需要掃描磁碟並構建包含特殊數據結構的索引文件,執行以下命令:

假設你家的目錄為/home/zcwyou

linux找出浪費磁碟空間的大文件

agedu -s /home/zcwyou
sudo agedu -s /var
sudo agedu -s /usr/share

在上面的例子中,掃描特定的目錄構建索引。接下來,邏輯步驟是通過鍵入以下命令來查詢索引:

agedu -w

當然,你可以使用瀏覽器打開圖形化介面的報告

http://127.0.0.1:42113/

您可以在網頁上看到磁碟使用情況的圖形表示,其中使用不同的顏色來顯示廢棄和最近訪問的數據之間的差異。隨意點擊任何子目錄進入它並依次查看其子目錄的報告;單擊任何頁面頂部的路徑名部分以返回到更高級別的目錄。要終止此模式,只需按[CTRL] + [D]。您可以設置agedu在運行其Web伺服器時應偵聽的網絡地址和埠號:

命令格式如下:

agedu -w --address addr[:port]

例如Linux伺服器的IP為192.168.1.254,指定服務的埠號為1234

[root@zcwyou ~]# agedu -w --address 192.168.1.254:1234

你可以使用用戶認證:

[root@zcwyou ~]# agedu -w --address 192.168.1.254:1234 --auth basic

輸出結果類似這樣的:

Username: agedu

Password: 8123zkd82kazmdq

URL: http://192.168.1.254:1234/

agedu通常會為您填寫用戶名和密碼。但是,您可以設置自己的用戶名和密碼:

agedu -w --address 192.168.1.254:1234 --auth basic --auth-fd 0

輸入:

username:password

身份驗證詳細信息應包含用戶名(username),後跟冒號(:),後跟密碼(password),緊接著是文件結尾(按[CTRL] + [D])。

6. 如果使用終端命令行查看`agedu`結果

[root@zcwyou ~]# agedu -t /var/http

您將獲得/var/http及其子目錄中磁碟使用情況的摘要。輸出與du命令的格式大致相同。要查看有多少舊數據,請使用-a選項以僅顯示上次訪問一段時間之前的文件。例如,要查看僅在十二個月或更長時間內未查看過的文件:

[root@zcwyou ~]# agedu -t /var/http -a 12m

7. 我只想查看特定文件占用磁碟空間的情況

比如mp3文件和avi文件

[root@zcwyou ~]# agedu -s . --exclude '*' --include '*.mp3'
[root@zcwyou ~]# agedu -s . --exclude '*' --include '*.avi'

命令行查看報告:

[root@zcwyou ~]# agedu -w

排除某些文件類型和目錄

[root@zcwyou ~]# agedu -s ~/music --exclude '*' --include '*.mp3' --exclude-path './mp4/*'

8. 如何清理磁碟空間

agedu只是掃描結果,讓你知道哪些文件比較老,哪些文件比較占用空間,如果你要清理磁碟空間,請使用rm命令

linux如何清理磁碟空間

刪除當前目錄的abc.txt[root@zcwyou ~]# rm -f abc.txt

刪除特定目錄的tmp.txt

[root@zcwyou ~]# rm -f /var/http/abc.txt

刪除特定目錄下的所有子目錄

[root@zcwyou ~]# rm -rf /var/tmp

9. 如何刪除`agedu`的索引文件

使用以下命令查看agedu的索引文件

[root@zcwyou ~]# ls agedu.dat -lh

執行以下命令刪除索引文件

[root@zcwyou ~]# agedu -R

或者直接使用rm命令

[root@zcwyou ~]# rm agedu.dat

但是,您也可以在命令行的末尾添加-R,以指示agedu在完成執行其他操作(如顯示網頁)後應刪除其索引文件:

[root@zcwyou ~]# agedu -w -R

這篇博文可以讓您快速瀏覽agedu的功能及使用方法。對於通常的unix/linux命令行的用戶,此命令有更多複雜功能和選項。因此,我建議您閱讀手冊頁以獲取更多信息,或訪問項目主頁以獲取最新的原始碼:

[root@zcwyou ~]# man agedu

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

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

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

文章來源: https://twgreatdaily.com/zh-sg/hxwQ7WwBJleJMoPMdFzC.html