Danke für die Korrektur, Gilles! Können Sie ein Beispiel dafür , wie Globbing kann vermasseln das geben , set --ohne -f? Ich habe es mit einem Verzeichnis a[bar]auf der gleichen Ebene wie Verzeichnisse abversucht, aaund es arist mir nicht gelungen. (EDIT: Erfolgreich scheitern, das heißt. Ich möchte wissen, wie es schief geht.)
Janmoesen
9
Linux wird mit dem nameiBefehl geliefert, der hauptsächlich zum Anzeigen symbolischer Links in Pfaden nützlich ist, aber auch den Besitz anzeigen kann.
Andernfalls können Sie die nachfolgenden Verzeichnisse mit einer bestimmten Datei (nicht die einzige, wie andere Antworten auf dieser Seite zeigen) durchlaufen und deren Inhalt auflisten.
d=$PWD;set/;while[-n "$d"];doset--"$@""$d/"; d=${d%/*};done;
ls -ld "$@"
Beachten Sie, dass diese Auflistung bei Vorhandensein symbolischer Links etwas irreführend sein kann. Zum Beispiel, wenn /foo/barein symbolischer Link zu /hello/worlddenen sich ein symbolischer Link auf /one/two, und alle /foo, /hellound /worldsind die Welt lesbar (etwa 755) , sondern /helloist auf Benutzer Alice nicht lesbar, dann Alice nicht in der Lage zu erreichen /foo/bar, noch In der obigen Auflistung werden nur weltweit lesbare Verzeichnisse angezeigt.
set --
ohne-f
? Ich habe es mit einem Verzeichnisa[bar]
auf der gleichen Ebene wie Verzeichnisseab
versucht,aa
und esar
ist mir nicht gelungen. (EDIT: Erfolgreich scheitern, das heißt. Ich möchte wissen, wie es schief geht.)Linux wird mit dem
namei
Befehl geliefert, der hauptsächlich zum Anzeigen symbolischer Links in Pfaden nützlich ist, aber auch den Besitz anzeigen kann.Andernfalls können Sie die nachfolgenden Verzeichnisse mit einer bestimmten Datei (nicht die einzige, wie andere Antworten auf dieser Seite zeigen) durchlaufen und deren Inhalt auflisten.
Beachten Sie, dass diese Auflistung bei Vorhandensein symbolischer Links etwas irreführend sein kann. Zum Beispiel, wenn
/foo/bar
ein symbolischer Link zu/hello/world
denen sich ein symbolischer Link auf/one/two
, und alle/foo
,/hello
und/world
sind die Welt lesbar (etwa 755) , sondern/hello
ist auf Benutzer Alice nicht lesbar, dann Alice nicht in der Lage zu erreichen/foo/bar
, noch In der obigen Auflistung werden nur weltweit lesbare Verzeichnisse angezeigt.quelle
quelle
Ich kenne keinen kurzen Weg, dies zu tun. Für diese Aufgabe verwende ich ein Shell-Skript, das Sie möglicherweise auch nützlich finden:
BEARBEITEN : Die Verwendung einer
until
Schleife macht die Pause überflüssig ...quelle
IFS
Aufteilen zu nutzen/
, wie es Janmoesen tut .Nicht so kompliziert, aber das würde dir wohl helfen.
quelle