Hallo,
hoffentlich bin ich hier nicht allzu verkehrt.
Weiß jemand, wo in einem Linuxsystem die Links auf irgendwelche Dateien aufgelistet sind?
Hintergrund meiner Frage: ich habe einen Linux-Satellitenreceiver (VU-Plus-Ultimo), bei dem ich die Aufnahmen in spezielle Ordner einsortiere. Das Gerät erzeugt aber immer zugleich einen Link auf solche Aufnahmen und erzeugt damit einen ständig zunehmenden Haufen von Links auf anderswo gelagerte Dateien. Diese Linksammlung würde ich gern hin und wider editieren.
Ziemlich unklar was du sagst. Aber wenn es um Symbolic Links geht, die sind halt wo man sie findet.
Eine Datei is z.B. gelagert /sateliten/aufnahmen/schöne-aufname/
Dan kan irgenwo anders einen Link existieren, z.b. in dien Home: /home/mgdb/beste-aufname di dahin links.
Aber warum zeigst do nicht mal so ein link mit
ls -l
das wir was Anderes haben als lauter Gecshichten erzählen. Du weisst anscheinend wo die sind sonst wïrde du nicht fragen.
Es konnte sein dass, deine Satellitenempfänger hat ein Systemprozess die Links pflegt.
Mit „stat” Mann kann feststellen ob, es handelt sich um eine „symbolische Verknüpfung” oder eine „harte Link”.
Leider, „Links” umbenennen geht’s nicht – Mann muss ein Link löschen und nachher neu aufsetzen – vorausgesetzt dass, Du kommst nicht in die Quere mit das System deine Satellitenempfänger …
Also so wie ich es verstehe war die Frage wie man alle existierenden Links im System anzeigen kann.
Und sowas geht nicht, weil es kein globales Verzeichnis dafür gibt.
Evtl. könnte man das ganze Filesystem nach links absuchen, z.B.:
Satellitenempfänger – möglicherweise wie bei mein QNAP NAS – ein eingeschränkte eingebettetes Linux.
Hier ein SSH Sitzung mit die Administrator Kommandozeile:
NB: „BusyBox” …
/] # find -?
**BusyBox** v1.01 (2019.12.05-18:38+0000) multi-call binary
Usage: find [PATH...] [EXPRESSION]
Search for files in a directory hierarchy. The default PATH is
the current directory; default EXPRESSION is '-print'
EXPRESSION may consist of:
-follow Dereference symbolic links.
-name PATTERN File name (leading directories removed) matches PATTERN.
-print Print (default and assumed).
-type X Filetype matches X (where X is one of: f,d,l,b,c,...)
-perm PERMS Permissions match any of (+NNN); all of (-NNN);
or exactly (NNN)
-mtime TIME Modified time is greater than (+N); less than (-N);
or exactly (N) days
/] #
Da gibt es einen Ordner, den der Satellitenreceiver (VU Solo4k) selbständig anlegt, der aber nicht sichtbar ist, wenn man entweder per ssh oder durch irgendeinen Dateimanager auf das Gerät zugreift. In diesen Ordner namens Letzte-Aufnahmen sind hunderte Links auf Videodateien aufgelistet.
Diesen unübersichtlichen Haufen würde ich gern aufräumen. Meine Hoffnung war, daß es irgendwo in Inneren des Linux ein Verzeichnis geben könnte, wo die Links gespeichrt sind und das man editieren könnte.
Wenn es dieses Verzeichnis gäbe, so würde vielleicht einer der Experten hier wissen, wie es heißt oder wo man danach suchen sollte.
VG
Edit: In meiner Auflistung aus ls -l sieht man zwar eingige Links, aber die betreffen ja ganze Directories mit vielen Dateien und vielen GB. Das müßte es für die einzelnen Videodateien geben - und die Links müßte man löschen können ohne die zugrunde liegenden Videodateien zu löschen.
Wie oben schon von verschiedene Leute erklärt gibt es sowas nicht.
Symbolic Links sind einfach auch Dateien. Nur der Inhalt is einfach das Pfad wo man wirklich sein muß. Schau mal:
lrwxrwxrwx 1 root root 5 Oct 2 15:25 mnt -> media
Der inhalt is 5 Bytes groß und darin passt media genau.
Weil das Typ Symbolic Link ist (sichtbar in der Liste weil es mit l anfangt), weiß der Kernel wie damit um zu gehen.
Andere Typs sind d für directory/Verzeichnis und - fúr normale Datei, c für character device file, b für block device file, und mehrere.
Die sind also einfach in der Verzeichnis drin und nirgendwo anders.
Eine list kann man aber selber hestellen, wie schon von @wolfi323 angegeben. Nur was er gibt:
find / -type l
zeigt alle Links im ganzen System. Du möchtest das warscheinlich einschränken:
find <Pfad-zu-dein-interessanten-Verzeichnis> -type l
Übrigens verstehe ich nicht warum das Verzeicnis nicht “sichtbar” ist. Fangt der Name vielleicht miet einen . (Punkt) an?
Die werden nämlich von den meisten Applikationen nur gezeigt wenn man das extra fragt.
Z.B. nicht:
ls -l
sondern
ls -la
Und bei Dolphin gibt es (auf Englisch) unter View > Show hidden files, Tastatur Alt-. (also Alt drücken und dan Punkt).
Andere ähnlich.
Das Ding kann anscheinend als ein NFS Server im LAN fungieren …
Beim UNIX® und Linux, „nicht sichtbarer Verzeichnisse” (und Dateien) sind „versteckte Dateien” (und, deswegen, auch, „versteckte Verzeichnisse”).
Beim UNIX® und Linux ein grundlegende Satz ist normalerweise in die erste Schulungsstunde enthalten: „ALLES
ist eine Datei” – auch die Verzeichnisse … - Beim UNIX® und Linux ein Verzeichnis ist eine Datei die Zeiger-Information bezüglich die Dateien ihre Speicherstellen hergibt.
Beim UNIX® und Linux, die Dateinamen „versteckte Dateien” fangen mit „.” an.
Beim UNIX® und Linux, eine Verknüpfung ist auch eine (minimalistische) Datei dass, auf eine anderer Datei zeigt.
Zum welchen Zweck?
Die Entwickler die Vu+ Produkte haben entschieden es sollte so sein und, normalerweise, das was!
[HR][/HR]Eine Ausnahme: das Verzeichnis „Letzte-Aufnahmen” enthält Verknüpfungen die zeigen in die Leere – kaputte Verknüpfungen …
In diesen Fall und, nur in diesen Fall
, kann die Verknüpfungen mit „rm” gelöscht werden …
Die Verknüpfungen (Dateien) sind in das ursprüngliche Verzeichnis gespeichert und, nirgendwo anders …
Warum?
Die Dateien wird nur einmal abgelegt – die Verknüpfungen drauf benötigen nur minimale Speicherplatz in die Datei der das ursprüngliche Verzeichnis ist …
Das ursprüngliche Verzeichnis ist eine Datei.
Diese Datei enthält Information bezüglich die Verknüpfungen und, diese Information ist minimal – kaum Speicherplatz nötig – nur die Bytes in die Buchstaben der Pfad das Ziel …
[HR][/HR]An alle Andern:
Bitte, das Kiste ist ein eingeschränkte eingebettetes Linux, wahrscheinlich mit „BusyBox”.
Deswegen, ist „find” wahrscheinlich minimalistisch …
Folgende „find” Befehlen wird wahrscheinlich nicht funktionieren:
# find . -xtype l
# find . -type l ! -exec test -e {} \; -print
# find . -type l -exec sh -c 'file -b "$1" | grep -q ^broken' sh {} \; -print
Das „-exec” Option steht möglicherweise auf der Satellitenempfänger nicht verfügung …
Hallo allerseits, ich habe tolle Neuigkeiten für euch. Dank dieses Links https://book-of-ra-slot.com/casino-25-euro-bonus-ohne-einzahlung/ können Sie viele Boni erhalten und auch gutes Geld verdienen. In diesem Link finden Sie ein großartiges Online-Casino, in dem Sie den Geschmack des guten Lebens spüren können.