Linux cp 命令复制文件夹到当前目录
Linux cp command to copy a folder to current directory
我想知道是否有与使用旧 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
谢谢。
只需省略 -T 参数,因为它会阻止命令正常工作:
cp -r /home/hope/subfolder .
-T 参数将目标参数视为一个文件,因此如果它实际上是一个目录,则根本不会执行任何复制。
友情提醒:几乎所有 Unix 命令都有一个 --help 命令行参数,在出现问题时值得一试:)
对我来说,主要障碍是 /home 部分。我需要将我家中以字母 'a' 开头的文件夹中的文件复制到我当前的文件夹,该文件夹不是我的家。所以我用了:
cp home/tmp/a* ./
第一行对我有用。当我尝试使用如下命令时:
cp ~/home/tmp/a* ./
但这没有用。
我想知道是否有与使用旧 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
谢谢。
只需省略 -T 参数,因为它会阻止命令正常工作:
cp -r /home/hope/subfolder .
-T 参数将目标参数视为一个文件,因此如果它实际上是一个目录,则根本不会执行任何复制。
友情提醒:几乎所有 Unix 命令都有一个 --help 命令行参数,在出现问题时值得一试:)
对我来说,主要障碍是 /home 部分。我需要将我家中以字母 'a' 开头的文件夹中的文件复制到我当前的文件夹,该文件夹不是我的家。所以我用了:
cp home/tmp/a* ./
第一行对我有用。当我尝试使用如下命令时:
cp ~/home/tmp/a* ./
但这没有用。