如何使用终端将文件夹的内容复制到不同目录中的另一个文件夹?
我试图使用终端将文件夹的内容复制到不同目录中的另一个文件夹。
有人能够为我提供实现此目的所需的命令行语法的示例吗?
您可以使用该命令将文件夹/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
是origin文件夹, ~/new_folder1
是原始文件/文件夹的目标文件夹。
有关复制文件夹的详细信息,请查看http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ 。 希望这可以帮助。
cp Command
cp
是用于复制文件和目录的Linux命令。 语法如下:
cp source destination cp dir1 dir2 cp -option source destination cp -option1 -option2 source destination
在此示例中copy /home/vivek/letters
文件夹及其所有文件到/usb/backup
目录:
cp -avr /home/vivek/letters /usb/backup
哪里,
-a
:保留指定的属性,例如目录,文件模式,所有权,时间戳,如果可能的话,还有其他属性:context,links,xattr,all。
-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文件夹将被复制到PORTAL内(从你应对的地方)。