Er liste bare kataloger rekursivt i Linux?

Is List Only Directories Recursively Linux



Ordet rekursiv refererer til det faktum at en Linux- eller Unix -operativsystemkommandoer omhandler innholdet i mapper, og hvis en mappe har undermapper og dokumenter, fungerer instruksjonen fremdeles med alle disse dokumentene (rekursivt). Det kan være mulig at barnekatalogen har sitt eget sett med filer og mapper (for eksempel store mapper), og så videre. Du vil bruke forskjellige Linux -instruksjoner for å rekursivt krysse hver mappe før du går til kanten av den angitte mappen. På det nivået går Linux-instruksjonene tilbake til en avstengning av treet og gjentar prosessen for eventuelle undermapper som finnes. I denne opplæringen lærer du alle metodene for å liste katalogene rekursivt.

Eksempler på enkle lister

Først av alt må du vite hvordan du viser alle katalogene fra Linux -systemet ditt ved hjelp av den enkle listekommandoen. Åpne kommandolinjeterminalen og prøv kommandoen under ls for å vise bare katalogene. Det vil ikke bare vise katalogene, men det totale antallet undermapper og filer som ligger i dem. Utdataene viser mappene med informasjon om eieren, gruppen, lese-skrive-rettighetene og datoen for opprettelse av mapper.







$ ls -l



For å vise alle katalogene og filene i Linux -systemet ditt, må du bruke -la i stedet for enkel -l i listekommandoen. Utfør derfor den oppdaterte kommandoen for å gjøre det. Utgangen viser alle filene og mappene sammen med tilleggsinformasjon.



$ ls -la





Hvis du bare vil liste opp katalogene uten tilleggsinformasjon, kan du prøve kommandoen nedenfor etterfulgt av flagget -d.

$ ls –d * /



Du kan også bruke den samme kommandoen med liten modifikasjon for å liste mappene sammen med tilleggsinformasjonen. Du må bare legge til -l -flagget i denne kommandoen som følger:

$ ls –l –d * /

Hvis du bare vil kontrollere det totale antallet filer i den spesifikke hjemmekatalogen, kan du prøve kommandoen nedenfor i skallet. Du får det totale antallet filer i Linux -operativsystemet.

$ ls –l | egrep –v ‘^ d’

Eksempel på oppføring av kataloger rekursivt

Det finnes forskjellige typer rekursive kommandoer tilgjengelig i Linux -systemer, som kan brukes til å liste katalogene rekursivt. For å forstå hver av dem separat, antar du at du har 5 filer i Linux -katalogen som heter Dokumenter.

Liste rekursivt ved bruk av -lR flagg

For å bruke -lR -flagget i søket til å rekursivt liste alle katalogene i Linux -systemet ditt, er den første metoden for å gjøre det. Ved utførelsen av listekommandoen nedenfor vil den vise alle mappene og deres undermapper sammen med bonusdetaljene, som vist i utdataene.

$ ls -lR

La oss bare rekursivt liste alle filene eller mappene fra en bestemt mappe eller katalog i Linux -systemet ditt. For dette formålet, legg til plasseringsbanen til den spesifikke katalogen for å vise den rekursivt. Vi ønsker å rekursivt liste alle filene og mappene i katalogdokumentene i hjemmekatalogen ved hjelp av kommandoen nedenfor. Utgangen viser alle filene og mappene i Dokumenter -mappen sammen med den ekstra informasjonen.

$ ls –lR / home / aqsayasin / Documents /

Liste rekursivt ved hjelp av Finnkommando

Gjør det klart for deg selv at ikke alle Linux -systemer, f.eks. MacOS, Unix -lignende operativsystem, har valget mellom å bruke -R for å liste opp katalogene. I så fall er det andre kommandoer tilgjengelig for å oppfylle våre behov, som er finn og skriv ut kommandoen. I denne kommandoen gir vi en bane til en mappe sammen med utnyttelsen av kommandoen -ls. Når -ls brukes i kommandoen, betyr dette at den også vil vise ekstra informasjon om de eksisterende filene og mappene i en bestemt katalog. Prøv kommandoen nedenfor i skallet for å rekursivt vise alle filene og mappene i katalogdokumentene.

$ finn/home/aqsayasin/Documents/-print -ls

Nå må du prøve den samme instruksjonen i skallet med en liten endring. Vi vil unngå å bruke -ls -flagget i denne kommandoen for å slutte å vise tilleggsinformasjon om filer. Utfør spørringen nedenfor i skallet, og du får den viste utgangen.

$ finn/home/aqsayasin/Documents/-print

Liste rekursivt ved hjelp av -du Command

La oss se på et annet eksempel for å rekursivt vise filer eller kataloger med en annen ny metode. Denne gangen bruker vi kommandoen -du for å oppnå formålet vårt. Denne kommandoen inneholder -a flagget i den. Sammen med flaggene må vi også spesifisere katalogplasseringen. La oss utføre instruksjonene nedenfor i terminalskallet for å liste alle mapper eller filer i katalogdokumentene rekursivt. Utgangen viser de 5 postene for den, som vist nedenfor. Du kan se at denne kommandoen også viser antall bitt i hver fil.

$ du –a / home / aqsayasin / Documents /

Liste rekursivt ved hjelp av trekommando

Sist men ikke minst har vi en veldig enkel og brukervennlig trekommandometode for rekursivt å liste opp filer eller mapper. Vi vil ikke bruke noe flagg i denne kommandoen så langt. Du må spesifisere katalogplasseringen sammen med søkeordtreet. La oss ha et eksempel på det ved å bruke kommandoen nedenfor. Utdataen viser treet forgrenet type utdata fra katalogen Dokumenter. Den viser 0 kataloger og 5 filer i utgangen.

$ tree/home/aqsayasin/Documents/

La oss prøve den samme trekommandoen med en annen plassering. Denne gangen viser vi rekursivt mappene i 'Hjem' -katalogen til brukeren aqsayasin. Utgangen viser grenene i mappen Home som har totalt 14 forskjellige mapper, undermapper og 5 filer.

$ tree/home/aqsayasin/

Konklusjon

Vi har prøvd alle rekursive metoder for å rekursivt liste kataloger og filer, f.eks. -LR flagg, finn og skriv ut, du og tre kommando