GNU/Linux >> LINUX-Kenntnisse >  >> Linux

[Linux-Tipps] So listen Sie Symlinks unter Linux auf

Wir wussten bereits, was Symlinks oder symbolische Links oder Softlinks sind und wie man defekte Symlinks findet und löscht von unserem Linux-System. Heute werden wir lernen, wie man Symlinks unter Linux auflistet. Wenn Sie einige Symlinks vor langer Zeit erstellt haben und sie vollständig vergessen, hilft Ihnen dieser schnelle Tipp, die symbolischen Links mit dem Befehl "Suchen" einfach zu finden.

Symlinks unter Linux auflisten

Um alle Symlinks oder symbolischen Links oder Softlinks in einem Linux-System aufzulisten, führen Sie Folgendes aus:

$ sudo find / -type l

Hier,

  • / - repräsentiert das gesamte Dateisystem.
  • -typ - bezieht sich auf den Dateityp.
  • l - verweist auf den Symlink.

Dieser Befehl sucht nach allen verfügbaren symbolischen Links im gesamten Dateisystem. Abhängig von der Größe Ihres Dateisystems wird es eine Weile dauern. Bitte haben Sie etwas Geduld!

Wenn Sie die Symlink-Suche auf ein bestimmtes Verzeichnis beschränken möchten, geben Sie dessen Pfad wie unten gezeigt an.

Der folgende Befehl listet beispielsweise alle Softlinks im aktuellen Verzeichnis auf :

$ find . -type l

Bitte beachten Sie den einzelnen Punkt (.) im obigen Befehl. In Linux wird der einzelne Punkt (.) verwendet, um das aktuelle (vorhandene) Verzeichnis darzustellen. Der doppelte Punkt (..) wird verwendet, um das übergeordnete Verzeichnis darzustellen.

Beispielausgabe:

./snap/multipass/current
./snap/multipass/1597/.config/autostart
./snap/multipass/1597/config/autostart/multipass.gui.autostart.desktop
./snap/multipass/1784/.config/autostart
./snap/multipass/1784/config/autostart/multipass.gui.autostart.desktop
./.local/share/webkitgtk/databases/indexeddb/v0
find: ‘./.dbus’: Permission denied
./.config/spyder-py3/spyder.lock
./Downloads/Tor browser/Browser/.config/ibus/bus
./.mozilla/firefox/htoypxlg.default-1563118799416/lock

Wenn Sie Symlinks in einem anderen Verzeichnis suchen möchten, ersetzen Sie den Punkt (.) durch den Verzeichnispfad.

Wenn Sie eine detaillierte Ausgabe einschließlich Zeitstempel, Dateiberechtigungen, Eigentümer und Gruppe wünschen, verwenden Sie stattdessen den folgenden Befehl:

$ find . -type l -ls

Beispielausgabe:

  4458987      0 lrwxrwxrwx   1 sk       sk              4 Mar  6 13:58 ./snap/multipass/current -> 1784
 11927799      0 lrwxrwxrwx   1 sk       sk             19 Mar  5 11:20 ./snap/multipass/1597/.config/autostart -> ../config/autostart
 11932200      4 lrwxrwxrwx   1 sk       sk             72 Feb 27 15:30 ./snap/multipass/1597/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1597/usr/share/multipass/multipass.gui.autostart.desktop
 11534358      0 lrwxrwxrwx   1 sk       sk             19 Mar 17 11:51 ./snap/multipass/1784/.config/autostart -> ../config/autostart
 11666096      4 lrwxrwxrwx   1 sk       sk             72 Mar  6 13:58 ./snap/multipass/1784/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1784/usr/share/multipass/multipass.gui.autostart.desktop
  5246237      0 lrwxrwxrwx   1 sk       sk             51 Feb 12 20:14 ./.local/share/webkitgtk/databases/indexeddb/v0 -> /home/sk/.local/share/webkitgtk/databases/indexeddb
find: ‘./.dbus’: Permission denied
  4459630      0 lrwxrwxrwx   1 sk       sk              5 Jan 24 17:39 ./.config/spyder-py3/spyder.lock -> 18461
  4340805      0 lrwxrwxrwx   1 sk       sk             25 Feb 15 15:21 ./Downloads/Tor\ browser/Browser/.config/ibus/bus -> /home/sk/.config/ibus/bus
  4328111      0 lrwxrwxrwx   1 sk       sk             20 Mar 17 11:56 ./.mozilla/firefox/htoypxlg.default-1563118799416/lock -> 192.168.225.37:+2642

Symlinks unter Linux auflisten

Wie Sie vielleicht in den obigen Ausgaben bemerkt haben, sucht der find-Befehl nach den symbolischen Links im aktuellen Verzeichnis und seinen Unterverzeichnissen.

Wenn Sie alle symbolischen Links eine Ebene tiefer im aktuellen Verzeichnis auflisten möchten, verwenden Sie maxdepth kennzeichnen wie unten.

$ find . -maxdepth 1 -type l

Eine andere Möglichkeit, die Liste der symbolischen Links im aktuellen Verzeichnis zu finden:

$ find . -type l -printf '%p -> %l\n'

Dadurch werden alle Symlinks im aktuellen Verzeichnis rekursiv aufgelistet. Außerdem zeigt es die tatsächlichen Dateien an, auf die es verweist.

Beispielausgabe:

./snap/multipass/current -> 1784
./snap/multipass/1597/.config/autostart -> ../config/autostart
./snap/multipass/1597/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1597/usr/share/multipass/multipass.gui.autostart.desktop
./snap/multipass/1784/.config/autostart -> ../config/autostart
./snap/multipass/1784/config/autostart/multipass.gui.autostart.desktop -> /snap/multipass/1784/usr/share/multipass/multipass.gui.autostart.desktop
./.local/share/webkitgtk/databases/indexeddb/v0 -> /home/sk/.local/share/webkitgtk/databases/indexeddb
find: ‘./.dbus’: Permission denied
./.config/spyder-py3/spyder.lock -> 18461
./Downloads/Tor browser/Browser/.config/ibus/bus -> /home/sk/.config/ibus/bus
./.mozilla/firefox/htoypxlg.default-1563118799416/lock -> 192.168.225.37:+2642

Weitere Einzelheiten finden Sie in den Manpages.

$ man find

Hoffe das hilft.


Linux
  1. So verwenden Sie den Linux-SS-Befehl

  2. So listen Sie laufende Prozesse in Linux auf

  3. So verwalten und listen Sie Dienste in Linux auf

  4. So listen Sie alle installierten Pakete in Linux auf

  5. Linux – Wie listet man Namespaces in Linux auf?

So listen Sie Festplatten unter Linux auf

So listen Sie Dienste unter Linux auf

So finden Sie defekte Symlinks in Linux

So listen Sie nur Verzeichnisse in Linux auf

Wie listet man alle Gruppen in Linux auf?

So erhalten Sie eine Liste symbolischer Links unter Linux