Я дал следующую команду:
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'
и так далее...
Почему я получаю эти сообщения?
*
расширяется Bash, а неcp
. Проверьте это сами, поставивecho
перед собой команду. Когда развернуто, оно сопоставляет все с предшествующим...library/Zend/
(файлы и каталоги в нем).omitting directory 'directory'
это не означает, что он удаляет этот каталог.chmod a+rx ~/
после того, как попытался скопировать сcp /home/2110/* /home/2111/
ним, выдает ошибку, в которой говорится, что разрешение отклонено. где я был неправ. извините за комментарий, потому что я не могу задавать повторяющиеся вопросы. Я надеюсь на быстрый ответ :)/home/2110
принадлежат пользователю 2110, а файлы в/home/2111
принадлежат 2111. Чтобы установить владельца, используйте что-то вродеsudo chown -R 2111 /home/2111
.Сообщение означает, что
cp
не скопировал перечисленные каталоги. Это стандартное поведение дляcp
- только файлы копируются нормально, независимо от того, явно ли вы их указали или используете*
. Если вы хотите копировать каталоги, используйте-r
переключатель, который означает «рекурсивный».источник
Вот пара вещей, которые нужно проверить:
Не используйте
sudo
. Вам это не нужно, у вас уже есть права на запись материала в вашем собственном домашнем каталоге.Вы можете легко просматривать скрытые файлы и каталоги в графическом файловом менеджере, выбрав в меню «Просмотр / Показать скрытые файлы». Или нажав Ctrl- H.
Вам нужно использовать
-R
опцию вcp
команде, чтобы скопировать каталог и его содержимое./ home не ваш домашний каталог. / home / имя пользователя Таким образом, вы, вероятно, пытаетесь скопировать из неправильного места.
Оболочка чувствительна к регистру, поэтому ~ / downloads и ~ / Downloads - это две разные вещи.
источник
Когда вы копируете каталог, как:
Вы только и точно копируете
dir1
саму себя, а не файлы внутри нее, так что в конце вы получите новую структуру каталогов, пока структура не существует.Другими словами , после того, как он был скопирован будет сказать , что мое содержание является
file1
,file2
и т.д.; Однако эти файлы не были скопированы и, следовательно, не существует в нем.Поэтому, чтобы исправить эту проблему, которая может возникнуть
cp
по умолчанию, не копируйте каталоги и пропускайте их, если вы не укажете-r
опцию, которая также копирует все файлы рекурсивно.источник
Причина этого в
omitting directory
том, чтоcp
все известные мне утилиты копирования создают список файлов и подкаталогов, которые нужно скопировать, прежде чем начинать копировать файлы. Когда--recursive
параметры отсутствуют, подкаталоги удаляются из этого списка. Таким образом, пропуск относится к удалению из списка копий, а не с исходного носителя. Я считаю, что это относится к смыслу сообщения.источник
Команда cp используется для копирования файлов и каталогов, а не вложенных каталогов. Если вы хотите скопировать вложенные каталоги, то после этого вы можете добавить -r , где -r означает рекурсивный.
Синтаксис, который вы можете использовать (работает как root):
или же
источник
Предположим, у вас есть две директории 'Tag' и 'Test'
Если вы хотите скопировать каталог «Tag» в каталог «Test», используйте команду
В основном проблема будет решена с помощью вышеуказанного кода, если нет, и вы получите ниже сообщение, как
затем добавьте несколько файлов в каталог «Tag» и скопируйте их в «Test». На самом деле, у меня та же проблема, но она решена, как я сказал во-вторых
источник