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

时间:2015-04-14 12:13:02

标签: cp

我想知道是否有一个相同的命令将文件夹复制到当前目录,就像使用旧的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 .

将复制"子文件夹中的所有文件(甚至点隐藏文件)和文件夹"文件夹到当前目录,结果将是:

/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

谢谢。

2 个答案:

答案 0 :(得分:30)

只需省略-T参数,因为这会妨碍命令正常工作:

cp -r /home/hope/subfolder .

-T参数将目标参数视为文件,因此如果它实际上是目录,则根本不会执行任何复制。

友情提醒:几乎所有Unix命令都有一个 - help 命令行参数,如果出现问题值得尝试:)

答案 1 :(得分:3)

对我而言,主要障碍是/ home部分。我需要将我家中以字母'a'开头的文件夹中的文件复制到我当前的文件夹中,该文件夹不在家。所以我用过:

cp home/tmp/a* ./

第一行为我工作。当我尝试命令时:

cp ~/home/tmp/a* ./

但这不起作用。