如何在Unix中复制整个目录并排除特定文件

时间:2011-03-14 19:26:44

标签: unix cp

我有一个Unix批处理脚本,它将一个目录的内容(称为dir A)复制到另一个目录(称之为dir B)。

这是我目前的复制声明。

cp -urL /path/to/dir/A /path/to/dir/B

但是,此语句会复制隐藏文件。

如何排除任何和所有隐藏文件被复制?

2 个答案:

答案 0 :(得分:6)

将星号(*)放入复制但忽略隐藏文件

cp -urL -r /path/to/dir/A/* /path/to/dir/B

答案 1 :(得分:3)

如果使用bash作为shell,请取消设置dotglob shell选项。

来自man bash

  

dotglob 如果设置,则bash包含以“。”开头的文件名。在里面   路径名扩展的结果。

#!/bin/bash

shopt -u dotglob
cp -urL /path/to/dir/A /path/to/dir/B