Kako pronaći broj datoteka u direktoriju i poddirektorijima


U ovom vodiču ćemo pokriti kako prikazati ukupan broj datoteka u trenutnom radnom direktoriju ili bilo kojem drugom direktoriju i njegovim poddirektorijima na Linux sustavu.

Koristit ćemo naredbu find koja se koristi za traženje datoteka u hijerarhiji direktorija zajedno s naredbom wc koja ispisuje novi redak, riječ i broj bajtova za svaku datoteku, alternativno čitanje podataka sa standardnog ulaza.

Slijede opcije koje možemo koristiti s naredbom find na sljedeći način:

  1. -type – određuje vrstu datoteke za traženje, u gornjem slučaju, f znači pronaći sve obične datoteke.
  2. -print – radnja za ispis apsolutne putanje datoteke.
  3. -l – ova opcija ispisuje ukupan broj novih redaka, što je jednako ukupnom broju apsolutnih staza datoteke koje ispisuje naredba find.

Opća sintaksa naredbe find.

find . -type f -print | wc -l
sudo find . -type f -print | wc -l

Važno: Koristite naredbu sudo za čitanje svih datoteka u navedenom direktoriju, uključujući one u poddirektorijima s povlasticama superkorisnika, kako biste izbjegli “Dozvola odbijena ” pogreške kao na snimci zaslona u nastavku:

Možete vidjeti da u prvoj gornjoj naredbi, naredba pronađi ne čita sve datoteke u trenutnom radnom direktoriju.

Sljedeći su dodatni primjeri za prikaz ukupnog broja uobičajenih datoteka u direktorijima /var/log i /etc:

sudo find /var/log/ -type f -print | wc -l
sudo find /etc/ -type f -print | wc -l

Za više primjera o Linuxu naredba find i wc naredba prođite kroz sljedeću seriju članaka za dodatne mogućnosti korištenja, savjete i povezane naredbe:

  1. 35 korisnih primjera naredbi 'find' u Linuxu
  2. Kako pronaći nedavno ili današnje modificirane datoteke u Linuxu
  3. Pronađite 10 najboljih direktorija i datoteka na disku u Linuxu
  4. 6 korisnih primjera naredbi 'wc' za brojanje redaka, riječi i znakova

To je sve! U slučaju da znate za bilo koji drugi način za prikaz ukupnog broja datoteka u direktoriju i njegovim poddirektorijima, podijelite ga s nama u komentarima.