Linux: Der Befehl ls -la zeigt eine Datei zeigt auf eine andere Datei. Was bedeutet das?
Geben, wenn ich ls -la
Liste aller Dateien, ich sehe dies:
11 Jul 9 12:04 libcrypto.so -> libcrypto.so.0
Habe ich versucht, den Namen zu ändern von libcrypto:
mv libcryto.so libpmcrypto.so
Und nun zeigt es:
11 Jul 9 12:04 libpmcrypto.so -> libcrypto.so.0
Wirkt sich das auf alles? Und was hat der Pfeil zu bedeuten?
- Der Pfeil zeigt an, dass
libcrypto.so
ist (war) ein symbolischer link ist. Die Umbenennung wird es brechen alle binären (oder andere gemeinsame Bibliothek oder build-Programm, oder ...), die sucht, die shared-Bibliothek mit dem Namenlibcrypto.so
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fragliche Datei ist ein symbolischer link. Dieses ist begrifflich ähnlich zu der Idee einer Verknüpfung, aber es scheint die richtige Datei, wenn Sie es verwenden (Öffnen, kopieren, etc.). Der symbolische link ist ein weiterer name, der "Punkte" die eigentliche Datei. Wenn Sie das tun
ls -l
es zeigt auch an, welche Datei ist wies durch den link. Umbenennung der link hat keine Auswirkungen auf die original-Datei, aber vielleicht brechen die Dinge, die sich auf die link-Namen, genau wie bei jeder anderen Datei Namen. Löschen der link entfernt nur die Zeiger, und hat keine Auswirkungen auf die ursprüngliche Datei. Das löschen der original-Datei verlassen wird der link in einem "broken state", wo der link verweist auf nichts.Bearbeiten
Sie können nicht wirklich Bearbeiten, was symbolische links verweisen. Sie können Sie löschen mit
rm
und dann neu erstellen Sie mit derln -s
Befehl. Werfen Sie einen Blick auf die man-Seiten für weitere Informationen.->
bedeutet libpmcrypto.so ist ein Symbolischer link ist und die gespeicherten Informationen in libcrypto.so.0 ist erreichbar über die libpmcrypto.damit die Datei., Wie man erstellen Sie einen symbolischen link:
Beispiel:
Wenn Sie löschen die soft-link selbst (/home/el/logs), die Datei (/usr/local/apache/logs) würde immer noch da sein.
So finden Sie symbolische links:
Lesen
man ln
für weitere Informationen auf die links.ls -la
Dateien angezeigt werden verweisen auf module Verwendung symbolischer linksBeispielsweise in Ihrer Bibliothek Verzeichnis du die Datei zeigen, auf die .so-Dateien (shared object).
Dies bedeutet, es muss nicht neu kompiliert werden. Sie haben keinen einfachen Weg zu sagen, wie die Dateien verknüpft sind.
Ja, das tut verpasst etwas, in der Tat, sollten Sie nicht ändern, eine shared-library, denn wenn ein 3rd-party-Programm versucht, zu rufen libcryto.so es nicht geht, werden es noch mehr.
Aber wenn Sie sicher sind, dass Sie den Namen ändern willst, würde ich dir empfehlen anrufen nautilus im superuser-Modus:
Und manuell Bearbeiten, indem Sie .0 zum Ende der symlink-name. Sie ändern einen Teil, der es seinen Namen, so dass, wenn ein Programm versucht, es zu nennen, dessen nicht in der Lage sein, um es zu suchen.