Что делает & ldquo; cp: пропуск каталога & rdquo; имею в виду?

Я ввел следующую команду:

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' 

и т. Д.

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

413
задан 5 September 2016 в 13:42

7 ответов

Пара вещей, которые необходимо проверить:

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

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

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

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

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

0
ответ дан 5 September 2016 в 13:42

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

0
ответ дан 5 September 2016 в 13:42

Когда вы копируете каталог, например:

cp dir1 copy_of_dir1

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

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

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

0
ответ дан 5 September 2016 в 13:42

Предположим, у вас есть две директории 'Tag' & amp; 'Test'

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

$ : cp -r Tag Test (case sensitive)

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

cp: omitting directory `Tag' 
cp: omitting directory `Test'

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

0
ответ дан 5 September 2016 в 13:42

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

0
ответ дан 5 September 2016 в 13:42

По умолчанию 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) содержит обзор доступные варианты.

0
ответ дан 5 September 2016 в 13:42

Команда CP используется для копирования файлов и каталога, не вложенные каталоги, если Вы хотите скопировать вложенные каталоги затем, можно добавить-r после этого, где рекурсивные средства-r.

Синтаксис, за которым можно следовать (работающий как корень):

cp -r /source/dir/* /destination/ 

или

cp --recursive /source/dir/* /destination/
0
ответ дан 7 December 2019 в 12:27

Другие вопросы по тегам:

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