问题描述
我发布了以下命令:
sudo cp ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/
当我这样做时,我开始收到以下消息:
cp: omitting directory `Tag'
cp: omitting directory `Test'
cp: omitting directory `Text'
cp: omitting directory `TimeSync'
cp: omitting directory `Tool'
cp: omitting directory `Translate'
cp: omitting directory `Uri'
cp: omitting directory `Validate'
等等…
为什么我会收到这些消息?
最佳解决思路
默认情况下,cp
仅复制目录中的直接文件,而不复制目录中的子目录。消息cp: omitting directory 'directory'
警告您所提到的目录未被复制。
为此,请指定-r
(或--recursive
)选项:
sudo cp -r ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/
manual page(命令:man cp
)包含可用选项的概述。
次佳解决思路
该消息表示cp
尚未复制列出的目录。这是cp
的默认行为 – 无论您是明确指定还是使用*
,只有文件才能正常复制。如果您想要复制目录,请使用-r
开关,这意味着”recursive”。
第三种解决思路
这里需要检查的几件事情:
-
不要使用
sudo
。你不需要它,你已经有权在自己的主目录下写东西。 -
您可以通过从菜单中选择View /Show Hidden Files轻松查看图形文件管理器中的隐藏文件和目录。或按
Ctrl
–H
。 -
您需要使用
cp
命令中的-R
选项来复制目录及其内容。 -
/home不是你的主目录。 /home /username是。所以你可能试图从错误的地方复制。
-
shell是区分大小写的,所以〜/downloads和〜/Downloads是两个不同的东西。