Linux cp命令将文件夹复制到当前目录

31

我想知道是否有一个与旧的 MS-DOS 相同的命令,可以将文件夹复制到当前目录中。假设我的当前目录位置为:

/var/www/

我有文件夹和文件存放在以下位置:

/home/hope/subfolder/docs/
/home/hope/subfolder/images/
/home/hope/subfolder/.config
/home/hope/subfolder/readme.txt

我知道以下命令:

cp -rT /home/hope/subfolder .

将“subfolder”文件夹中的所有文件(包括点和隐藏文件)和文件夹复制到当前目录,结果将如下:

/var/www/docs/
/var/www/images/
/var/www/.config
/var/www/readme.txt

看起来将源文件夹复制到当前位置的命令是:

cp -rT /home/hope/subfolder ./subfolder

虽然这样做没问题,但我发现有时候对于复杂的目标文件夹名称,我会犯错,是否有一种像下面这样的命令可以使用:

cp -rT /home/hope/subfolder .

甚至可以像这样

cp -rT /home/hope/subfolder /var/www/.

得到以下结果:

/var/www/subfolder/docs/
/var/www/subfolder/images/
/var/www/subfolder/.config
/var/www/subfolder/readme.txt

谢谢。


你尝试过执行 cp -r /home/hope/subfolder /var/www/ 吗? - Akhil Thayyil
只需省略“-T”参数,它就会完全按照您的要求执行。 - foobar
2个回答

47

只需省略-T参数,因为它会防止该命令正常运行:

cp -r /home/hope/subfolder .
参数将目标参数视为文件,因此如果实际上是一个目录,则不会执行任何复制操作。 <强调>友情提示:几乎所有的Unix命令都有一个--help命令行参数,如果遇到问题,值得一试 :)

我明白了 :) 那是否也允许复制“子文件夹”内的隐藏文件呢?谢谢! - user702300
1
当然。阅读 man 手册就像阅读数学论文一样,不是很有趣。 - ATL_DEV

4

对我来说,最主要的障碍是“/home”部分。我需要将以字母“a”开头的文件从我的主目录中的一个文件夹复制到当前不在主目录的文件夹中。因此,我使用了以下命令:

cp home/tmp/a* ./

第一行对我很有帮助。当我尝试像这样的命令时:

cp ~/home/tmp/a* ./

但是这并没有生效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接