cp -r ohne versteckte Dateien


87

Ich habe zwei Verzeichnisse und eines ist leer.

Das erste Verzeichnis enthält viele Unterverzeichnisse mit versteckten Dateien. Wenn ich cp -rvom ersten zum zweiten Verzeichnis übergehe, werden auch die versteckten Dateien kopiert. Irgendwelche Lösungen, um ihnen zu entkommen?


es ist machbar, aber sie nach der Kopie zu entfernen könnte einfacher sein
Karoly Horvath

5
Ja, aber das Kopieren der versteckten Dateien an andere Speicherorte ist in meinem Fall ein Sicherheitsrisiko.
Rahul

Antworten:


127

Sie können rsync verwenden:

rsync -av --exclude=".*" src dest

1
Irgendwelche Gemeinkosten im Vergleich zu cp?
Rahul

2
@ Rahul Es ist mir nicht in den Sinn gekommen, es zu bewerten, aber ich denke, Sie sollten sich darüber keine Sorgen machen
Eugene Yarmash

3
Es funktioniert cool! Danke, Mann! Nur zur Information, rsync wäre großartig, wenn die Dateigröße groß ist, aber bei kleineren Dateien gleich cp.
Rahul

25

Du kannst tun

cp -r SRC_DIR/* DEST_DIR

Um alle .files und .dirs in der SRC_DIR-Ebene auszuschließen, werden jedoch alle versteckten Dateien in die nächste Ebene der Unterverzeichnisse kopiert.


6
Das ist genau das Problem .. :)
Rahul

9
Aber es funktioniert für GIT-Repos, wenn Sie nicht den gesamten GIT-Index in .git / ... kopieren möchten
Sedat Kilinc

Ich würde diese Antwort geben, weil dies die Lösung ist, nach der ich gesucht habe. Ich möchte nicht alle Unsichtbaren im Baum ausschließen, nur die Unsichtbaren auf der Wurzelebene!
1008com

Eine andere Variante cp SOURCE/[!.]* TARGET.
Carel

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.