89 我有两个目录,一个是空的。 第一个目录有许多带有隐藏文件的子目录。当我cp -r从第一个目录满意到第二个目录时,隐藏文件也被复制。有什么办法可以逃脱它们吗? linux bash cp — 拉胡尔 source 这是可行的,但是在复制后将它们删除可能会更简单 — Karoly Horvath 2012年 6 是的,但是将隐藏文件复制到其他位置对我来说是一个安全隐患。 — 拉胡尔2012年
127 您可以使用rsync: rsync -av --exclude=".*" src dest — 尤金·雅玛什(Eugene Yarmash) source 1 与cp相比有任何开销吗? — 拉胡尔2012年 2 @Rahul我没有想到要对其进行基准测试,但是我认为您不必 — 为此 3 它很酷!谢啦!仅作为参考,当文件大时,rsync会很好,但如果文件较小,则等于cp。 — 拉胡尔2012年
26 你可以做 cp -r SRC_DIR/* DEST_DIR 排除SRC_DIR级别中的所有.files和.dirs,但仍会在下一级别的子目录中复制所有隐藏文件。 — Tuxdude source 6 那正是问题所在.. :) — Rahul 2012年 9 但是它适用于GIT-Repos,如果您不希望将整个GIT-Index复制到.git / ... — Sedat Kilinc 2015年 1 我+这个答案,因为这是我一直在寻找的解决方案。我不想排除树上所有不可见的物体,而只是排除根级的不可见物体! — l008com 另一个变体cp SOURCE/[!.]* TARGET。 — 卡雷尔
4 rsync具有“ -C”选项 http://rsync.samba.org/ftp/rsync/rsync.html 例: rsync -vazC dir1 dir2 — 切列维诺夫 source 你是对的。我尝试了mkdir -p dir1 / subdir; 触摸dir1 / subdir / .cvs; rsync -avzC dir1 dir2 — splitvinov 2012年 rsync -av --exclude =“。*” src dest很好用。请参考上述eugene的答案。不管怎么说,还是要谢谢你!:) — Rahul 2012年