如何将目录及其内容复制到新目录名下的新位置?

如何将目录及其内容复制到新目录名下的新位置?

我是 Linux 命令行的新手,目前正在尝试掌握复制命令。

有人能告诉我是否可以将目录及其子目录和相关文件复制到具有新名称的新目录中,例如directory_backup

提前感谢所有帮助。

答案1

您可以使用cp-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
...

答案2

您需要的命令只是cp代表“复制”。

例如,您可以使用以下语法之一:

cp SOURCEFILE TARGETFILE
cp SOURCEFILE TARGETDIRECTORY

第一种变体允许您为目标文件指定一个新文件名,而第二种变体在目标目录中创建同名副本。当然,您必须先用有效路径替换大写字母的占位符。

但是,cp默认情况下,它仅对文件进行操作,而不对目录进行操作。要使其以递归方式复制包含其所有内容的完整目录,您必须添加以下-r选项:

cp -r SOURCEDIRECTORY TARGETDIRECTORY

您可以在终端中cp输入来了解有关该命令的更多信息。man cp

答案3

您可以使用以下命令将目录从一个地方复制到另一个子目录。

cp -Rvp /home/edmuntu/data /home/edmuntu/mydata/

命令解释:

  • -R= 递归复制目录
  • v= 解释正在做什么
  • p= 它将帮助您通过时间戳保留您的权限和所有权

答案4

cp是执行您要查找的功能的命令。它代表复制,它就是这个功能。在这种情况下适合您的命令是

cp -R source/ destination/

这会将该source/文件夹及其所有子目录复制到destination/

如果destination/不存在,则会创建。

-R标志代表递归,它指示cp复制所有子目录。

相关内容