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