日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux中可替代du命令的工具

在 Linux 環(huán)境下,du 命令大家都不陌生,它可以對 Linux 系統(tǒng)中的文件和目錄空間使用情況進行計算和匯總,本篇文章重點為大家分享一下和du命令相同作用的工具,有需要的小伙伴可以參考一下。

創(chuàng)新互聯(lián)公司服務(wù)項目包括善右網(wǎng)站建設(shè)、善右網(wǎng)站制作、善右網(wǎng)頁制作以及善右網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,善右網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到善右省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

一、ncdu

ncdu 是一個使用 C 語言和 ncurses 接口開發(fā)的簡易快速的磁盤用量分析器,可以用來查看目錄或文件在本地或遠程系統(tǒng)上占用磁盤空間的情況。

Ubuntu 21.10 安裝 ncdu:

# sudo apt-get install ncdu

ncdu 參數(shù)選項:

  • -h:幫助信息
  • -q:靜音模式,刷新間為 2 秒
  • -v:打印版本
  • -x:相同的文件系統(tǒng)
  • -e:啟用擴展信息
  • -r:只讀
  • -o FILE:將掃描目錄導(dǎo)出為文件
  • -f FILE:從文件中導(dǎo)入掃描目錄
  • -0,-1,-2:掃描時使用的 UI (0=none,2=full ncurses)
  • –si:使用基數(shù) 10 (SI) 前綴而不是基數(shù) 2
  • –exclude PATTERN:排除匹配 PATTERN 的文件
  • -X, –exclude-from FILE:排除與文件中任何模式匹配的文件
  • -L, –follow-symlinks:按照符號鏈接(不包括目錄)
  • –exclude-caches:排除包含 CACHEDIR.TAG 的目錄
  • –exclude-kernfs:排除 Linux 偽文件系統(tǒng)(procfs、sysfs、cgroup…)
  • –confirm-quit:確認退出
  • –color SCHEME:設(shè)置配色方案

如果不使用任何參數(shù)選項,可直接在需要分析的目錄下執(zhí)行命令ncdu,等待 ncdu 掃描完畢后,此時就會彈出一個交互式的終端界面。

可以清晰的看出每個目錄的大小,使用方向鍵或Enter鍵可進入或退出所選的具體目錄。

當(dāng)發(fā)現(xiàn)某個目錄或文件占用空間較大時,可根據(jù)上述使用鍵盤情況找到那個文件,切合實際情況確認如果可以刪除的話,無需退出 ncdu,選中要刪除的目錄或文件后,按d鍵即可刪除,若刪除完畢,按q鍵即可退出。

二、dust

dust(du + rust = dust)是用 rust 編寫的一個免費、開源、更直觀的 du 工具,也是一個提供文件類型和元數(shù)據(jù)的工具。

Ubuntu 21.10 安裝 dust:

du-dust_0.7.1_amd64.deb 是 dust GitHub 存儲庫中的最新版本,從 dust 的發(fā)布頁面下載.deb文件,可執(zhí)行如下命令進行下載和安裝。

# wget https://github.com/bootandy/dust/releases/du-dust_0.7.1_amd64.deb  
# dpkg -i du-dust_0.7.1_amd64.deb
1.2.

對于其他系統(tǒng),可以參考 GitHub 上 dust 的其他操作系統(tǒng)安裝方式。

dust 用法:

dust [FLAGS] [OPTIONS] [--] [inputs]...

dust 參數(shù)選項:

  • -f:目錄“大小”是子文件/目錄的數(shù)量,而不是磁盤大小
  • -s:使用文件長度而不是塊
  • -p:子目錄的路徑不會縮短
  • -h:幫助信息
  • -i:不顯示隱藏文件
  • -x:僅計算與提供的目錄位于同一文件系統(tǒng)上的文件和目錄
  • -b:不會顯示百分比條或百分比
  • -c:不會打印顏色(通常最大的目錄是彩色的)
  • -r:打印樹倒置(最大的最高)
  • -t:僅顯示這些文件類型
  • -V:打印版本信息
  • -d:顯示深度
  • -e:僅包含與此正則表達式匹配的文件。對于 png 文件類型:-e “.png$”
  • -X:排除任何具有此名稱的文件或目錄
  • -v:排除與此正則表達式匹配的文件。忽略 png 文件類型:-v “.png$”
  • -n:要顯示的輸出行數(shù)。這是高度,(但 h 有幫助)[默認值:23]
  • -w:指定輸出的寬度覆蓋終端寬度的自動檢測

dust 使用:

查看當(dāng)前目錄及所有子目錄下的文件大小,可以執(zhí)行以下命令:

# dust

img

-p參數(shù)可以按照從當(dāng)前目錄起始的完整目錄進行顯示

# dust -p

img

如果只查看多個目錄的大小,只需要同時列出這些目錄,并用空格分隔開即可:

# dust /bin /etc

img

顯示文件的長度:

# dust -s

img

只顯示 10 個目錄:

# dust -n 10

img

三、duu

duu 是 Directory Usage Utility(目錄使用實用程序)的縮寫,基于 Python 語言編寫的查看指定目錄大小的工具,具有跨平臺特性,可以在 Windows、Linux 和 MacOS 操作系統(tǒng)上使用,它是以千字節(jié)為單位顯示目錄磁盤使用情況。

Ubuntu 21.10 安裝 duu:

安裝 duu 工具之前需要先確保系統(tǒng)有沒有安裝 Python 3 環(huán)境,沒有的話需要安裝一下,有的話忽略即可,不過目前在大多數(shù) Linux 發(fā)行版中默認軟件倉庫都是有 Python 3 的。

v2.22.tar.gz 是 duu GitHub 存儲庫中最新版本的源碼包,從 duu 的發(fā)布頁面下載.tar.gz文件,可執(zhí)行如下命令進行下載和安裝。

# wget https://github.com/jftuga/duu/archive/refs/tags/v2.22.tar.gz  
# tar -zxvf v2.22.tar.gz

解壓完畢后,進入 duu-2.22 文件夾,查看duu.py文件是否存在。

# ls | grep duu  
duu-2.22  
# cd duu-2.22/  
# ls  
duu.py  LICENSE  README.md

duu 用法:

duu.py [-h] [-b] [-e] [-q] [-s STATUS] [-n] [-N] [-f] [-S] [-H] [-T THREADS] [-x EXCLUDE] [-X REGEXPR] [-o OUTPUT] [dname]

duu 參數(shù)選項:

  • -h:幫助信息
  • -b:不打印摘要或統(tǒng)計數(shù)據(jù),專門用于排序時使用
  • -e:總結(jié)文件擴展名
  • -q:不顯示單個目錄
  • -s:將處理狀態(tài)發(fā)送到 STDERR,每個 STATUS 目錄數(shù)
  • -n:跳過以“.”開頭的目錄
  • -N:不遞歸
  • -f:顯示每個目錄中的文件數(shù)
  • -S:顯示均值、中值、眾數(shù)和標(biāo)準(zhǔn)差文件統(tǒng)計信息
  • -H:以更易讀的格式顯示數(shù)字
  • -T:并發(fā)線程數(shù),考慮 SAN
  • -x:排除不分大小寫字符串的冒號分隔列表
  • -X:排除不分大小寫正則表達式的冒號分隔列表
  • -o:輸出到 CSV 文件

duu 使用:

查看當(dāng)前目錄的大小,只需要執(zhí)行如下命令:

# python3 duu.py

img

如上圖,可以看出 duu 會顯示當(dāng)前目錄下文件和目錄的數(shù)量并按照 Bytes、KB、MB 為單位顯示這些文件的總大小,以及每個文件的大小。

查看某個目錄的大小,只需要把目錄的絕對路徑加上即可:

# python3 duu.py /etc/init.d/

img

四、diskus

diskus 也是基于 Rust 編寫的一個小型、快速、可替代du -sh命令的開源工具,diskus 會計算當(dāng)前目錄下所有文件的大小,執(zhí)行命令diskus效果和du -sh、du -sh –bytes是一樣的。

根據(jù) diskus GitHub 存儲庫的開發(fā)者表示,在他的 8 核筆記本電腦上,以 hyperfine 命令行基準(zhǔn)測試工具將中等大小的文件夾(15GB、100k 目錄、400k 文件)進行測試,對于較小的文件夾測試實際上是沒有意義的,因為所有程序都會在合理的時間內(nèi)完成,而不會中斷您的工作流程,從而得出的結(jié)論是:diskus 比 du 冷磁盤緩存快十倍左右,熱磁盤緩存快三倍多。

以下是冷磁盤緩存和熱磁盤緩存基于diskus、du -sh、sn p -d0 -j8和dust -d0命令測試出的結(jié)果對比。

冷磁盤緩存

Command Mean [s] Min [s] Max [s] Relative
diskus 1.746 ± 0.017 1.728 1.770 1.00
du -sh 17.776 ± 0.549 17.139 18.413 10.18
sn p -d0 -j8 18.094 ± 0.566 17.482 18.579 10.36
dust -d0 21.357 ± 0.328 20.974 21.759 12.23

顯示詳細信息

熱磁盤緩存

Command Mean [s] Min [s] Max [s] Relative
diskus 500.3 ± 17.3 472.9 530.6 1.00
du -sh 1098.3 ± 10.0 1087.8 1122.4 2.20
sn p -d0 -j8 1122.2 ± 18.2 1107.3 1170.1 2.24
dust -d0 3532.1 ± 26.4 3490.0 3563.1 7.06

顯示詳細信息

Ubuntu 21.10 安裝 diskus:

diskus_0.7.0_amd64.deb 是 diskus GitHub 存儲庫中的最新版本,從 diskus 的發(fā)布頁面下載.deb文件,可執(zhí)行如下命令進行下載和安裝。

# wget https://github.com/sharkdp/diskus/releases/download/v0.7.0/diskus_0.7.0_amd64.deb  
# dpkg -i diskus_0.7.0_amd64.deb
1.2.

對于其他系統(tǒng),可以參考 GitHub 上 diskus 的其他操作系統(tǒng)安裝方式進行安裝。

diskus 用法:

diskus [OPTIONS] [path]...

diskus 參數(shù)選項:

  • -j:設(shè)置線程數(shù)(默認:3 x num cores),文件大小的輸出格式(十進制:MB,二進制:MiB)[默認:十進制] [可能的值:十進制、二進制]
  • -v:不隱藏文件系統(tǒng)錯誤
  • -b:計算表觀大小而不是磁盤使用量
  • -h:幫助信息
  • -v:版本信息

diskus 使用:

使用du -sh 路徑的命令可以查看某個目錄的大小,這里的-s參數(shù)表示顯示總大小。

# du -sh /etc  
16M    /etc

如果使用diskus可直接顯示當(dāng)前目錄的總大小。

# diskus

如果你想查看某個目錄的大小,可以在diskus后面加絕對路徑。

# diskus /etc  
16.66 MB (16,662,528 bytes)

五、tin-summer

tin-summer(sn)是基于 Rust 語言編寫的開源工具,也是du命令的替代品,可以用于查找占用磁盤空間的文件,以更好的輸出、更清晰的命令和默認值,而且由于多線程,它甚至可以在計算大目錄下的大小時會比 du 命令運行得更快,tin-summer 與 du 命令之間的區(qū)別是前者讀取文件的大小,而后者則讀取磁盤使用情況。

此外,tin-summer 的開發(fā)者也針對 du 和 sn 做了鮮明的使用理由對比。

使用 du 的理由:

  • 可讀取磁盤使用情況,而不僅僅是文件大小
  • 可選的取消引用符號鏈接
  • 可在小目錄上稍微快一點
  • 穩(wěn)定且支持良好

使用 sn 的理由:

  • 在大目錄下更快
  • 使用正則表達式進行排除,使其在與 –exclude 標(biāo)志一起使用時比 du 快得多。
  • 默認為可讀的輸出
  • 彩色輸出
  • 通過獲得更好的幫助
  • 提供排序輸出
  • 查找構(gòu)建工件
  • 讀取文件大小,而不是磁盤使用情況
  • 在 Rust 中可擴展

同時,也做了基準(zhǔn)測試,從而來對比 sn 和 du 執(zhí)行不同目錄大小的時間結(jié)果。

Directory Size Tool Command Time
600MB sn sn p 60.74 ms
600MB sn sn d 99.92 ms
600MB du du -hacd2 88.28 ms
4GB sn sn p 185.2 ms
4GB sn sn d 271.9 ms
4GB du du -hacd2 195.5 ms
700MB sn sn p 91.05 ms
700MB sn sn d 176.3 ms
700MB du du -hacd2 153.8 ms
7MB sn sn p 19.48 ms
7MB sn sn d 12.72 ms
7MB du du -hacd2 10.13 ms

顯示詳細信息

安裝 tin-summer:

# curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/tin-summer

也可以使用cargo軟件包管理器安裝tin-summer,前提是需要在系統(tǒng)上安裝 Rust。如果 Rust 已安裝好的話,可執(zhí)行如下命令:

# cargo install tin-summer

如果上述兩種安裝方式都尚未成功安裝 tin-summer,還可以通過 tin-summer GitHub 存儲庫的發(fā)布區(qū)下載最新版本的二進制文件進行手動安裝。

tin-summer 的使用:

查看當(dāng)前目錄文件大小,無需添加任何參數(shù),tin-summer 也是默認以易讀的格式向用戶進行輸出,可執(zhí)行如下命令:

# sn f

查看某個特定目錄的文件大小,可執(zhí)行如下命令:

# sn f  

在當(dāng)前目錄中搜索包含構(gòu)建工件的目錄,可執(zhí)行如下命令:

# sn ar

查找占用超過 200MB 磁盤空間的工件或包含工件的目錄,可執(zhí)行如下命令:

# sn ar -t200M

獲取 $DIR 中 10 個最大目錄的排序列表,可執(zhí)行如下命令:

# sn sort $DIR -n12

sn 實際在操作大目錄的時候速度比較快,在操作小目錄的時候,速度會相對比較慢一些。


新聞名稱:Linux中可替代du命令的工具
鏈接URL:http://m.5511xx.com/article/cdddged.html