Er liste kun mapper rekursivt i Linux?

Is List Only Directories Recursively Linux



Ordet rekursiv refererer til det faktum, at et Linux- eller Unix -operativsystemkommandoer omhandler mappernes indhold, og hvis en mappe har undermapper og dokumenter, fungerer instruktionen stadig med alle disse dokumenter (rekursivt). Det kan være muligt, at underordnet bibliotek har sit eget sæt filer og mapper (f.eks. Store mapper) osv. Osv. Du vil bruge forskellige Linux -instruktioner til rekursivt at krydse hver mappe, før du når den til kanten af ​​den angivne mappe. På det niveau vender Linux-instruktioner tilbage til en slukning af træet og gentager processen for eventuelle undermapper, der findes. I denne vejledning lærer du alle metoderne til at liste mapper rekursivt.

Eksempler på Simple List Directories

Først og fremmest skal du vide, hvordan du lister alle mapper fra dit Linux -system ved hjælp af den enkle listekommando. Åbn kommandolinjeterminalen, og prøv nedenstående ls-kommando for kun at vise mapper. Det viser ikke kun mapper, men det samlede antal undermapper og filer, der findes i dem. Outputtet viser mapperne med oplysninger om deres ejer, gruppe, læse-skrive-privilegier og datoen for oprettelse af mapper.







$ ls -l



For at liste alle mapper og filer i dit Linux -system skal du bruge -la i stedet for simpel -l i kommandoen liste. Udfør derfor den opdaterede kommando for at gøre det. Outputtet viser alle filer og mapper sammen med deres yderligere oplysninger.



$ ls -la





For ganske enkelt at liste mapperne uden yderligere oplysninger, prøv nedenstående kommando efterfulgt af flag -d.

$ ls –d * /



Du kan også bruge den samme kommando med lidt ændringer til at liste mapperne sammen med deres yderligere oplysninger. Du skal bare tilføje -l -flag inden for denne kommando som følger:

$ ls –l –d * /

Hvis du kun vil kontrollere det samlede antal filer i den specifikke hjemmekatalog, skal du prøve kommandoen nedenfor i skallen. Du får det samlede antal filer i dit Linux -operativsystem.

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

Eksempel på notering af biblioteker rekursivt

Der findes forskellige typer rekursive kommandoer i Linux -systemer, som kan bruges til at liste mapper rekursivt. For at forstå dem hver for sig skal du antage, at du har 5 filer i dit Linux -bibliotek med navnet Documents.

Liste rekursivt ved hjælp af -lR Flag

For at bruge -lR -flag i din forespørgsel til rekursivt at liste alle biblioteker i dit Linux -system er den første metode til at gøre det. Ved udførelsen af ​​listekommandoen nedenfor viser den alle mapper og deres undermapper sammen med deres bonusoplysninger, som vist i output.

$ ls -lR

Lad os bare rekursivt liste alle filer eller mapper fra en bestemt mappe eller mappe i dit Linux -system. Til dette formål skal du tilføje placeringsstien for det specifikke bibliotek for at angive det rekursivt. Vi ønsker rekursivt at liste alle filer og mapper i biblioteksdokumenterne i hjemmekataloget ved hjælp af den nedenfor opdaterede kommando. Outputtet viser alle filer og mapper i mappen Dokumenter sammen med dens ekstra oplysninger.

$ ls –lR / home / aqsayasin / Documents /

Liste rekursivt ved hjælp af Find -kommando

Gør det klart for dig selv, at ikke alle Linux -systemer, f.eks. MacOS, Unix -lignende OS, har valget mellem at bruge -R til at liste mapperne. I så fald er der andre kommandoer til rådighed for at opfylde vores behov, som er kommandoen find og udskriv. I denne kommando giver vi en sti til en mappe sammen med udnyttelsen af ​​at bruge kommandoen -ls. Når -ls bruges i kommandoen, betyder det, at det også viser de ekstra oplysninger om de eksisterende filer og mapper i et bestemt bibliotek. Prøv nedenstående kommando i skallen for rekursivt at liste alle filer og mapper i biblioteksdokumenterne.

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

Nu skal du prøve den samme instruktion i skallen med en lille ændring. Vi undgår at bruge -ls flag i denne kommando for at stoppe med at vise yderligere oplysninger om filer. Udfør den nedenfor anførte forespørgsel i skallen, og du får det viste output.

$ find/home/aqsayasin/Documents/-print

Liste rekursivt ved hjælp af -du -kommando

Lad os se på et andet eksempel for rekursivt at liste filer eller mapper med en anden ny metode. Denne gang vil vi bruge kommandoen -du til at nå vores formål. Denne kommando indeholder -a -flag i den. Sammen med flagene skal vi også angive bibliotekets placering. Lad os udføre nedenstående instruktion i terminalskallen for rekursivt at liste alle mapper eller filer i biblioteksdokumenterne. Outputtet viser de 5 poster for det, som vist nedenfor. Du kan se, at denne kommando også viser antallet af bid, der findes i hver fil.

$ du –a / home / aqsayasin / Documents /

Liste rekursivt ved hjælp af trækommando

Sidst men ikke mindst har vi en meget enkel og brugervenlig trækommandometode til rekursivt at liste filer eller mapper. Vi vil ikke bruge noget flag i denne kommando indtil videre. Du skal angive bibliotekets placering sammen med søgeordstræet. Lad os få et eksempel på det ved hjælp af kommandoen nedenfor. Outputtet viser output af trægrenen i biblioteksdokumenterne. Det viser 0 mapper og 5 filer i output.

$ tree/home/aqsayasin/Documents/

Lad os prøve den samme trækommando med en anden placering. Denne gang viser vi rekursivt mapperne i mappen 'Hjem' for brugeren aqsayasin. Outputtet viser filialerne i mappen Home med i alt 14 forskellige mapper, undermapper og 5 filer.

$ træ/hjem/aqsayasin/

Konklusion

Vi har forsøgt alle de rekursive metoder til rekursivt at liste mapper og filer, f.eks. -LR flag, find og udskriv, du og trækommando