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

use*_*300 20 cp

我想知道是否有一个相同的命令将文件夹复制到当前目录,就像使用旧的MS-DOS一样.假设我当前的目录位置是:

/var/www/
Run Code Online (Sandbox Code Playgroud)

我有文件夹和文件:

/home/hope/subfolder/docs/
/home/hope/subfolder/images/
/home/hope/subfolder/.config
/home/hope/subfolder/readme.txt
Run Code Online (Sandbox Code Playgroud)

我知道以下命令:

cp -rT /home/hope/subfolder .
Run Code Online (Sandbox Code Playgroud)

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

/var/www/docs/
/var/www/images/
/var/www/.config
/var/www/readme.txt
Run Code Online (Sandbox Code Playgroud)

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

cp -rT /home/hope/subfolder ./subfolder
Run Code Online (Sandbox Code Playgroud)

虽然这很好,我发现有时候我会为目的地的复杂文件夹名称犯错,所以有没有办法使用如下命令:

cp -rT /home/hope/subfolder .
Run Code Online (Sandbox Code Playgroud)

或者甚至喜欢这个

cp -rT /home/hope/subfolder /var/www/.
Run Code Online (Sandbox Code Playgroud)

得到以下结果:

/var/www/subfolder/docs/
/var/www/subfolder/images/
/var/www/subfolder/.config
/var/www/subfolder/readme.txt
Run Code Online (Sandbox Code Playgroud)

谢谢.

Vad*_*nda 31

只需省略-T参数,因为这是阻止命令正常工作的原因:

cp -r /home/hope/subfolder .
Run Code Online (Sandbox Code Playgroud)

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

一个友好的提醒:几乎所有的Unix命令都有一个--help命令行参数值得在遇到麻烦的时候尝试:)