Answers:
您使用-r
(递归复制)并指定新名称
cp -r /path/to/directory /path/to/location/new-name
替换为真实路径...例如,stuff
从我的主目录复制到现有目录backup
并命名新目录stuff-backup
(如果此目录已存在,请注意stuff
将其复制到其中,而不是覆盖它)。
cp -r ~/stuff ~/backup/stuff-backup
~
是您的主目录/home/$USER
或/home/zanna
我的情况下的快捷方式。如果当前工作目录是您的主目录,则可以忽略它-您可以在提示符下看到它
zanna@monster:~$
^--the ~ here is where I am - home!
您可以添加-v
详细标志,以使cp
正在执行的每个副本都报告出来...
$ cp -vr stuff backup/stuff-backup
'stuff/thing1' -> 'backup/stuff-backup/thing1'
'stuff/thing2' -> 'backup/stuff-backup/thing2
...
-v
或--verbose
标记:)
您需要的命令只是cp
“复制”的缩写。
例如,可以将其与以下语法之一一起使用:
cp SOURCEFILE TARGETFILE
cp SOURCEFILE TARGETDIRECTORY
第一个变量允许您为目标文件指定一个新文件名,而第二个变量则在目标目录中创建一个具有相同名称的副本。当然,您必须首先用有效路径替换大写字母中的占位符。
但是,cp
默认情况下仅对文件起作用,而对目录不起作用。要使其递归复制完整目录及其所有内容,必须添加以下-r
选项:
cp -r SOURCEDIRECTORY TARGETDIRECTORY
您可以cp
通过man cp
在终端中输入来了解有关该命令的更多信息。
我发现更容易从最初更改到要复制的目录。在本例中,将目录更改为每个人都已调用的目录/boot
。任何人都可以将以下命令复制并粘贴到其终端中。
cd /boot
sudo mkdir /boot_backup
sudo cp -r . /boot_backup
du /boot_backup -h
752K /boot_backup/extlinux/themes/debian-wheezy
756K /boot_backup/extlinux/themes
832K /boot_backup/extlinux
2.5M /boot_backup/grub/i386-pc
20K /boot_backup/grub/locale
2.3M /boot_backup/grub/fonts
7.2M /boot_backup/grub
565M /boot_backup
对于该cp
命令,当前目录被标识为我们已更改.
为的/boot
目录。该-r
选项使其可以递归地包含所有子目录。
为了确保它的工作运行du
列出所有子目录和文件总大小在新目录/boot_backup
在这种情况下。
完成本演练之后,请使用:sudo rm -r /boot_backup
删除新目录及其子目录。
cp -r
)将用于创建新目录并将所有文件复制到该目录中
cp -r
如您所建议,该命令已在第三命令行上。本教程基于以下事实:每个人都有一个/boot
目录,可以在自己的计算机上尝试该目录。如果我曾经使用过cp -r /home/GroundZero/Documents /home/GroundZero/Documents_backup
阅读器,则无法将其复制并粘贴到其终端中-他们将进行更改,GroundZero
从而产生更多的工作和出错的机会。希望您通过嵌入式教程对这个答案的亲吻感到满意。
cd ~/Documents/SomeObsucreFolder/2016/Nov/
将当前目录设置为源目录的操作将更改终端提示,以确保其拼写正确,然后cp -r .
用作源消除了重新键入源目录的麻烦。这只是我认为的好习惯。此外,一旦更改为源目录,就可以很容易地执行ls FIleName1
,ls FileName2
等操作, 以确保要备份的文件在那里,而不必为ls
命令重复源目录名称。
您可以使用以下命令将目录从一个位置复制到另一子目录。
cp -Rvp /home/edmuntu/data /home/edmuntu/mydata/
命令说明: