Ich habe einen symbolischen Link in meinem /var/www/
Verzeichnis, der auf WordPress verweist. Wenn ich den Befehl ls -la
aus dem /var/www/
Verzeichnis ausführe, wird der Link zu WordPress nicht angezeigt. Gibt es eine Möglichkeit, alle symbolischen Links in einem Verzeichnis aufzulisten?
command-line
symbolic-link
find
ls
Isaac
quelle
quelle
Antworten:
grep
Mit demls
Befehl können Sie alle im aktuellen Verzeichnis vorhandenen symbolischen Links auflisten.Dadurch werden alle im aktuellen Verzeichnis vorhandenen Links aufgelistet.
quelle
->
" enthält. Versuchen Sie es einfachtouch "foo->"
grep
mitmachen^l
?alias listlinks='ls -l --color | grep "\->"'
8-)Parsing
ls
ist eine schlechte Idee ® , bevorzugen Siefind
in diesem Fall eine einfache :So verarbeiten Sie nur das aktuelle Verzeichnis:
Credits: Wie kann ich die Shell so konfigurieren, dass die von einem ls -A -Befehl zurückgegebenen Dateinamen erkannt werden und diese Namen Leerzeichen enthalten?
quelle
find: Unknown argument to -type: 1
1
(eine), sondernl
(Link)find /<your_directory> -maxdepth 1 -type l -ls 2>/dev/null
Danke!-maxdepth 1
.awk
, und möchten wahrscheinlich nur dies:find . -maxdepth 1 -type l | sort -n
Der
ls -la
Befehl zeigt alle Dateien und Ordner sowie das symbolisch verknüpfte Verzeichnis an. Wenn dieser Befehl kein symbolisches Verzeichnis anzeigt, bedeutet dies, dass Sie keinen symbolischen Link zu WordPress haben .Sehen Sie das Ergebnis des Laufens
ls -la
:Sie werden sehen, dass alle symbolischen Verzeichnisse
l
beim Aufrufen der Berechtigungsflags die Berechtigung haben. und wenn Sie ein grep mitnehmen^l
, können Sie nur symbolische Dateien oder Verzeichnisse auflisten :Treiber- und Subsystemverzeichnis sind hier symbolische Verknüpfungen zu anderen Verzeichnissen.
quelle
l
, handelt es sich um einen symbolischen Link.grep
ist dein Freund:Dies listet Zeilen auf, die mit "l" beginnen und Verknüpfungen in der Spalte "perms" anstelle der
l
Verwendungd
für Verzeichnisse und-
für Dateien darstellenquelle
POSIXly:
quelle
So zeigen Sie die symbolischen Links in einem Verzeichnis an:
Öffnen Sie ein Terminal und wechseln Sie in dieses Verzeichnis.
Geben Sie den Befehl ein:
Dadurch werden alle Dateien im Verzeichnis aufgelistet, auch wenn sie ausgeblendet sind.
Die Dateien, die mit beginnen,
l
sind Ihre symbolischen Verknüpfungsdateien.quelle
Dies gibt alle symbolisch verknüpften Elemente (sowohl dirs als auch fns) in einem Verzeichnis zurück:
Um jedoch zwischen tatsächlichen symbolisch verknüpften Artikeltypen zu unterscheiden:
Gibt nur symbolisch verknüpfte Dateinamenelemente zurück. Und,
Gibt nur symbolisch verknüpfte Verzeichniseinträge zurück.
quelle
Typ
ls -lai
, es listet alle Dateien und Unterverzeichnisse mit entsprechenden inode numbers.You wissen Dateien mit gleichen Inode - Nummer sind die Links (hart oder weich) und diese Lösung funktioniert auch für die symbolischen Links.quelle
ls -lai
zeigt nicht dieselbe Inode-Nummer für eine Datei und ihre symbolischen Verknüpfungen an. Im Gegensatz zu festen Links haben symbolische Links eigene Inode-Einträge. So sieht es aus.Kann auch mit Python gemacht werden:
Probelauf:
Dies kann über die
os.walk
Funktion rekursiv erweitert werden , aber es reicht aus, eine einfache Listengenerierung zum Auflisten von Links in einem einzelnen Verzeichnis zu verwenden, wie oben gezeigt.quelle