在 Solaris 上运行的脚本用于cp
将单个文件复制到目标目录中。
有时,此cp
命令会使用正在复制的文件覆盖目标目录
例如,当尝试移动test.txt
到目录时/home/user/Dest
:
cp /home/user/Docs/test.txt /home/user/Dest
整个Dest
目录变成一个文本文件,其内容test.txt
已被重命名Dest
。
我可以使用以下方法解决这个问题:
cp /home/user/Docs/test.txt /home/user/Dest/test.txt
什么可能导致此问题?
答案1
我想你应该发出:
cp /home/user/Docs/test.txt /home/user/Dest/
代替
cp /home/user/Docs/test.txt /home/user/Dest
末尾的/
表示目标是目录而不是文件。
答案2
什么可能导致此问题?
给定
cp /home/user/Docs/test.txt /home/user/Dest
如果该目录/home/user/Dest
尚不存在,则该文件/home/user/Docs/test.txt
将被复制到文件命名为/home/user/Dest
.
正如 @HamdiKadri 回答的那样,将 a 附加/
到目标 as/home/user/Dest/
确保将其/home/user/Dest
视为目录。您也可以将其写为
cp /home/user/Docs/test.txt /home/user/Dest/.
答案3
什么可能导致此问题?
cp /home/user/Docs/test.txt /home/user/Dest
test.txt
通过给出上述命令,您将文件的内容复制到/home/user/Dest
文件中。如果该文件不存在,它将创建一个名为 的新文件Dest
并将内容复制到其中。为了确保您的文件被复制到所需的目录中,请/
在最后给出。例如
cp /home/user/Docs/test.txt /home/user/Dest/
另外,如果您使用终端,请使用Tabkey 来避免这些错误。