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

发布于 2024-10-22 04:54:25 字数 193 浏览 3 评论 0原文

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

这是我目前拥有的副本声明。

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

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

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

I have a Unix batch script that copies the contents of one directory (call it dir A) to another (call it dir B).

Here is the copy statement I have currently.

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

However, this statement copies over hidden files.

How can I exclude any and all hidden files from being copied over?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲娇萝莉攻 2024-10-29 04:54:25

添加星号(*)以复制但忽略隐藏文件

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

Put star (*) in to copy but ignore hidden files

cp -urL -r /path/to/dir/A/* /path/to/dir/B
玻璃人 2024-10-29 04:54:25

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

来自man bash

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

#!/bin/bash

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

If using bash as your shell, unset the dotglob shell option.

From man bash

dotglob If set, bash includes filenames beginning with a '.' in the
results of pathname expansion.

#!/bin/bash

shopt -u dotglob
cp -urL /path/to/dir/A /path/to/dir/B
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文