Filhantering

Är listan endast kataloger rekursivt i Linux?

Är listan endast kataloger rekursivt i Linux?

Ordet "rekursivt" hänvisar till det faktum att ett Linux- eller Unix-operativsystems kommandon behandlar innehållet i mappar, och om en mapp har undermappar och dokument fungerar instruktionen fortfarande med alla dessa dokument (rekursivt). Det kan vara möjligt att underkatalogen har sin egen uppsättning filer och mappar (till exempel stora mappar), så vidare och så vidare. Du kommer att använda olika Linux-instruktioner för att rekursivt korsa varje mapp innan du gör den till kanten av den angivna mappen. På den nivån återgår Linux-instruktioner till en avstängning av trädet och upprepar processen för eventuella undermappar. I denna handledning lär du dig alla metoder för att lista katalogerna rekursivt.

Exempel på kataloger med enkla listor

Först och främst måste du veta hur man listar alla kataloger från ditt Linux-system med det enkla listkommandot. Öppna kommandoradsterminalen och försök med kommandot ”ls” nedan för att bara lista katalogerna. Det kommer inte bara att lista katalogerna utan det totala antalet undermappar och filer som finns i dem. Utdata visar mapparna med information om deras ägare, grupp, läs- och skrivbehörighet och datum för skapande av mappar.

$ ls -l

För att lista alla kataloger och filer i ditt Linux-system måste du använda “-la” istället för enkel “-l” i listkommandot. Kör därför det uppdaterade kommandot för att göra det. Utdata visar alla filer och mappar tillsammans med tilläggsinformation.

$ ls -la

För att helt enkelt lista katalogerna utan ytterligare information, prova kommandot nedan följt av flaggan “-d”.

$ ls -d * /

Du kan också använda samma kommando med liten modifiering för att lista mapparna tillsammans med deras ytterligare information. Du behöver bara lägga till "-l" -flaggan inom detta kommando enligt följande:

$ ls -l -d * /

För att bara kontrollera det totala antalet filer i den specifika hemkatalogen, prova kommandot nedan i skalet. Du får det totala antalet filer i ditt Linux-operativsystem.

$ ls -l | egrep -v '^ d'

Exempel på listkataloger rekursivt

Det finns olika typer av rekursiva kommandon tillgängliga i Linux-system, som kan användas för att lista katalogerna rekursivt. För att förstå var och en av dem antar du att du har 5 filer i din Linux-katalog med namnet "Dokument".

Lista rekursivt med "-lR" -flaggan

Att använda "-lR" -flaggan i din fråga för att rekursivt lista alla kataloger i ditt Linux-system är den första metoden att göra det. Vid utförandet av listkommandot nedan listar det alla mappar och deras undermappar tillsammans med deras bonusinformation, som visas i utdata.

$ ls -lR

Låt oss bara rekursivt lista alla filer eller mappar från någon specifik mapp eller katalog i ditt Linux-system. För detta ändamål, lägg till platsvägen för den specifika katalogen för att lista den rekursivt. Vi vill rekursivt lista alla filer och mappar i katalogen "Dokument" som finns i "hem" -katalogen med kommandot nedan uppdaterat. Utdata visar alla filer och mappar i mappen "Dokument" tillsammans med dess extra information.

$ ls -lR / home / aqsayasin / Documents /

Lista rekursivt med kommandot "Hitta"

Gör det självklart att inte alla Linux-system, t.ex.g., macOS, Unix-liknande OS, har valet att använda “-R” för att lista en katalog. I så fall finns det andra kommandon tillgängliga för att uppfylla våra behov som är kommandot "hitta" och "skriv ut". I det här kommandot kommer vi att ge väg till en mapp tillsammans med hävstångseffekten för att använda kommandot “-ls”. När “-ls” används i kommandot betyder det att det också visar extra information om de kvarvarande filerna och mapparna i en viss katalog. Försök med kommandot nedan i skalet för att rekursivt lista alla filer och mappar i katalogen "Dokument".

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

Nu måste du prova samma instruktion i skalet med en liten förändring. Vi kommer att undvika att använda "-ls" -flaggan i det här kommandot för att sluta visa ytterligare information om filer. Utför frågan nedan i skalet så får du den visade utdata.

$ find / home / aqsayasin / Documents / -print

Lista rekursivt med "-du" -kommandot

Låt oss titta på ett annat exempel för att rekursivt lista filer eller kataloger med en annan ny metod. Den här gången använder vi kommandot “-du” för att uppnå vårt syfte. Detta kommando innehåller “-a-flaggan i den. Tillsammans med flaggorna måste vi också ange katalogens plats. Låt oss utföra instruktionen nedan i terminalskalet för att rekursivt lista alla mappar eller filer i katalogen "Dokument". Utgången visar de 5 posterna för den, som visas nedan. Du kan se det här kommandot visar också antalet bitar som finns i varje fil.

$ du -a / home / aqsayasin / Documents /

Lista rekursivt med kommandot "träd"

Sist men inte minst, vi har en mycket enkel och lättanvänd "träd" -kommandometod för att rekursivt lista filer eller mappar. Vi kommer inte att använda någon flagga i det här kommandot hittills. Du måste ange katalogens plats tillsammans med nyckelordet "träd". Låt oss få ett exempel på det med kommandot nedan. Utgången visar "träd" grenad typ av katalogen "Dokument". Den visar 0 kataloger och 5 filer i utdata.

$ tree / home / aqsayasin / Documents /

Låt oss prova samma "träd" -kommando med en annan plats. Den här gången listar vi rekursivt mapparna i "Hem" -katalogen för användaren "aqsayasin". Utgången visar grenarna till mappen "Hem" med totalt 14 olika mappar, undermappar och 5 filer.

$ träd / hem / aqsayasin /

Slutsats

Vi har provat alla rekursiva metoder för att rekursivt lista kataloger och filer, t.ex.g., “-LR” flagga, hitta och skriva ut, du och trädkommando

OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...
SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...
Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...