GNU/Linux >> LINUX-Kenntnisse >  >> Linux

cp-L vs. cp-H

Mit Symlinks haben Tools zwei Dinge, die sie tun können:

  1. Behandeln Sie den Symlink als Symlink ("Bewahrung seiner Natur"), oder
  2. Behandle den symbolischen Link als den Dateityp, auf den er zeigt.

Sag das -H „bewahrt seine Natur“ ist kein Widerspruch. Betrachten Sie die Alternative. Wenn Sie -L verwenden , alle symbolischen Links cp Funde werden geöffnet und ihr Inhalt in den Zieldateinamen kopiert. Die Quelle war also ein Symlink, aber seine Kopie ist kein Symlink. Es hat also "seinen Charakter als Symlink verloren".

Betrachten Sie

$ mkdir subdir
$ echo "some contents" > subdir/file
$ ln -s file subdir/link

# definition of "list", the abbreviated ls -l output used below
$ list() { ls -l "[email protected]" | \
    awk '$0 !~ /^total/ { printf "%s %s\t%s %s %s\n", $1, $5, $9, $10, $11 }' ; }

$ list subdir
-rw-rw-r-- 14   file  
lrwxrwxrwx 4    link -> file

$ cp -rH subdir subdir-with-H
$ list subdir-with-H
-rw-rw-r-- 14   file  
lrwxrwxrwx 4    link -> file

$ cp -rL subdir subdir-with-L
$ list subdir-with-L
-rw-rw-r-- 14   file  
-rw-rw-r-- 14   link  

Der Unterschied im Verhalten zwischen -L und -H kommt wenn -r ist ebenfalls angegeben. cp erstellt keine Symlinks in Unterverzeichnissen mit -L -r aber es wird, wenn Sie -H -r verwenden .


Linux
  1. Reihenfolge der Umleitungen?

  2. Linux – Alles ist eine Datei?

  3. Zeilen in einer Datei zählen?

  4. Eine gelöschte Datei wiederherstellen??

  5. C fopen gegen offen

Linux-Tail-Befehl

Linux Touch-Befehl

Cat-Befehl unter Linux

VIM-Editor

Protokolldateirotation

Was ist eine .sh-Datei?