Linux omitting directory что это

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

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

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

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

6 ответов

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

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

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

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

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

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

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

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

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

Оболочка чувствительна к регистру, поэтому

/Downloads — это две разные вещи.

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

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

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

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

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

Читайте также:  Linux запуск приложения с дискретной видеокартой

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

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

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

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

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

cp: -r not specified; omitting directory

Модератор: /dev/random

cp: -r not specified; omitting directory

Сообщение kotnaton » 28.10.2018 14:03

Re: cp: -r not specified; omitting directory

Сообщение Hephaestus » 28.10.2018 14:09

cp по умолчанию не копирует каталоги.
В вашем случае оно так прямо и говорит:
опция -r не задана, каталог ./list-cd/progs-oldver/prog/prog пропускается.

Для копирования каталогов нужна опция -r или -R . В манах (по крайней мере, раньше) предпочтение отдавалось опции -R , опция -r , якобы, иногда вела себя странно. Как сейчас — не знаю.

Re: cp: -r not specified; omitting directory

Сообщение kotnaton » 28.10.2018 14:15

Re: cp: -r not specified; omitting directory

Сообщение /dev/random » 28.10.2018 14:17

Re: cp: -r not specified; omitting directory

Сообщение kotnaton » 28.10.2018 14:23

Re: cp: -r not specified; omitting directory

Сообщение /dev/random » 28.10.2018 14:24

Re: cp: -r not specified; omitting directory

Сообщение Hephaestus » 28.10.2018 14:26

Это как? find не найдёт никаких директорий, поскольку вы ей прямо сказали искать файл.

Вы уж разберитесь, что и куда Вы хотите скопировать.

Re: cp: -r not specified; omitting directory

Сообщение kotnaton » 28.10.2018 14:39

Но я в последнее время предпочитаю не использовать dirname и basename если есть такая возможность

Но /dev/random ответил на вопрос, спасибо.

Re: cp: -r not specified; omitting directory

Сообщение Hephaestus » 28.10.2018 14:54

kotnaton
То есть, Вы хотите найти с помощью find полный путь к некоторому файлу, отрезать имя файла и получить таким образом путь до директории, куда и будет копировать файлы команда cp. Правильно понимаю?
В таком случае, у Вас, вероятно, происходит некорректная постобработка результата команды find.
И вместо пути до директории Вы можете получить что-то другое, например:
— путь до файла вместо директории
— путь до несуществующей директории.
В первом случае cp попытается копировать несколько файлов в один, во втором случае попытается скопировать в несуществующую директорию.

А в Вашем конкретном случае больше похоже на то, что команда cp рассматривает /list-cd/progs-oldver/prog/prog не как каталог назначения, а как файл, который надо скопировать. А произошло это потому, что
/list-cd/progs-oldver/prog/prog не является именем каталога.

То есть объектами копирования являются файлы по маске из /usr/local/bin, а также некий объект /list-cd/progs-oldver/prog/prog (возможно, он и не существует, просто имя такое сформировалось по ошибке).
И всё это вместе она пытается копировать куда-то в третий каталог (уж не знаю, в какой).
А поскольку в пути /list-cd/progs-oldver/prog/prog есть вложенный каталог, она отказывается его копировать без опции -r.
Дайте ей опцию -r, она начнет ругаться, что не задан каталог назначения.

Читайте также:  Ubuntu get linux source

Источник

Linux omitting directory что это

Sometimes prompted when copying a folder under Linux

The reason for this warning is because there is still a directory in the Manager directory, so you cannot copy directly.

Solution: Use the recursive copy, add -r parameters after the CP command, -r represents recursive meaning.

, when we delete the directory under the Linux system, you need to add -r parameters. If the directory is empty, it will be deleted directly. If the directory is not empty, the session will be deleted. However, there will be a problem in the cascading deletion is that there is a lot of files or subdirectories in the directory, and the system will prompt. If you want to delete without a prompt, you can use the RM -RF command. f is force meaning, representative forced deletion, no prompt!

Intelligent Recommendation

Linux cp command to copy hidden files in a directory

Use the cp command to copy a directory to another directory generally used: This command copies all files and subdirectories in the dir1 directory to the dir2 directory, but does not copy hidden files.

Linux command-cp (copy file or directory)

1. Just copy the file directly. 2. You need to add the r option to copy the directory. 3. You can copy multiple files at the same time. 4. The modification time of the copied file is the current copy .

Linux copy cp directory forced to cover

Linux copy cp directory forced to cover cp -rf and cp -a will ask every file even if f is used. Adding yes| in front can solve this problem. linux command to view the size of each file in the d.

Источник

Как скопировать каталог в командной строке Linux [Совет для начинающего]

Главное меню » Операционная система Linux » Как скопировать каталог в командной строке Linux [Совет для начинающего]

Вот как скопировать каталог в Linux:

cp -r source_directory destination_directory

Вы, наверное, уже знаете, что вы можете использовать команду cp для копирования файлов в Linux. Знаете ли вы, что вы можете использовать ту же команду cp для копирования папки в командной строке Linux?

Хах! Вы уже попробовали это и, возможно, получили эту ошибку:

Позвольте нам показать вам кое-что о копировании каталога в Linux.

Копировать каталог в командной строке Linux

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

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

Читайте также:  Команда перезапуск сети windows

И теперь, если вы используете команду ls в целевом каталоге, в нем должен быть весь исходный каталог.

Опция -r позволяет рекурсивную опцию. Это означает, что все содержимое каталога, включая его собственные подкаталоги, все содержимое каталога будет скопировано в место назначения.

Несколько замечаний по поводу копирования каталога в Linux

Вот несколько вещей, чтобы отметить и советы о копировании папок.

1. Если каталог назначения не существует, он будет создан до одного уровня (объяснение в следующем разделе). Однако теперь он будет копировать содержимое исходного каталога, а не самого исходного каталога.

Например, если вы делаете это:

Non_existing_directory будет создан с содержимым source_directory, но внутри него не будет source_directory. Просто файлы source_directory будут скопированы. Это было бы, как non_existing_directory будет точной копией source_directory.

2. Вы не можете использовать вышеупомянутую команду для создания вложенной структуры каталогов.

Например, если вы попытаетесь использовать cp -r source_dir dir1/dir2/dir3, но dir2 и dir3 не существуют, это не создаст структуру вложенных каталогов, и команда не будет выполнена.

3. Последний совет, чтобы быть кратким. Если вы используете опцию -a вместе с опцией -r, он сохранит первоначальную информацию о файле, такие как права доступа к файлу, файл временных меток и т.д. Он будет архивировать каталог на новое место, а не создавать его заново.

Этой информации должно быть достаточно, чтобы вы знали, как скопировать каталог в Linux. Если у вас есть вопросы или предложения, пожалуйста, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Thread: cp omitting directory

Thread Tools
Display

cp omitting directory

I have a question about how to copy one directory to another. The directory I need to copy is a theme package in the downloads section of my home directory. It has been un-zipped etc, now I need to copy it to

/.icons directory. The file explorer can’t let me view the

/.icons directory, and when I run the command:

it says that the directory /home/downloads/theme is being omitted.

Any way to view these files from the places menu, or copy it using the terminal.

Re: cp omitting directory

1. Don’t use «sudo». you don’t need it, you already have the permissions to write stuff in your own home directory.

2. You can easily view hidden files and directories in the graphical file manager by selecting View/Show Hidden Files from the menu. Or by pressing Ctrl-H.

3. You need to use the «-R» option in the cp command to copy a directory and it’s contents.

4. /home isn’t your home directory. /home/username is. So you are probably trying to copy from wrong place.

5. The shell is case sensitive, so

/Downloads are two different things.

Assuming the download directory is actually called «Downloads», like it is by default, try this instead:

Last edited by mcduck; March 29th, 2011 at 08:16 AM .

Источник

Оцените статью