it-swarm.com.de

Was bedeutet "cp: Verzeichnis weglassen"?

Ich habe den folgenden Befehl ausgegeben:

Sudo cp ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/

Wenn ich das mache, bekomme ich die folgenden Meldungen:

cp: omitting directory `Tag' 
cp: omitting directory `Test' 
cp: omitting directory `Text' 
cp: omitting directory `TimeSync' 
cp: omitting directory `Tool' 
cp: omitting directory `Translate' 
cp: omitting directory `Uri' 
cp: omitting directory `Validate' 

und so weiter...

Warum erhalte ich diese Nachrichten?

402
MEM

Standardmäßig kopiert cp nur die direkten Dateien und keine Unterverzeichnisse im Verzeichnis. Die Meldung cp: omitting directory 'directory' warnt Sie, dass das angegebene Verzeichnis nicht kopiert wurde.

Geben Sie dazu die Option -r (oder --recursive) an:

Sudo cp -r ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/

Die Handbuchseite (Befehl: man cp) enthält eine Übersicht der verfügbaren Optionen.

528
Lekensteyn

Die Meldung bedeutet, dass cp die aufgelisteten Verzeichnisse nicht kopiert hat. Dies ist das Standardverhalten für cp - Nur Dateien werden normal kopiert, unabhängig davon, ob Sie sie explizit angeben oder * verwenden. Wenn Sie Verzeichnisse kopieren möchten, verwenden Sie den Schalter -r, was "rekursiv" bedeutet.

40
Roger Light

Einige Dinge, die hier überprüft werden müssen:

  1. Verwenden Sie nicht Sudo. Sie brauchen es nicht, Sie haben bereits die Berechtigung, Inhalte in Ihr eigenes Home-Verzeichnis zu schreiben.

  2. Sie können versteckte Dateien und Verzeichnisse im grafischen Dateimanager einfach anzeigen, indem Sie im Menü die Option "Versteckte Dateien anzeigen" auswählen. Oder durch Drücken von Ctrl - H.

  3. Sie müssen die Option -R im Befehl cp verwenden, um ein Verzeichnis und seinen Inhalt zu kopieren.

  4. / home ist nicht Ihr Home-Verzeichnis./home/benutzername ist. Sie versuchen also wahrscheinlich, von einer falschen Stelle zu kopieren.

  5. Die Shell unterscheidet zwischen Groß- und Kleinschreibung, also sind ~/downloads und ~/Downloads zwei verschiedene Dinge.

16
Nikunj K.

Wenn Sie ein Verzeichnis wie folgt kopieren:

cp dir1 copy_of_dir1

Sie kopieren nur und genau den dir1 selbst und nicht die darin enthaltenen Dateien. Am Ende erhalten Sie eine neue Verzeichnisstruktur, während die Struktur nicht vorhanden ist.

Mit anderen Worten, nachdem es kopiert wurde, heißt es, dass mein Inhalt file1, file2 usw .; Diese Dateien wurden jedoch nicht kopiert und existieren daher nicht darin.

Um dieses Problem zu beheben, das möglicherweise auftritt, werden die Verzeichnisse cp standardmäßig nicht kopiert und übersprungen, es sei denn, Sie geben die Option -r an, mit der alle Dateien auch rekursiv kopiert werden.

2
Ravexina

Der Grund, warum dort omitting directory steht, ist, dass cp und alle mir bekannten Kopierprogramme eine Liste der zu kopierenden Dateien und Unterverzeichnisse erstellen, bevor mit dem Kopieren der Dateien begonnen wird. Wenn die --recursive -Optionen fehlen, werden Unterverzeichnisse von dieser Liste gestrichen. Das Weglassen bezieht sich daher auf das Entfernen aus der Kopierliste, nicht von Ihrem Quellmedium. Ich glaube, das spricht die Bedeutung der Botschaft an.

1
endrias

Mit dem Befehl cp werden Dateien und Verzeichnisse kopiert, nicht die verschachtelten Verzeichnisse. Wenn Sie verschachtelte Verzeichnisse kopieren möchten, können Sie danach - r hinzufügen, wobei -r bedeutet rekursiv.

Syntax, der Sie folgen können (als root ausgeführt):

cp -r /source/dir/* /destination/ 

oder

cp --recursive /source/dir/* /destination/
0
itsguri