Wie alle Dateien zu finden, die grundsätzlich soft-oder hard-links auf andere Verzeichnisse oder Dateien auf linux?
Wie bekomme ich die Liste aller verknüpften Dateien auf meinem system oder aus einem bestimmten Verzeichnis. Ich verwendet, um Verknüpfungen zu erstellen, aber Sie wurde mit der Zeit unüberschaubar. Ich will die Liste aller solcher links aus einem Verzeichnis. Kann mir jemand helfen?
InformationsquelleAutor der Frage DKSRathore | 2009-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Suche nach symlinks ist einfach:
Suche schwer links zu bekommen ist schwierig, denn wenn ein Unterverzeichnis des Verzeichnisses, in Frage, hat auch Unterverzeichnisse werden dann die Erhöhung der hard link count. Das ist, wie Unterverzeichnisse sind im Zusammenhang mit Ihren Eltern in UNIX (es ist die
..
Eintrag in jedem Unterverzeichnis).Wenn Sie nur wollen, finden Sie verlinkte Dateien (und keine Verzeichnisse), wird diese Arbeit:
Dies funktioniert, weil eine Datei, die hat haben hard-links ist ein link count > 1, und nicht verknüpfte Datei hat einen link count == 1, daher ist dieser Befehl sucht alle Dateien, deren link count <> 1
Alternativ, auf neueren Versionen von
find
Sie verwenden könnten:Dies funktioniert aus dem gleichen Grund wie oben; jedoch neuere Versionen finden können, nehmen Sie +n oder -n, anstatt nur eine Zahl. Dies ist gleichbedeutend mit einem Test auf größer als n oder kleiner als n, beziehungsweise.
InformationsquelleAutor der Antwort Alnitak
InformationsquelleAutor der Antwort amber_linux
@OP, Wenn Sie GNU finden, finden Sie hard-links mit
-printf "%n"
z.B.
InformationsquelleAutor der Antwort ghostdog74
Siehe z.B. hier
https://www.gnu.org/software/findutils/manual/html_node/find_html/Hard-Links.html
oder kombinieren Sie Alnitak und amber_linux Antwort in
find -L /where/to/search -samefile /some/link/to/file
finden Sie alle hard-und soft-links auf eine bestimmte Datei.
InformationsquelleAutor der Antwort Echsecutor