GNU/Linux >> Znalost Linux >  >> Linux

Jak najít všechny řídké soubory v Linuxu

Řídké soubory jsou soubory, kterým je předem přiděleno velké množství místa, aniž by zabíraly celé množství ze souborového systému. Jsou užitečné mimo jiné pro snížení množství času a místa na disku při vytváření souborových systémů smyčky nebo obrazů velkých disků pro virtualizované hosty. Termín „řídký soubor“ se používá k označení souboru obsahujícího „díry“; na běžícím systému je snadné jej rozpoznat, protože jeho využití disku je menší než jeho velikost. Toto chování můžeme vidět pomocí /var/log/lastlog soubor.

# ls -lh /var/log/lastlog
-rw-r--r--. 1 root root 286K Dec  3 04:50 /var/log/lastlog
# du -sh /var/log/lastlog
12K     /var/log/lastlog

Hledání řídkých souborů

Výše uvedený proces nyní dokáže identifikovat řídké soubory v systému, ale je obtížné najít všechny řídké soubory v souborovém systému nebo adresáři, zvláště když je jich mnoho. Nebojte se, v příkazu find je možnost, která nám pomůže najít všechny řídké soubory najednou. Podívejme se na příklad níže.

1. Použijte příkaz find s „%S “, abyste zjistili řídkost každého souboru.

# find /var/log -type f -printf "%S\t%p\n"
# find /var/log -type f -printf "%S\t%p\n"
1       /var/log/tallylog
1.00095 /var/log/audit/audit.log.1
0.0419982       /var/log/lastlog
....

2. Hodnota zobrazená ve sloupci zcela vlevo je (BLOCK-SIZE*st_blocks / st_size ), což je normálně méně než 1,0 v případě řídkého souboru.

3. Pokud chcete najít všechny řídké soubory v systému, můžeme odfiltrovat všechny soubory s hodnotami ve sloupci zcela vlevo menším než 1.

# find / -type f -printf "%S\t%p\n" | gawk '$1 < 1.0 {print}'
0.0139994       /var/log/lastlog
0.959592        /usr/lib/locale/locale-archive
...


Linux
  1. Jak najít duplicitní soubory v Linuxu

  2. Jak najít všechny soubory vlastněné konkrétním uživatelem v Unixu/Linuxu?

  3. Jak najít všechny soubory končící na .rb s Linuxem?

  1. Jak v Linuxu najdu všechny soubory obsahující konkrétní text?

  2. Jak přenést výsledky 'najít' do mv v Linuxu

  3. Jak vypsat všechny soubory oddílu na linuxu?

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

  2. Jak najít všechny soubory související se softwarem?

  3. Jak najít všechny soubory větší než 1 GB v Linuxu?