Is List Only Directories recursief in Linux?

Is List Only Directories Recursively Linux



Het woord recursief verwijst naar het feit dat commando's van een Linux- of Unix-besturingssysteem de inhoud van mappen behandelen, en als een map submappen en documenten heeft, werkt de instructie nog steeds met al die documenten (recursief). Het kan zijn dat de onderliggende map zijn eigen set bestanden en mappen heeft (bijvoorbeeld grote mappen), enzovoort. Je zult verschillende Linux-instructies gebruiken om recursief door elke map te gaan voordat je de rand van de opgegeven map bereikt. Op dat niveau keren Linux-instructies terug naar een afslag van de boom en herhalen ze het proces voor alle submappen die er zijn. In deze zelfstudie leert u alle methoden om de mappen recursief weer te geven.

Voorbeelden van eenvoudige lijstmappen

Allereerst moet u weten hoe u alle mappen van uw Linux-systeem kunt weergeven met behulp van het eenvoudige list-commando. Open de opdrachtregelterminal en probeer de onderstaande ls-opdracht om alleen de mappen weer te geven. Het zal niet alleen de mappen weergeven, maar ook het totale aantal submappen en bestanden die zich daarin bevinden. De uitvoer toont de mappen met de informatie over hun eigenaar, groep, lees-schrijfrechten en de datum waarop de mappen zijn gemaakt.







$ ls -l



Om alle mappen en bestanden in je Linux-systeem op te sommen, moet je -la gebruiken in plaats van eenvoudig -l in het list-commando. Voer daarom de bijgewerkte opdracht uit om dit te doen. De uitvoer toont alle bestanden en mappen samen met hun aanvullende informatie.



$ ls -la





Om eenvoudig de mappen weer te geven zonder aanvullende informatie, probeert u de onderstaande opdracht gevolgd door de vlag -d.

$ ls-d * /



U kunt dezelfde opdracht met kleine aanpassingen ook gebruiken om de mappen samen met hun aanvullende informatie weer te geven. U hoeft alleen de vlag -l binnen deze opdracht als volgt toe te voegen:

$ ls –l –d * /

Om alleen het totale aantal bestanden in de specifieke thuismap te controleren, probeert u de onderstaande opdracht in de shell. U krijgt het totale aantal bestanden in uw Linux-besturingssysteem.

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

Voorbeeld van het recursief weergeven van mappen

Er zijn verschillende soorten recursieve commando's beschikbaar in Linux Systems, die kunnen worden gebruikt om de mappen recursief weer te geven. Om elk van hen afzonderlijk te begrijpen, neem aan dat je 5 bestanden in je Linux-directory hebt met de naam Documenten.

Lijst recursief met -lR Flag

Om de vlag -lR in uw query te gebruiken om recursief alle mappen van uw Linux-systeem weer te geven, is de eerste methode om dit te doen. Bij het uitvoeren van de onderstaande lijstopdracht, worden alle mappen en hun submappen weergegeven, samen met hun bonusdetails, zoals weergegeven in de uitvoer.

$ ls -lR

Laten we gewoon recursief alle bestanden of mappen weergeven van een specifieke map of map van uw Linux-systeem. Voeg hiervoor het locatiepad van de specifieke map toe om deze recursief weer te geven. We willen recursief alle bestanden en mappen weergeven van de map Documenten die zich in de thuismap bevinden met behulp van de hieronder bijgewerkte opdracht. De uitvoer toont alle bestanden en mappen in de map Documenten samen met de extra informatie.

$ ls –lR / home / aqsayasin / Documenten /

Recursief weergeven met zoekopdracht

Maak het jezelf duidelijk dat niet alle Linux-systemen, bijv. macOS, Unix-achtig besturingssysteem, de keuze hebben om -R te gebruiken om de mappen weer te geven. In dat geval zijn er andere opdrachten beschikbaar om aan onze behoeften te voldoen, namelijk de opdracht zoeken en afdrukken. In deze opdracht geven we een pad naar een map samen met de hefboomwerking van het gebruik van de opdracht -ls. Wanneer -ls wordt gebruikt in het commando, betekent dit dat het ook de extra informatie toont over de aanwezige bestanden en mappen van een specifieke map. Probeer de onderstaande opdracht in de shell om recursief alle bestanden en mappen van de map Documenten weer te geven.

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

Nu moet je dezelfde instructie in de shell proberen met een kleine verandering. We vermijden het gebruik van de vlag -ls in deze opdracht om te voorkomen dat de aanvullende informatie over bestanden wordt weergegeven. Voer de onderstaande query uit in de shell en u zult de weergegeven uitvoer hebben.

$ zoek /home/aqsayasin/Documents/ -print

Lijst recursief met -du Command

Laten we een ander voorbeeld bekijken om de bestanden of mappen recursief weer te geven met een andere nieuwe methode. Deze keer zullen we de opdracht -du gebruiken om ons doel te bereiken. Deze opdracht bevat de vlag -a erin. Samen met de vlaggen moeten we ook de maplocatie specificeren. Laten we de onderstaande instructie in de terminalshell uitvoeren om recursief alle mappen of bestanden van de map Documenten weer te geven. De uitvoer toont de 5 records ervoor, zoals hieronder weergegeven. U kunt zien dat deze opdracht ook het aantal beten in elk bestand laat zien.

$ du –a / home / aqsayasin / Documenten /

Lijst recursief met tree Commando

Last but not least hebben we een zeer eenvoudige en gebruiksvriendelijke boom-opdrachtmethode om de bestanden of mappen recursief weer te geven. We zullen tot nu toe geen vlag in deze opdracht gebruiken. U moet de directorylocatie samen met de trefwoordboom opgeven. Laten we er een voorbeeld van hebben met behulp van de onderstaande opdracht. De uitvoer toont de boomvertakte uitvoer van de map Documenten. Het toont 0 mappen en 5 bestanden in de uitvoer.

$ boom /home/aqsayasin/Documenten/

Laten we hetzelfde tree-commando proberen met een andere locatie. Deze keer geven we recursief de mappen weer van de 'Home'-directory van de gebruiker aqsayasin. De uitvoer toont de takken van de map Home met in totaal 14 verschillende mappen, submappen en 5 bestanden.

$ boom /home/aqsayasin/

Conclusie

We hebben alle recursieve methoden geprobeerd om de mappen en bestanden recursief weer te geven, bijv. -lR flag, find and print, du en tree commando