Jak získat velikost adresáře v systému Linux

Při výpisu obsahu adresáře pomocí příkazu ls jste si možná všimli, že velikost adresářů je téměř vždy 4096 bajtů (4 KB). To je velikost místa na disku, která se používá k uložení metainformací pro adresář, ne to, co obsahuje.

Příkaz, který chcete použít k získání skutečné velikosti adresáře, je du, což je zkratka pro „využití disku“.

Získání velikosti adresáře #

zobrazuje velikost souborového prostoru použitého zadanými soubory nebo adresáři. Pokud je zadanou cestou adresář, du shrnuje využití disku každého podadresáře v daném adresáři. . Pokud není zadána žádná cesta, du ohlásí využití disku aktuálního pracovního adresáře.

Při vyvolání bez jakýchkoli možností du zobrazuje využití disku daného adresáře a všech jeho podadresářů v bajtech.

Obvykle byste chtěli zobrazit prostor obsazený adresářem ve formátu čitelném pro člověka. Například získat celkovou velikost /var, spustíte následující příkaz:

Výstup bude vypadat asi takto:

Vysvětlíme příkaz a jeho argumenty:

  • Příkaz začíná řetězcem sudo, protože většina souborů a adresářů uvnitř Adresář /var je vlastněn uživatelem root a běžní uživatelé jej nečtou. Pokud vynecháte sudo, příkaz du vytiskne „du: nelze číst adresář“.
  • s – Zobrazit pouze celkovou velikost zadaného adresáře, nezobrazovat součty velikostí souborů pro podadresáře.
  • h – velikosti tisku ve formátu čitelném pro člověka (h).
  • /var – cesta k adresáři, který chcete získat velikost.

Co když chcete zobrazit využití disku v podadresářích první úrovně? Máte dvě možnosti. První je použít symbol hvězdičky (*), jak je znázorněno níže, což znamená„ porovnat vše, co nezačíná tečkou (.) „. Možnost -c říká du vytisknout celkový součet všech velikostí:

Dalším způsobem, jak získat zprávu o využití disku v podadresářích první úrovně, je použití možnosti --max-depth:

Ve výchozím nastavení zobrazuje příkaz du místo na disku používané adresářem nebo souborem. Chcete-li zjistit zdánlivou velikost adresáře, použijte volbu --apparent-size. „Zdánlivá velikost“ souboru udává, kolik dat se v souboru skutečně nachází.

Když přenášíte adresář přes SCP, Rsync. Nebo SFTP množství dat přenášených po síti je zjevná velikost souborů. Proto je velikost místa na disku použitém ve zdroji zobrazena pomocí du (bez --apparent-size) není stejný jako velikost v cíli.

Příkaz du lze také kombinovat s jinými příkazy s rourami.

Chcete-li například vytisknout 5 největších adresářů v adresáři /var, provedli byste rouru výstupu du k příkazu sort seřadit adresáře podle jejich velikosti a poté poslat výstup do příkazu head, který vytiskne pouze prvních 5 adresářů:

Závěr #

V systému Linux můžete získat velikost adresáře pomocí příkazu du.

Write a Comment

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *