Что означает «cp: omitting directory»?

Я выпустил следующую команду:

sudo cp ~ /Transfers /ZendFramework-1.11.4-minimal /library /Zend /* ~ /public_html /cmsk.dev /library /

Когда я это сделаю, я начинаю получать следующие сообщения:

cp: опуская каталог `Tag '
cp: опуская каталог `Test '
cp: опуская каталог `Text '
cp: опуская каталог `TimeSync '
cp: опуская каталог `Tool '
cp: опуская каталог `Перевести '
cp: опуская каталог `Uri '
cp: опуская каталог `Validate '

и т. д.

Почему я получаю эти сообщения?

358 голосов | спросил MEM 18 PMpMon, 18 Apr 2011 19:11:02 +040011Monday 2011, 19:11:02

6 ответов


467

По умолчанию cp копирует только прямые файлы, а не подкаталоги в каталоге. Сообщение cp: omitting directory 'directory' предупреждает вас о том, что указанный каталог не скопирован.

Для этого укажите опцию -r (или - recursive):

sudo cp -r ~ /Transfers /ZendFramework-1.11.4-minimal /library /Zend /* ~ /public_html /cmsk.dev /library /

справочная страница (команда: man cp) содержит обзор доступных параметров.

ответил Lekensteyn 18 PMpMon, 18 Apr 2011 19:15:00 +040015Monday 2011, 19:15:00
33

Сообщение означает, что cp не скопировал перечисленные каталоги. Это поведение по умолчанию для cp - только файлы копируются обычно, независимо от того, указали ли вы их явно или с помощью *. Если вы хотите скопировать каталоги, используйте переключатель -r, что означает «рекурсивный».

ответил Roger Light 18 PMpMon, 18 Apr 2011 19:15:27 +040015Monday 2011, 19:15:27
13

Несколько вещей, которые нужно проверить:

  1. Не используйте sudo. Вам это не нужно, у вас уже есть права на запись материала в ваш собственный домашний каталог.

  2. Вы можете легко просмотреть скрытые файлы и каталоги в графическом диспетчере файлов, выбрав «Показать /показать скрытые файлы» в меню. Или нажав Ctrl - H .

  3. Вам нужно использовать опцию -R в команде cp, чтобы скопировать каталог и его содержимое.

  4. /home не является вашим домашним каталогом. /home /username есть. Поэтому вы, вероятно, пытаетесь скопировать из неправильного места.

  5. Оболочка чувствительна к регистру, поэтому ~ /downloads и ~ /Downloads - это две разные вещи.

ответил Nikunj K. 4 +04002013-10-04T11:02:05+04:00312013bEurope/MoscowFri, 04 Oct 2013 11:02:05 +0400 2013, 11:02:05
1

При копировании каталога, например:

cp dir1 copy_of_dir1

Вы только и полностью копируете сам dir1, а не файлы внутри него, поэтому в конце вы получите новую структуру каталогов, в то время как структура не существует.

Другими словами, после того, как он был скопирован, он скажет, что мое содержимое file1, file2 и т. д .; Однако эти файлы не были скопированы и, таким образом, не существуют в нем.

Итак, чтобы исправить эту проблему, которая может возникнуть, cp по умолчанию не копирует каталоги и не пропускает их, если вы не укажете опцию -r, которая также рекурсивно копирует все файлы .

ответил Ravexina 3 J000000Monday17 2017, 10:47:14
0

Причина, по которой он говорит, что omitting directory - это потому, что cp и все утилиты копирования, которые я знаю, создают список файлов и подкаталогов, которые нужно скопировать перед запуском для копирования файлов. Когда параметры - recursive отсутствуют, подкаталоги выходят из этого списка. Таким образом, опускание относится к удалению из списка копий, а не к исходному медиа. Я считаю, что это касается смысла сообщения.

ответил endrias 24 J000000Monday17 2017, 11:32:11
-2

Предположим, что у вас есть два каталога «Tag» & 'Test'

Если вы хотите скопировать каталог «Tag» в каталог «Test», используйте команду

$: cp -r Тег Тест (с учетом регистра)

В основном проблема будет решена с помощью кода выше, если нет, и вы получите сообщение ниже

cp: опуская каталог `Tag '
cp: опуская каталог `Test '

затем добавьте некоторые файлы в каталог «Tag», а затем скопируйте их в «Test». На самом деле у меня есть одна и та же проблема, но она решена так, как я сказал во-вторых.

ответил jainmiah shaik 3 J000000Monday17 2017, 10:14:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132