问题描述
我正在尝试使用终端将文件夹的内容复制到另一个目录中的另一个文件夹。
有人能够给我提供一个命令行语法的例子吗?
最佳解决方案
您可以使用命令将文件夹/source
的内容复制到另一个现有文件夹/dest
cp -a /source/. /dest/
-a
选项是一种改进的递归选项,可保留所有文件属性并保留符号链接。
源路径末尾的.
是特定的cp
语法,允许复制所有文件和文件夹,包括隐藏的文件和文件夹。
次佳解决方案
另一种是rsync
rsync -r source/ destination
rsync的优点是:
-
初始同步后,它将只复制已更改的文件。
-
您可以通过网络使用它,方便使用$ HOME中的文件,尤其是配置文件。
第三种解决方案
假设你在~
中有一个名为folder1的文件夹,里面的folder1是1个叫做file1的文件,还有2个文件夹叫做sub1和sub2,每个文件夹里面都有其他文件和文件夹。
要将~/folder1
的所有内容复制到~/new_folder1
,您可以使用
cp -r ~/folder1/. ~/new_folder1
new_folder1
将包含来自folder1
的所有文件和文件夹。
cp
是使用终端复制的命令,-r
以递归方式进行复制(因此,当前目录+当前内部的其他目录)~/folder1
是源文件夹,~/new_folder1
是源内文件/文件夹的目标文件夹。
第四种方案
检查此http://www.cyberciti.biz/faq/copy-folder-linux-命令行/以获取有关复制文件夹的更多信息。希望这可以帮助。
cp Command
cp
是用于复制文件和目录的Linux命令。语法如下:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
在本例中,将/home/vivek/letters
文件夹及其所有文件复制到/usb/backup
目录中:
cp -avr /home/vivek/letters /usb/backup
哪里,
-a
:保留指定的属性,如目录,文件模式,所有权,时间戳,如果可能的话,附加属性:上下文,链接,xattr,全部。
-v
:解释正在做什么。
-r
:递归复制目录。例
将名为/tmp /conf的文件夹复制到/tmp /backup:
$ cp -avr /tmp/conf/ /tmp/backup
第五种方案
如果有两个文件夹:(具有写入权限)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
如果你在名为PORTAL的文件夹内想要复制另一个文件夹的所有内容,说DATA在同一级别,那么你会这样做
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
你必须注意2点。最后一个点在当前文件夹中复制到这里
和
跟随/DATA /。 DATA文件夹中的所有CONTENTS都将被复制,而不是DATA文件夹本身。
如果您从/DATA /DATA中删除了尾随的”.”,
那么整个数据文件夹将被复制到门户内(从你应对的地方)。