GNU/Linux >> Znalost Linux >  >> Linux

Najít největší soubory nebo adresáře?

Který příkaz vytiskne velikosti všech souborů a adresářů v adresáři tmp (včetně skrytých) a seřadí je podle velikostí od
největší po nejmenší ve formátu čitelném pro člověka (např. 2 GB)?

Výstup může být následující:

file.mpg 2GB
file.avi 1.8GB
.backtup 1.7 GB (this is directory)

Zkusil jsem použít ls a du příkazy, ale nebyl schopen najít správné přepínače.

Přijatá odpověď:

Zde je rychlá oprava, použijte du + sort. Zkuste toto:

du -smc * | sort -n

To bude ignorovat skryté soubory, ale to je další snadná oprava:

du -smc .[^.] .??* * | sort -n

To může způsobit varování, zda jeden nebo více z výše uvedených vzorů neodpovídá souboru. První vzor .[^.] odpovídá všem dvěma názvům souborů začínajících na . kromě .., druhého vzoru, .??* odpovídá všem třípísmenným nebo více názvům souborů začínajících na . a * odpovídá všem souborům, které nezačínají na . Pro sofistikovanější výpisy, jako je hledání všech souborů větších než X v celém souborovém systému nebo udržování seznamu růstu souborového systému, mám nějaký skript pro vlastní potřebu, který jsem napsal a mohu ho sdílet, pokud vás to zajímá.


Linux
  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Najděte největší soubory a adresáře v Linuxu

  3. Příkazy hledání pro Linux

  1. Jak najít a odstranit prázdné adresáře a soubory v Linuxu

  2. Najděte a zkopírujte soubory

  3. bash najít adresáře

  1. Najděte soubory a adresáře v Linuxu jako profík

  2. Jak najít soubor v Linuxu ve všech adresářích rekurzivně

  3. Najděte adresáře obsahující určitý počet souborů