将文件从一个位置复制到另一个位置,无需文件夹

时间:2021-01-07 08:56:51

标签: linux bash shell

我有两个文件夹 a 和 b

a 有文件 file1.txt 和 file2.txt

我想将文件夹中的所有文件复制到 b。

我正在使用命令:

cp -r a\ b\

但是我在 b 中获取文件夹 a,我只想要它只是文件夹 b 中的文件 file1.txt 和 file2.txt,而不是文件夹 a 本身。

2 个答案:

答案 0 :(得分:4)

cp 的第一个参数是要复制的文件。您指定了 a,这就是它复制的内容。要指定 a 中的文件,那就是 a/*

cp a/* b/

(反斜杠作为目录分隔符在 Windows 上模糊有效,但正斜杠绝对更可取,并且可移植到更清晰的平台。)

答案 1 :(得分:1)

这是为rsync量身定制的问题,请您尝试以下操作。请确保您在存在目录 a 的位置运行此命令,同样当我测试我的 ab 目录是否存在于同一目录中时,或者您可以使用绝对路径在副本中相应地更改路径路径也是。

rsync -avz a/ b/

顺便说一下,这将保留从目录 ab 的文件的权限和时间戳。此外,这将帮助您在稍后的时间点进行增量复制,其中 rsync 足够聪明,可以知道任何文件存在并且从上次没有更改,它不会像 cp 那样再次复制它。< /p>

相关问题