Linux 15.070 Themen, 107.540 Beiträge

softlinks...

ghartl1 / 7 Antworten / Baumansicht Nickles

hallo,

wenn ich einen softlink anlege, darf der name noch nicht vergeben sein

zb:
ln -s haus huette

sprich huette wird erst mit diesem kommando erzeugt....andererseits gibts eine fehlermeldung. ..

heisst das, dass ich immer zuerst das ln -s kommando ausführen muss und nachher dieses directory (huette in diesem fall) bearbeiten kann??

oder wird immer nur an der quelle verändert?

gruss günter

bei Antwort benachrichtigen
TimmintoR 2°°4 ghartl1 „softlinks...“
Optionen

Was hast du genau vor? Das erstelle "huette" ist nur ein Link auf "haus", d.h. alles was du in "huette" änderst, änderst du eigentlich in "haus".

sprich huette wird erst mit diesem kommando erzeugt.
Ja, und "huette" ist der Link.


Gruß

TimmintoR 2°°4

Linux.DOS.Windows - The Good.The Bad.The Ugly
bei Antwort benachrichtigen
KarstenW ghartl1 „softlinks...“
Optionen

Es gibt zwei Arten von Links unter Unix/Linux, einmal die symbolischen Links (Befehl ln -s ...) und dann die Hardlinks.
Bei einem symbolischen Link wird der absolute Pfad zur realen Datei oder zum richtigem Verzeichnis gespeichert und bei einem Hardlink nur der relative Pfad.
Ein Link ist wie ein zweiter Dateiname oder Verzeichnisname.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Rheinlaender KarstenW „Es gibt zwei Arten von Links unter Unix/Linux, einmal die symbolischen Links...“
Optionen

Mal abgesehen davon, dass das Quatsch ist, weil der Hardlink direkt auf den Inode der Datei zeigt: was hat das Deiner Meinung nach mit der Frage zu tun? Und warum meinst Du, dass Deine Aussage außer einem Fehler noch etwas anderes beinhaltet als das, was TimmintoR schon geschrieben hat?
Musst Du zu jedem thread Deinen Käse dazugeben?

Mannmannmann!

bei Antwort benachrichtigen
ghartl1 Rheinlaender „Mal abgesehen davon, dass das Quatsch ist, weil der Hardlink direkt auf den...“
Optionen

@rheinländer..

hast du da mich gemeint...?

egal:
konkrete fragen:

wenn ich ein paar hardlinks erstelle auf eine datei(meines wissens gehen hardlinks nur auf dateien), dann zählt der verweiszähler immer 1 weiter.
alle hardlinks und die originaldatei haben immer die selbe grösse und das selbe datum.

wenn ich ls -i mache, dann kommt überall die selbe zahl raus(inode wert..keine ahnung,was diese zahl aussagt)
nur die tatsache, dass der wert überall gleich ist,sagt mit,dass diese datei nur 1mal existiert.

wenn ich also irgendwo was ändere,ändern sich die anderen hardlinks auch
richtig oder falsch??

2 szenario:

softlinks

ich erstelle eine datei test....mache einen softlink: ln -s test link
jetzt hab ich einen softlink link, deer auf test verweist..gut.
aber wieso hat diese datei (link) jetzt 4 byte in der grösse und die originaldatei (test) 0??

es ist jetzt eine eigene datei..gut..aber noch immer leer..hmmm

kann mir das jemand erklären?

ps: wie ihr seht, bin ich gerade dabei, mein linuxsystem zu erforschen..sorry für die blöden fragen..einen linux-guru wirds wahrscheinlich die zehennägel aufstellen :-)

gruss günter

bei Antwort benachrichtigen
Borlander ghartl1 „@rheinländer.. hast du da mich gemeint...? egal: konkrete fragen: wenn ich ein...“
Optionen

Schau Dir einfach mal die Threadstruktur an, dann sollte klar werden wer gemein ist. Du bist es zumindest nicht...

inode wert..keine ahnung,was diese zahl aussagt
Das ist die INode-Nummer, die der eindeutigen identifizierung eines INode dient. Ein Hardlink ist nur ein weiterer Verweis auf den INode einer Datei, in sofern steht bei allen auf diese weise verlinkten Dateien die selbe INode-Nummer.

wenn ich also irgendwo was ändere,ändern sich die anderen hardlinks auch
Richtig, es handelt es sich nur um unterschiedliche Dateinamen für die selbe Datei.

Btw.: Hardlinks sind nur innerhalb eines Dateisystems möglich, über Dateisystemgrenzen hinweg ist es nicht möglich eine Datei per Hardlink einen weiteren Namen zu zu weisen.

aber wieso hat diese datei (link) jetzt 4 byte in der grösse und die originaldatei (test) 0??
Bei Softlinks muß irgendwo der Pfad zur verlinkten Datei gespeichert werden. Im INode ist dafür kein Platz vorgesehen. Daher wird dann ein oder ein Block (oder falls der Pfad länger ist womöglich auch mehrere) im Dateisystem belegt und der Pfad zu verlinkten Datei darin gespeichert.

Ggf. interessant für Dich: http://de.wikipedia.org/wiki/Inode

Gruß
Borlander

bei Antwort benachrichtigen
ghartl1 Borlander „Schau Dir einfach mal die Threadstruktur an, dann sollte klar werden wer gemein...“
Optionen

okay..danke für die antworten..

gruss günter

bei Antwort benachrichtigen
Rheinlaender ghartl1 „okay..danke für die antworten.. gruss günter“
Optionen

Wie Borlander schon andeutete, ich meinte Dich nicht.

Und wie er auch schreibt, im Symlink ist der Pfad zur Datei gespeichert, und im Hardlink der Inode. Wenn Du jetzt gleichzeitig einen Hard- und einen Symlink auf die gleiche Datei anlegst und diese danach verschiebst, dann siehst Du, dass der Hardlink noch funktioniert, der Symlink aber ins Leere zeigt.

Gruß
Rheinlaender

bei Antwort benachrichtigen