Loendage kataloogis olevaid faile rekursiivselt

Count Files Directory Recursively



Mõnikord on vaja välja selgitada konkreetse kataloogi all saadaolevate failide täpne arv. Probleem tekib siis, kui kataloog sisaldab ühte või mitut alamkataloogi. Sõltuvalt failide ja kataloogide arvust võib käsitsi loendamine olla praktiliselt võimatu.

Selles juhendis vaadake, kuidas Linuxis kataloogis olevaid faile rekursiivselt kokku lugeda.







Failide loendamine

Põhiline failide loendamine
Demonstreerimiseks on siin näidiskataloog, kus on mitu alamkataloogi.



$ tree demo_dir



Nagu näete, prindib puu käsk rekursiivselt kogu kataloogistruktuuri koos failide arvuga lõpus. Kui aga failide ja kataloogide arv on liiga suur, on aruande hankimine ebaefektiivne.





Alternatiivne viis on kasutada käske leida ja wc. Esiteks genereerib käsk leida kataloogis olevate failide loendi. Seejärel loendab käsk wc väljundrea, määrates failide arvu.

Käsk näeb välja umbes selline.



$ leida -tüüp f | wc -l

Otsingukäsu puhul on siin lippude ja argumentide lühike selgitus.

  • : Kataloog, kuhu failid teostatakse.
  • -tüüp f: määrab otsitava faili (faili/kataloogi) tüübi. Siin tähistab f ainult faile.

Käsu wc puhul on siin lühike lipu selgitus.

  • -l: loeb ridade arvu. See töötab, loendades väljundis olevate uute ridade märkide arvu.

Rakendame käsu meie testkataloogi.

$ find ./demo_dir -tüüp f | wc -l

Võimaluse korral on soovitatav kasutada kataloogi täielikku teed.

$ find/home/viktor/Desktop/demo_dir -tüüp f | wc -l

Loendamine kataloogidega
Kui loendusse tuleb lisada ka katalooge, kasutage selle asemel järgmist käsustruktuuri. Otsimise käsk prindib kataloogid ja järgnevad failid väljundisse.

$ leida | wc -l

Kataloogi sügavus
Find käsk toetab kataloogi sügavust. Kataloogi sügavus määrab, kui sügav leid failide otsimisel langeb.

Toetust leiavad kahte tüüpi kataloogisügavused.

  • maxdepth: maksimaalse taseme leidmine langeb alla. Maksimaalse sügavuse väärtus on mitte-negatiivne täisarv.
  • mindepth: Minimaalne sügavus, mis on vajalik leidmiseks kataloogis toimimiseks. Mõistlikkuse väärtus on mitte-negatiivne täisarv.

Vaatame neid väärtusi praktikas. Otsimise ülesehituse struktuur näeks välja selline.

$ find -maxdepth

$ find -mindepth

Failide loendamine GUI abil

Kui teil on võimalus kasutada failide arvu kontrollimiseks GUI -d, saame failihaldurite abil kataloogis olevad failid kokku lugeda. Failihaldurid võimaldavad kasutajatel faile ja katalooge elegantselt hallata. Iga failihaldur toetab kõiki põhifunktsioone, nagu failide otsimine, kopeerimine, teisaldamine, loomine ja kustutamine. Mõned failihaldurid toetavad isegi selliseid lisafunktsioone nagu SSH -ühendused.

Siin on mõned parimad Linuxi jaoks saadaval olevad failihaldurid. Enamik neist peaks olema saadaval kõigi populaarsete Linuxi distributsioonide jaoks.

Nautiluse failihaldur
See on GNOME töölaua vaikimisi failihaldur. Sellel on väga lihtne kasutajaliides, lihtne navigeerimine ja haldamine.

Vaadake välja Nautiluse failihaldur .

Konquerori failihaldur
Konqueror on vaikimisi haldur, mis on kaasas KDE töölauaga. Sellel on lihtsustatud failihaldur koos lisafunktsioonidega, nagu FTP/SFTP tugi, smb (Windowsi) jagamine, heli rippimine jne.

Konqueror kasutab KHTML -renderdusmootorit. Vaadake välja Konqueror .

Delfiinide failihaldur
Dolphin asendab Konquerori vaikimisi failihaldurina KDE töölaual. See on tasuta avatud lähtekoodiga ja kerge failihaldur, mille eesmärk on lihtsus, paindlikkus ja täielik kohandamine. See võimaldab kasutajatel sujuvalt sirvida, leida, kopeerida ja teisaldada faile Linuxi süsteemis. See sisaldab muid huvitavaid funktsioone, nagu failide eelvaade, vahekaartidega navigeerimine, failide sortimine ja rühmitamine jne.

Vaadake välja delfiin .

SpaceFM failihaldur
Erinevalt teistest kirjeldatud failihalduritest on SpaceFM iseseisev failihaldur, mis pole seotud ühegi töölauakeskkonnaga. See on ilus failihaldur, mis on saadaval kõigi populaarsete Linuxi distributsioonide jaoks. Sellel on bash-integratsioon, sisseehitatud VFS ja menüü kohandamine jne.

Vaadake välja SpaceFM .

GNU keskööülem
Lõpuks on GNU Midnight Commander käsurea failihaldur. See on täieõiguslik failihaldur, kuid konsooli ekraanil. See toetab kõiki klassikalisi funktsioone, nagu failide otsimine, kopeerimine, teisaldamine ja kustutamine jne.

Vaadake välja GNU keskööülem .

Lõplikud mõtted

Failide loendamine Linuxis pole üldse raske. Selleks on vaja ainult sobivaid tööriistu ja teadmisi. Loodetavasti näitas see juhend edukalt, kuidas Linuxis kataloogides olevaid faile loendada.

Head arvutamist!