[LINUX] Was ist der Unterschied zwischen symbolischen und harten Links?

Kennen Sie den Unterschied zwischen symbolischer Verknüpfung und fester Verknüpfung und wie man sie richtig verwendet? Ich wusste nicht viel darüber und suchte nach verwandten Artikeln.

Dieser Artikel war als Figur intuitiv leicht zu verstehen. Jedes Feature ist außerdem leicht verständlich geschrieben. https://eng-entrance.com/linux-permission-link

Symbolischer Link

Ist es nicht einfach, das Bild symbolischer Links als Verknüpfungen zu verstehen? Erstellen Sie einen symbolischen Link "symkink_fname", der auf eine Datei mit dem Namen "original_fname" verweist.

./original_fname ./symlink_fname

Hier

cat ./symlink_fname

Wenn du rennst

cat ./original_fname

Sollte den gleichen Vorgang bedeuten wie. Mit anderen Worten

rm ./symlink_fname

Ist


rm ./original_fname

Entspricht und die Originaldatei "original_fname" wird gelöscht.

Diesbezüglich werden in diesem Artikel beispielsweise die Vorsichtsmaßnahmen beim Löschen symbolischer Links beschrieben. https://mimirswell.ggnet.co.jp/blog-165 Der Punkt ist, dass Sie den Link mit dem Befehl rm löschen können, aber es ist gefährlich, also verwenden wir unlink.

Harte Verbindung

Was ist dagegen mit harten Links?

./original_fname ./hardlink_fname

Jeder Pfad verweist auf dieselbe Entitätsdatei. In diesem Staat


open ./hardkink_fname

Wenn Sie ausführen

open <Echte Datei>

Es bedeutet. Interessant ist, dass es so etwas wie einen Referenzzähler zur eigentlichen Datei gibt.

rm ./hardkink_fname

Löscht den Pfad . / Hardkink_fname, aber nicht die eigentliche Datei.

Weil ursprünglich die Situation, über die ich jetzt nachdenke ./original_fname ./hardlink_fname Da es zwei "Referenzen" gab, blieb eine übrig, auch wenn eine "Referenz" gelöscht wurde.

Und wenn die Anzahl der "Referenzen" 0 wird, scheint die Entität ebenfalls gelöscht zu sein.

Inode und aktuelle Datei

Bisher haben wir die Wörter "Entität" und "Referenz" verwendet, um das Bild zu erfassen, aber um es richtig zu erklären, müssen wir Inode berühren.

Ist dieser Artikel leicht zu verstehen? https://qiita.com/katsuo5/items/fc57eaa9330d318ee342

Wie man harte Links benutzt

Es scheint, dass häufig symbolische Links verwendet werden. Wann werden Hardlinks verwendet?

Lesen Sie die Antwort auf diese Frage, ich verstehe! Ich denke. https://q.hatena.ne.jp/1265361495

Es wird gesagt, dass das Ziel verwendet wird, um auf die E-Mails mehrerer Personen auf dem IMAP-Server zu verweisen. Dies bedeutet, dass Sie es nicht kopieren müssen und es ordnungsgemäß gelöscht wird.

...Ich habe viel gelernt!

Recommended Posts

Was ist der Unterschied zwischen symbolischen und harten Links?
Was ist der Unterschied zwischen "pip" und "conda"?
Was ist der Unterschied zwischen Unix und Linux?
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
Was ist der Unterschied zwischen usleep, nanosleep und clock_nanosleep?
Ich untersuchte das Verhalten bezüglich des Unterschieds zwischen Hard Link und Symbolic Link
Über den Unterschied zwischen "==" und "is" in Python
Unterschied zwischen ps a und ps -a
Unterschied zwischen == und ist in Python
[Einführung in das Modell für Infektionskrankheiten] Was ist der Unterschied zwischen der April-Epidemie und dieser Epidemie? .. .. ‼
[Python] Inklusive Notation. Schreiben Sie eine einfache for-Anweisung. (Eine Sammlung ist der Unterschied zwischen einem iterierbaren und einem Iterator.)
Die Antwort von "1/2" unterscheidet sich zwischen Python2 und 3
Es ist ein Mac. Was ist der Linux-Befehl Linux?
Über den Unterschied zwischen PostgreSQL su und sudo
Gibt es einen Widerspruch zwischen der Partei, die die Menschen vor NHK schützt, und der Partei, die NHK vor den Menschen schützt?
Was ist eine Distribution?
Was ist ein Terminal?
Was ist ein Hacker?
Was ist ein Zeiger?
Harte Links und symbolische Links
Berücksichtigung des Unterschieds zwischen ROC-Kurve und PR-Kurve
Grober Unterschied zwischen Unicode und UTF-8 (und seinen Begleitern)
Kann BERT den Unterschied zwischen "Ame (Süßigkeiten)" und "Ame (Regen)" verstehen?
Wie man Argparse benutzt und den Unterschied zwischen Optparse
Was ist ein empfohlener Motor? Zusammenfassung der Typen
Unterschied zwischen Prozess und Job
Fügen Sie am Ende "/" hinzu, wenn Sie symbolische Links in einem Verzeichnis vervollständigen
Unterschied zwischen "categoryical_crossentropy" und "sparse_categorical_crossentropy"
Was ist die Aktivierungsfunktion?
Verstehen Sie den Unterschied zwischen der kumulativen Zuordnung zu Variablen und der kumulativen Zuordnung zu Objekten
Unterschied zwischen Regression und Klassifikation
Was ist ein Entscheidungsbaum?
Was ist ein Kontextwechsel?
[Python] Python und Sicherheit - is Was ist Python?
Was ist ein Superuser?
Eine grobe Zusammenfassung der Unterschiede zwischen Windows und Linux
Was ist ein Systemaufruf?
Unterschied zwischen SQL Alchemy back_populated und backref und wenn keiner verwendet wird
Unterschied zwischen np.array und np.arange
[Definition] Was ist ein Framework?
Unterschied zwischen Vordergrundprozess und Hintergrundprozess, prinzipiell verstanden
Unterschied zwischen MicroPython und CPython
Was ist die Schnittstelle für ...
Was ist eine Rückruffunktion?
Was ist die Rückruffunktion?
Das Bild ist Namekuji
Unterschied zwischen Return und Print-Python
Was tun, wenn Sie eine Binärdatei katzen oder verfolgen und das Terminal verstümmelt ist?
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Geben und meinen Sie die Einschränkungsoption in scipy.optimize.minimize
Was ist ein Hund? Volumen der GET-Anforderungen und Abfrageparameter
[Ln] Das Einfügen des symbolischen Links des Verzeichnisses ist kompliziert
[Kostenlose Recherche] Gibt es einen Zusammenhang zwischen Wikipedia-Updates und Trends?
Was ist ein Hund? Django - Umfang, in dem Name und Datum von der URL abgerufen werden
Python / Numpy> Link> Unterschied zwischen numpy.random und random.random> threadsicher oder nicht
Unterschied zwischen Ruby und Python Split
[Python] Was ist eine Zip-Funktion?
[Python] Was ist eine with-Anweisung?