使用cp,复制到DEST和DIRECTORY有什么区别?

使用cp,复制到DEST和DIRECTORY有什么区别?

在 的手册页中cp,复制到 DEST 和 DIRECTORY 之间有什么区别?

cp将 SOURCE 复制到 DEST,并将 SOURCES 复制到 DIRECTORY。

   SYNOPSIS

   cp [OPTION]... [-T] SOURCE DEST
   cp [OPTION]... SOURCE... DIRECTORY

答案1

假设DEST您正在命名目标文件的文件名和路径(以及目录)。您DIRECTORY只需列出目标文件所在的目录,同时保留名称SOURCE

答案2

如果 SOURCE 只是一个文件,则差异取决于命令查找的内容:如果有目录 DEST,则将 SOURCE 复制到其中,并保留名称。如果它不存在或者是一个文件,DEST 将被解释为要使用的新名称,如果它是一个文件,则最终会覆盖 DEST。

如果您有多个 SOURCES,则 DEST 只能是一个目录,因为将多个文件复制到一个 dest 文件中只会保留最后复制的文件,并且在几乎所有情况下都毫无用处。

复制命令:

cp s1 s2 s3 d1 d2 d3 

看起来似乎有意义,因为偶数个名称可以匹配 s1 -> d1, s2 -> d2 ... ,但请考虑 shell 扩展:

cp * 

可能会导致不同的解释,具体取决于 *. 匹配的文件数量。因此,如果您使用多个文件,则最后一个文件始终被假定为目录。如果它不存在,您会收到一条错误消息。

相关内容