SAP HANA infrastructure automation with Terraform and Ansible | Azure Friday
Obsah:
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 ukládání metadat pro adresář, nikoli 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
Příkaz
du
zobrazuje velikost souborového prostoru použitého zadanými soubory nebo adresáři. Pokud je zadaná cesta adresářem,
du
shrnuje využití disku každého podadresáře v tomto adresáři. Pokud není zadána žádná cesta,
du
ohlásí využití disku v aktuálním pracovním adresáři.
Při vyvolání bez jakýchkoli možností
du
zobrazí využití disku daného adresáře a každého z jeho podadresářů v bajtech.
Obvykle byste chtěli zobrazit místo obsazené adresářem ve formátu čitelném člověkem. Chcete-li například získat celkovou velikost adresáře
/var
, spusťte následující příkaz:
sudo du -sh /var
Výstup bude vypadat asi takto:
85G /var
Vysvětlíme příkaz a jeho argumenty:
- Příkaz začíná
sudo
protože většinu souborů a adresářů v adresáři/var
vlastní uživatel root a běžní uživatelé jej nemohou číst. Pokud vynechátesudo
příkazdu
vytiskne „du: nelze číst adresář“.s
- Zobrazí pouze celkovou velikost zadaného adresáře, nezobrazí součty velikosti souborů pro podadresáře.h
- Velikost tisku v lidsky čitelném formátu (h
)./var
- Cesta k adresáři, jehož velikost chcete získat.
Co když chcete zobrazit využití disku v podadresářích první úrovně? Máte dvě možnosti. Prvním z nich je použití symbolu 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
aby vytiskla celkový součet všech velikostí:
sudo du -shc /var/*
24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total
Dalším způsobem, jak získat zprávu o využití disku v podadresářích první úrovně, je použít volbu
--max-depth
:
sudo du -h --max-depth=1 /var
77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total
Ve výchozím nastavení příkaz
du
zobrazuje místo na disku používané adresářem nebo souborem. Chcete-li najít zjevnou velikost adresáře, použijte volbu
--apparent-size
. „Zdánlivá velikost“ souboru je to, kolik dat je v souboru skutečně.
sudo du -sh --apparent-size /var
Při přenosu adresáře přes SCP, Rsync. Nebo SFTP je objem dat přenesených po síti zdánlivou velikostí souborů. To je důvod, proč velikost místa na disku použitého na zdroji, když je zobrazena s
du
(bez
--apparent-size
), není stejná jako velikost v cíli.
Příkaz
du
lze také kombinovat s jinými příkazy s trubkami.
Chcete-li například vytisknout 5 největších adresářů v adresáři
/var
, dáte výstup
du
do příkazu sort k seřazení adresářů podle jejich velikosti a pak do výstupu příkaz
head
který vytiskne pouze 5 nejlepších adresářů:
sudo du -h /var/ | sort -rh | head -5
85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg
Závěr
V systému Linux můžete pomocí příkazu
du
získat velikost adresáře.
Jak kopírovat soubory a adresáře v Linuxu
Kopírování souborů a adresářů je jedním z nejčastějších úkolů, které budete provádět při práci na příkazovém řádku. V Linuxu existuje několik příkazů pro kopírování souborů, přičemž nejčastěji používanými nástroji jsou cp a rsync.
Jak vytvořit adresáře v Linuxu (příkaz mkdir)
V systémech Linux můžete vytvářet nové adresáře z příkazového řádku nebo pomocí správce souborů na ploše. Příkaz, který umožňuje vytvářet adresáře (také známé jako složky), je mkdir.
Jak přesouvat soubory a adresáře v Linuxu (příkaz mv)
Přesouvání souborů a adresářů je jedním z nejzákladnějších úkolů, které v systému Linux často potřebujete. V tomto tutoriálu si vysvětlíme, jak pomocí příkazu mv přesouvat soubory a adresáře.