I Shar

I Shar

мир глазами веб-разработчика

Командная строка: cp

cp - копируем файлы и папки

I Shar

время чтения 2 мин.

Photo by Olaf Smid on Unsplash

Команда cp является сокращением от слова copy, она нужна для копирования файлов и папок.

Для того чтобы скопировать файл или папку из источника в приемник нужно выполнить следующее действие:

# копируем файл
cp old_file new_file
# копируем папку
cp old_cat new_cat

Чтобы скопировать в файл в определенную папку для каталога-приемника в конце следует добавить слеш:

# копируем файл в каталог
cp old_file new_cat/

Так же для копирования файла в директорию в качестве альтернативы можно использовать опцию -t - в этом случае файл-приемник будет интерпретирован как директория, файл-источник будет скопирован в эту директорию:

# копируем файл в каталог
cp -t old_file new_cat

Для рекурсивного копирования директории со всем ее содержимым следует использовать опцию -r:

# копируем директорию со всем ее содержимым (создается новая директория - new_cat)
cp -r old_cat new_cat

для рекурсивного копирования директории в другую директорию нужно использовать слеш в конце директории-приемника:

# копируем директорию со всем ее содержимым в другую директорию
cp -r child_cat parent_cat/

Если есть вероятность существования папки или файла с таким же названием можно форсировать процесс и перезаписать уже существующий файл без дополнительных уведомлений:

# форсируем перезапись уже существующего файлы
cp -f old_file same_file

Но, с помощью опции -i можно и спросить - нужно перезаписывать уже существующий файл:

# спрашиваем, нужно ли перезапись уже существующего файлы
cp -i old_file same_file

Кроме того, опция -n запрещает перезапись уже существующего файла:

# запрещаем перезапись уже существующего файлы
cp -n old_file same_file

Опция -u позволит скопировать файл, только если он был изменен:

# копируем только измененный файл
cp -n old_file same_file

В целом, команда cp имеет достаточно большое количество опций, определяющих, какой именно результат будет получен:

  1. --attributes-only - запрещаем копирование содержимого файла, копируем только флаги доступа и владельца,
  2. -f, --force - перезаписываем уже существующий файл,
  3. -i, --interactive - спрашиваем, нужно ли перезаписывать существующий файл,
  4. -L - копируем не символические ссылки, а файлы или папки, на которые они указывают,
  5. -n - запрещаем перезапись уже существующего файла,
  6. -P - не следуем символическим ссылкам,
  7. -r - копируем директорию рекурсивно,
  8. -s - не выполняем копирование файла или папки, а создаем символическую ссылку,
  9. -u - копируем файл, только если он был изменён,
  10. -x - не выходим за пределы существующей файловой системы,
  11. -p - сохраняем владельца, временные метки и флаги доступа при копировании,
  12. -t - указываем, что файл-приемник является директорией и копируем файл-источник в эту директорию.

Спасибо за внимание.

    • bash
    • tutorial

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.