Hoe een lijst van alle bestanden en subdirectory inhoud in een map
Ooit wilde zien niet alleen elk bestand in een bepaalde map, maar alle bestanden in die mappen begraven subdirectories? Als u op zoek bent naar wat in feite een recursieve lijst van bestanden in een bepaalde map is, laten we u een goede truc zien voor de Mac OS X Finder waarmee u precies dat kunt doen, en ook enkele meer geavanceerde benaderingen laten zien met behulp van de opdracht lijn.
Vouw alle submappen en lijstmapinhoud uit in de OS X Finder
Om snel te zien wat zich in alle submappen van een map in de Finder bevindt, opent u de bovenliggende map en gaat u naar de lijstweergave. Nu moet je de Option-toets ingedrukt houden en op het kleine pijltje naast de naam van de map klikken om die map en alle submappen tegelijkertijd uit te vouwen.
Het resultaat is dat elke submap in de map die u hebt aangeklikt met de pijl op de inhoud ook zal onthullen:
Als u nogmaals op die pijl klikt, worden alle submappen gesloten, anders wordt dit de nieuwe standaardweergave wanneer u op de pijl klikt.
Houd er rekening mee dat als u via deze methode verborgen bestanden wilt bekijken, u verborgen bestanden in de Mac OS X Finder afzonderlijk wilt laten weergeven, die vervolgens via elke map worden uitgevoerd totdat deze weer wordt uitgeschakeld.
De bovenstaande aanpak zal voor de meeste gebruikers de gemakkelijkste methode zijn en de volgende twee methoden zijn gericht op de opdrachtregel en zijn gericht op gebruikers die comfortabel zijn in de terminal.
Maak een lijst van alle bestanden en subdirectory-inhoud vanaf de opdrachtregel
Om alle bestanden recursief weer te geven vanaf de opdrachtregel, kunt u de vlag -R aan de traditionele ls-opdracht koppelen. Dit breidt subdirectories uit en vermeldt de bestanden die erin staan. Deze commando's werken in vrijwel alle vormen van Unix, van OS X tot Linux of wat je ook tegenkomt.
ls -R ~/Desktop/
Voorbeelduitvoer ziet er ongeveer zo uit:
/Users/macuser/Desktop//wallpapers:
Dark Tower.jpg milky-way.jpg
car.jpg ngc602.jpg
flaming-star-nebula.jpg ngc6188Kfir2000.jpg
windows.jpg m33.jpg
/Users/macuser/Desktop//trip:
volcano.jpeg itenerary.txt tickets.JPG
De uitvoer is redelijk, maar het kan beter worden geregeld.
Het gebruik van de -lah-vlaggen naast -R toont rechten, eigendom, wijzigingsdatums en het maakt het lezen van bestandsinformatie veel eenvoudiger. De vlag -a is optioneel, waardoor verborgen bestanden ook kunnen worden weergegeven.
ls -lahR ~/Desktop/
Voorbeelduitvoer ziet er als volgt uit:
/Users/macuser/Desktop/wallpapers:
total 5464
drwxr-xr-x@ 11 macuser staff 374B Jan 14 15:32 .
drwxr-xr-x 522 macuser staff 17K Jan 28 10:20 ..
-rw-r--r--@ 1 macuser staff 254K Jan 13 15:44 Dark Tower.jpg
-rw-r--r--@ 1 macuser staff 101K Jan 14 15:32 cars.jpg
-rw-r--r--@ 1 macuser staff 141K Jan 13 15:44 star-nebula.jpg
-rw-r--r--@ 1 macuser staff 206K Jan 14 09:57 nintendo.jpg
-rw-r--r--@ 1 macuser staff 134K Jan 13 15:44 m33.jpg
-rw-r--r--@ 1 macuser staff 1.4M Jan 13 15:30 milky-way.jpg
-rw-r--r--@ 1 macuser staff 153K Jan 13 15:44 ngc602.jpg
-rw-r--r--@ 1 macuser staff 194K Jan 13 15:44 windows.jpg
/Users/macuser/Desktop/trip:
total 360
drwxr-xr-x@ 6 macuser staff 204B Dec 9 13:43 .
drwxr-xr-x 522 macuser staff 17K Jan 22 10:20 ..
-rw-r--r--@ 1 macuser staff 6.0K Dec 9 13:43 .DS_Store
-rw-r--r--@ 1 macuser staff 30K Dec 8 12:41 volcano.jpeg
-rw-r--r--@ 1 macuser staff 45K Dec 8 12:41 itinerary.txt
-rw-r--r--@ 1 macuser staff 88K Dec 9 12:31 tickets.JPG
U zult zien dat het pad naar elk bestand boven de bestanden zelf wordt vermeld, waarbij de submappen worden uitgebreid zoals de Finder-methode die bovenaan wordt genoemd. U kunt het pad echter krijgen om de bestandsnaam door te voeren door een ander commando volledig te gebruiken.
Alle bestanden recursief weergeven met de weergegeven paden in de volledige map
Als u tenslotte een lijst wilt met alle bestanden met hun volledige paden gespecificeerd, kunt u zich wenden tot de opdracht find.
find ~/Desktop/Sample/ -type f
Hiermee wordt het volledige pad naar elk bestand in een vermelding gedumpt:
/Users/macuser/Desktop/Sample/x11.jpg
/Users/macuser/Desktop/Sample/Files/alpha-tool-preview.jpg
/Users/macuser/Desktop/Sample/Files/alpha-tool.jpg
/Users/macuser/Desktop/Sample/Files/reveal-editing-tools-preview.jpg
/Users/macuser/Desktop/Sample/Files/save-transparent-png.jpg
Als u een directorylijst met iemand wilt delen, biedt de opdracht find waarschijnlijk superieure resultaten. In een dergelijk geval kunt u de uitvoer eenvoudig naar een bestand dumpen door een> aan het einde als volgt te bevestigen:
find /Path/To/List -type f > FilesWithPaths.txt
De vlag "-type f" betekent alleen normale bestanden. Als u meer objecten of symbolische koppelingen wilt weergeven, kunt u de man-pagina bekijken voor meer informatie.