Rekursīvi saskaitīt failus direktorijā

Count Files Directory Recursively



Dažreiz ir nepieciešams noskaidrot precīzu failu skaitu, kas pieejams noteiktā direktorijā. Problēma rodas, ja direktorijā ir viena vai vairākas apakšdirektorijas. Atkarībā no failu un direktoriju skaita manuāla skaitīšana var būt praktiski neiespējama.

Šajā rokasgrāmatā pārbaudiet, kā rekursīvi saskaitīt failus direktorijā Linux.







Failu skaitīšana

Pamata failu skaitīšana
Demonstrēšanai šeit ir direktorija paraugs ar vairākiem apakšdirektorijiem.



$ koks demo_dir



Kā redzat, koka komanda rekursīvi izdrukās visu direktoriju struktūru, beigās norādot failu skaitu. Tomēr, ja failu un direktoriju skaits ir pārāk liels, atskaites iegūšana ir neefektīva.





Alternatīvs veids ir izmantot komandas atrast un wc. Pirmkārt, komanda atrast radīs direktorijā esošo failu sarakstu. Pēc tam komanda wc saskaitīs izvades rindu, nosakot failu skaitu.

Komanda izskatīsies apmēram šādi.



$ atrast tipa f | wc -l

Atrast komandas gadījumā šeit ir īss karodziņu un argumentu skaidrojums.

  • : Katalogs, kurā tiek veikts fails, tiek skaitīts.
  • -tips f: nosaka meklējamā faila veidu (failu/direktoriju). Šeit f apzīmē tikai failus.

Komandas wc gadījumā šeit ir īss karoga skaidrojums.

  • -l: saskaita rindu skaitu. Tas darbojas, saskaitot jauno rindiņu rakstzīmju skaitu izvadē.

Piemērosim komandu mūsu testa direktorijam.

$ find ./demo_dir -tips f | wc -l

Ja iespējams, ieteicams izmantot pilnu direktorijas ceļu.

$ find/home/viktor/Desktop/demo_dir -type f | wc -l

Skaitīšana ar direktorijiem
Ja skaitīšanā jāiekļauj arī katalogi, tā vietā izmantojiet šādu komandu struktūru. Komanda atrast izdrukās katalogus un nākamos failus izvadē.

$ atrast | wc -l

Direktorija dziļums
Komanda atrast atbalsta direktoriju dziļumu. Direktorija dziļums nosaka, cik dziļa atrašana samazināsies, meklējot failus.

Ir divu veidu direktoriju dziļumi, kas atrod atbalstu.

  • maxdepth: maksimālā līmeņa atradums samazināsies. Maksimālā dziļuma vērtība būs vesels skaitlis, kas nav negatīvs.
  • mindepth: minimālais dziļums, kas nepieciešams, lai atrašana darbotos direktorijā. Prāta dziļuma vērtība būs vesels skaitlis, kas nav negatīvs.

Apskatīsim šīs vērtības darbībā. Atrast komandu struktūra izskatītos šādi.

$ find -maxdepth

$ atrast -prāta dziļums

Failu skaitīšana, izmantojot GUI

Ja jums ir iespēja izmantot GUI, lai pārbaudītu failu skaitu, mēs varam saskaitīt direktorijā esošos failus, izmantojot failu pārvaldniekus. Failu pārvaldnieki ļauj lietotājiem eleganti pārvaldīt failus un direktorijus. Jebkurš failu pārvaldnieks atbalsta visas pamatfunkcijas, piemēram, failu meklēšanu, kopēšanu, pārvietošanu, izveidi un dzēšanu. Daži failu pārvaldnieki pat atbalsta papildu funkcijas, piemēram, SSH savienojumus.

Šeit ir daži no labākajiem failu pārvaldniekiem, kas pieejami Linux. Lielākajai daļai no tām jābūt pieejamām visiem populārajiem Linux izplatījumiem.

Nautilus failu pārvaldnieks
Tas ir GNOME darbvirsmas noklusējuma failu pārvaldnieks. Tam ir ļoti vienkāršots lietotāja interfeiss, ērta navigācija un pārvaldība.

Izbraukšana Nautilus failu pārvaldnieks .

Konqueror failu pārvaldnieks
Konqueror ir noklusējuma pārvaldnieks, kas tiek piegādāts kopā ar KDE darbvirsmu. Tam ir vienkāršots failu pārvaldnieks ar papildu funkcijām, piemēram, FTP/SFTP atbalstu, smb (Windows) koplietošanu, audio izvilkšanu utt.

Konqueror izmanto KHTML atveidošanas dzinēju. Izbraukšana Konqueror .

Delfīnu failu pārvaldnieks
Dolphin aizstāj Konqueror kā noklusējuma failu pārvaldnieku KDE darbvirsmā. Tas ir bezmaksas, atvērtā pirmkoda, viegls failu pārvaldnieks, kura mērķis ir vienkāršība, elastība un pilnīga pielāgošana. Tas ļauj lietotājiem vienmērīgi pārlūkot, atrast, kopēt un pārvietot failus visā Linux sistēmā. Tajā ir iekļautas citas interesantas funkcijas, piemēram, failu priekšskatīšana, navigācija ar cilnēm, failu šķirošana un grupēšana utt.

Izbraukšana Delfīns .

SpaceFM failu pārvaldnieks
Atšķirībā no citiem aprakstītajiem failu pārvaldniekiem, SpaceFM ir atsevišķs failu pārvaldnieks, kas nav saistīts ar nevienu darbvirsmas vidi. Tas ir skaists failu pārvaldnieks, kas pieejams visiem populārajiem Linux izplatījumiem. Tam ir bash integrācija, iebūvēts VFS un izvēlņu pielāgošana utt.

Izbraukšana SpaceFM .

GNU pusnakts komandieris
Visbeidzot, GNU Midnight Commander ir komandrindas failu pārvaldnieks. Tas ir pilnvērtīgs failu pārvaldnieks, bet konsoles ekrānā. Tas atbalsta visas klasiskās funkcijas, piemēram, failu meklēšanu, kopēšanu, pārvietošanu un dzēšanu utt.

Izbraukšana GNU pusnakts komandieris .

Pēdējās domas

Failu skaitīšana operētājsistēmā Linux nemaz nav grūta. Viss, kas tam nepieciešams, ir pareizais rīks un zināšanas, lai to noskaidrotu. Cerams, ka šī rokasgrāmata veiksmīgi parādīja, kā rekursīvi saskaitīt failus direktorijos Linux.

Laimīgu skaitļošanu!