Как копировать файлы в Linux (в т.ч. через терминал с помощью команды CP)

Автор: Alexandr, 25.07.2024 Рубрики: Linux

img-Kopirovanie-faylov-v-Linux.jpg

Доброго дня!

Вообще, если у вас современный дистрибутив Linux (рекоменд. для начинающих) — то операция копирования там выполняется парой кликов мышки (не сложнее чем в Windows). Однако, в ряде случаев приходится прибегать к терминалу... (например, граф. оболочка может быть недоступна, сбоить, или вы подключились к серверу через консоль...).

Собственно, именно работу с терминалом с текстовыми командами (по копированию) сегодня и рассмотрим ниже: приведу неск. сподручных команд и реальные примеры. Вам будет достаточно посмотреть пример и ввести к себе в терминал аналогичную команду (слегка подправив ее под себя).

*

Примечание: материал и примеры ниже  актуальны для дистрибутивов Linux, основанных на Debian (Ubuntu).

 

*

Примеры копирования (в т.ч. загрузки) файлов в Linux

Вариант 1

Какой бы не был у вас дистрибутив Linux - в рамках этой заметки не могу не порекомендовать внимательно осмотреть все установленные приложения (как правило в них всегда есть что-то вроде "Файлы", "Files", "Проводник" и т.п.). Если такое приложение есть - хорошо бы его запустить (задача по копированию может сильно облегчиться...).

img-Faylyi-prilozhenie-analog-provodnika.png

Файлы - приложение аналог проводника

 

Как правило "проводник" в большинстве дистрибутивов Linux выглядит также как в Windows, и копирование в нем тоже аналогичное: достаточно мышкой выделить нужные файлы, нажать по ним правой кнопкой мыши и выбрать действие "Копирование". См. скрин ниже.

img-PKM-kopirovat-Linux-Elementary.png

ПКМ - копировать (Linux Elementary)

 

Далее останется открыть новую папку (каталог), сделать в любом свободном месте ПКМ и выбрать опцию "Вставить". Всё, сразу после этого файлы будут скопированы...

img-PKM-vstavit.png

ПКМ - вставить

 

*

Вариант 2 (через терминал)

Простое копирование (команда CP)

Я буду исходить из того, что вы практически впервые оказываетесь в терминале Linux и не до конца понимаете "что и откуда"...

Итак, по порядку:

  1. сначала нужно запустить сам 📌терминал (Win+T) // на всякий случай, если у кого он еще не открыт. Прим.: терминал - это такое "черное" окно, в котором нужно вводить текстовые команды, см. пример ниже;
  2. далее разумнее всего (начинающим) узнать в каком каталоге сейчас находимся. Для этого есть команда PWD (после ее ввода нужно нажать Enter). В моем примере каталог: /home/alex (примечание: обычно все файлы пользователей располагаются в каталоге /home).
    img-Home-alex.png

    Home - alex

     

  3. чтобы узнать какие файлы и папки есть в этом каталоге (это тоже будет нужно в последствии) - есть команда ls -l (см. пример ниже);
    img-prosmotr-faylov-i-katalogov.png

    просмотр файлов и каталогов

     

  4. теперь при помощи команды CD нужно открыть ту папку, в которой у вас находятся файлы для копирования (например, CD Изображения). В моем примере я хочу скопировать скриншоты формата PNG (и я открыл папку, в которой они лежат);
    img-perehodim-v-druguyu-papku.png

    переходим в другую папку

     

  5. для копирования файлов есть спец. команда CP. Например, для копирования всех файлов формата PNG - команду можно оформить так: cp *.png /home/alex/Документы (*.png - показывает, что должны быть скопированы файлы PNG формата. Вместо "*" можно указать конкретное имя. /home/alex/Документы - это папка, куда будут скопированы файлы PNG);
    img-Kopirovanie-kartinok-v-papku-dokumentov.png

    Копирование картинок в папку документов

     

  6. теперь попробуем проверить, что у нас скопировалось: для этого сначала откроем каталог cd /home/alex/Документы (а затем посмотрим, что в нем лежит: ls -l). Как видно на скриншоте ниже: все файлы PNG были скопированы из каталога "Изображения" в "Документы";
    img-Proverka-chto-skopirovalos.png

    Проверка что скопировалось

     

 

Рекурсивное (со всеми файлами и каталогами)

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

Пример:

cp -r papka1 papka2

или

cp -r /home/alex/Документы /home/alex/Загрузки

См. пример ниже (после копирования - с помощью CD и ls -l было проверено, что файлы и папки были скопированы полностью).

img-Kopirovanie-tselogo-kataloga.png

Копирование целого каталога

 

*

Копирование на флешку

Совет №1. Лучше и легче всего воспользоваться встроенным проводником Linux (есть в большинстве дистрибутивов). Называется он обычно "Файлы".

*

С этими съемными накопителями всё не всегда просто, особенно при работе через терминал (флешка и внешние диски разные, на них может быть везде своя файловая система, разметка и прочие особенности). Я рассмотрю общий случай для обычной отформатированной флешки (наиболее распространенный):

  1. запускаем терминал;
  2. далее смотрим список дисков - команда: lsblk (см. стрелку-1 на скрине ниже);
  3. создаем точку монтирования - команда: sudo mkdir /media/alex1 (вместо alex1 можете задать что-то свое);
  4. монтируем флешку: sudo mount /dev/sdb1 /media/alex1 (обратите внимание, что вместо sdb1 - вам нужно подставить свой идентификатор, который показала команда lsblk; вместо alex1 - свою заданную точку монтирования);
    img-Montirovanie-fleshki.png

    Монтирование флешки

     

  5. теперь можно открыть флешку (команда: cd /media/alex1) и посмотреть ее содержимое (ls -l);
    img-Otkryivaem-fleshku-i-smotrim-ee-soderzhimoe.png

    Открываем флешку и смотрим ее содержимое

     

  6. теперь осталось только скопировать на флешку нужную папку, например, так: cp -r /home/alex/Документы /media/alex1 (согласно монтированию, см. выше).

 

*

Пару слов о rsync

rsync - это ПО позволяет проводить синхронизацию файлов и папок как на локальном ПК, так и с локального на удаленный (и наоборот). Ее основным преимуществом явл. возможность продолжения копирования (в случае ошибок, сбоев, прерываний). По использованию очень похожа на команду CP (рассмотренную выше).

 

Пример (как выглядит команда):

rsync [опции] <источник> <назначение>

или

rsync test.txt /home/alexuser/  - эта команда произведет копирование файла test.txt в каталог /home/alexuser

 

Чтобы установить rsync воспользуйтесь командной:

apt install rsync

 

 

*

Загрузка файла из сети (wget)

Если вам нужно через терминал скопировать какой-то файл из сети/с сайта (т.е. скачать его) - для этого есть спец. команда wget (примечание: это утилита командной строки в Linux для загрузки файлов из Интернета).

Как ей пользоваться:

 

Дополнение! Если появится ошибка насчет wget - скорее всего эта утилита у вас не установлена. Попробуйте ввести:

sudo apt install wget

А затем повторить вышесказанное...

 

 

 

*

📌 По поводу ошибок (отказано в доступе, нет такой папки и т.п.)

При копировании файлов иногда могут возникать ошибки. Некоторые типовые я решил кратко выделить ниже:

 

Несколько доп. типовых команд в Linux также было разобрано в одной моей прошлой заметке - ссылка на нее ниже, рекомендую.

Команды Linux для начинающих: знакомство с терминалом (на примере Mint, Ubuntu, Debian)

 

*

Дополнения по теме — приветствуются в комментариях к заметке (можно оставить через форму ниже).

Успехов!

Написать комментарий 📎

 

Прикрепить картинку, скрин:

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

  • Интересное
  • Оптимизируем и ускоряем
  • Удаляем вирусы
  • Настраиваем звук
  • Содержание статьи
  •