Каталог расширений

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

3gp       avi       fb2       jpg       mp3       pdf      

Как скопировать файл в linux через терминал


Копирование файлов в Linux

Копирование файлов - одна из задач, наиболее часто возникающих перед пользователями персонального компьютера. Конечно, можно открыть файловый менеджер, войти в нужную папку и скопировать файл с помощью контекстного меню - тут не о чем говорить. Но в этой статье я хотел бы рассмотреть копирование файлов в Linux с помощью терминала.

Не всегда есть доступ к файловому менеджеру: из-за различных поломок графическая оболочка на домашнем компьютере может быть недоступна, а на серверах используется только консольный интерфейс. К тому же  копирование файлов Ubuntu через терминал намного эффективнее, и вы сами в этом убедитесь. Сегодня мы рассмотрим не только обычное копирование командой cp Linux, но и не совсем обычное: с помощью tar и find.

Содержание статьи:

Утилита копирования файлов cp

Название утилиты cp - это сокращение от Copy, что означает копировать. Утилита позволяет полностью копировать файлы и директории.

Синтаксис и опции

Общий синтаксис cp выглядит вот так:

$ cp опции файл-источник файл-приемник

Или:

$ cp опции файл-источник директория-приемник/

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

Утилита имеет несколько интересных опций, которые могут сильно помочь при нестандартных задачах копирования, поэтому давайте их рассмотрим:

  • --attributes-only - не копировать содержимое файла, а только флаги доступа и владельца;
  • -f, --force - перезаписывать существующие файлы;
  • -i, --interactive - спрашивать, нужно ли перезаписывать существующие файлы;
  • -L - копировать не символические ссылки, а то, на что они указывают;
  • -n - не перезаписывать существующие файлы;
  • -P - не следовать символическим ссылкам;
  • -r - копировать папку Linux рекурсивно;
  • -s - не выполнять копирование файлов в Linux, а создавать символические ссылки;
  • -u - скопировать файл, только если он был изменён;
  • -x - не выходить за пределы этой файловой системы;
  • -p - сохранять владельца, временные метки и флаги доступа при копировании;
  • -t - считать файл-приемник директорией и копировать файл-источник в эту директорию.

Примеры копирования файлов в linux

Теперь, когда вы знаете основные опции, можно перейти к практике. Например, мы хотим скопировать некую картинку из домашней папки в подкаталог pictures:

cp ~/pic.png ~/pictures/

Или можем явно указать имя новой картинки:

cp ~/pic.png ~/pictures/wallpaper.png

Копирование папок осуществляется с помощью ключа -r:

cp  -R ~/папка ~/Документы/

После выполнения этой команды копирования ~/папка будет скопирована в папку ~/Документы. Главное, не забывайте поставить слэш в конце выражения или использовать опцию -t. Иначе папка ~/документы будет перезаписана.

По умолчанию команда cp Linux перезаписывает существующие файлы или папки, но можно заставить утилиту спрашивать, нужно ли перезаписывать каждый файл, если вы не уверены в правильности составления команды:

cp -i ~/test ~/Documents/test

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

Опция -u полезна в следующем случае: вы знаете или предполагаете, что в директории, куда копируется файл, есть старая его версия, тогда оператор -u выполнит замену на новую версию:

cp -u ~/test ~/Documents/test

Сp также поддерживает специальные символы замены * и ?. Например, следующая команда скопирует все файлы, начинающиеся на test:

cp ~/test* ~/Документы/

Если нужно применить более сложные регулярные выражения, придётся комбинировать утилиту cp с find или egrep.

В случае, если важно сохранить права доступа к файлу и его владельца, нужно использовать опцию -p:

cp -p ~/test* ~/Документы/

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

$ cp test.conf{,.bak}

Будет создан файл с таким же именем и расширением .bak

По умолчанию в cp не отображается прогресс копирования файла, что очень неудобно при работе с большими файлами, но его можно легко посмотреть с помощью утилиты cv.

Копирование файлов по регулярным выражениям в Linux

В утилите find можно применять различные условия и регулярные выражения для поиска файлов. Я уже немного писал о ней в статье как найти новые файлы в Linux. Мы можем скопировать все найденные с помощью find файлы, вызвав для каждого из них команду cp. Например, копируем все файлы в текущей директории, содержащие в имени только цифры:

find . -name [0-9] -exec cp {} ~/Документы \

Здесь точка указывает на текущую директорию, а параметр name задает регулярное выражение. Параметром exec мы задаем, какую команду нужно выполнить для обнаруженных файлов. Символ {} - подставляет имя каждого файла.

Но не find'ом единым такое делается. То же самое можно получить, запросив список файлов директории в ls, отфильтровав его по регулярному выражению egrep и передав имена файлов по очереди в cp с помощью xargs:

ls -1 ~/ | egrep '[a-zA-Z]' | xargs cp -t ~/Папка/

Это не совсем удобный способ копировать файлы Linux, но всё же он возможен. Будут скопированы все файлы из домашней директории, содержащие в имени только английские буквы.

Копирование содержимого файлов в Linux

Вы можете не только копировать сами файлы, но и управлять их содержимым. Например, склеить несколько файлов в один или разрезать файл на несколько частей. Утилита cat используется для вывода содержимого файла, в комбинации с операторами перенаправления вывода Bash вы можете выполнять копирование содержимого файла Linux в другой файл. Например:

cat файл1 > файл2

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

cat файл1 файл2 > файл3

Специальное копирование файлов в Linux с помощью tar

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

Утилита cp тоже может справиться с такой задачей? если указать опцию -p, но можно использовать утилиту архивации tar. Мы не будем создавать никаких файлов архивов, а построим туннель. Первая часть команды пакует файл и отправляет на стандартный вывод, а другая сразу же распаковывает в нужную папку:

tar cf - /var | ( cd /mnt/var && tar xvf - )

Здесь мы полностью копируем содержимое папки /var в папку /mnt/var. Так вы можете копировать папку Linux, причём абсолютно любую или даже целую операционную систему.

Выводы

Теперь вы знаете, как выполняется копирование файлов Ubuntu и в Linux в целом. Как видите, в терминале это выполняется намного быстрее и эффективнее, чем с помощью графического интерфейса, если помнить нужные команды. Если у вас остались вопросы, спрашивайте в комментариях!

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

Загрузка...

Копирование файлов Linux - команда cp

Задачи по копированию файлов из одного места в другое возникают у пользователей чаще всего, скопировать нужные объекты можно через менеджер файлов, в котором следует найти нужную директорию и после воспользоваться контекстным меню. Однако есть гораздо более простые способы, в этой статье речь как раз пойдет о них, точнее о копировании файлов в Линукс из консоли.

Знание о команде cp полезны, ведь файловый менеджер может некорректно работать из-за проблем с графической оболочкой. Серверные компьютеры вообще управляются только через консоль. Перемещать файлы с помощью терминала очень удобно, в этом может убедиться каждый пользователь. Скопировать файлы можно как с помощью утилиты cp, так же используя tar и find.

Синтаксис

Рассмотрим синтаксис утилиты.

cp [параметр] [что копировать]  [куда купировать]

Как только команда будет активирована, отправляемый файл перенесется в место для приема, при указании на конце файла значка «/» он также будет перенесен, но с новым именем.

Основные параметры:

  • --attributes-only – переместить не сам файл, а только данные пользователя и флаги доступа;
  • -f --force – вместо старых данных записать новые;
  • -i --interactive – спросить о необходимости переписывать старую информацию;
  • -L – создать копию не ссылок-символов, а того, что находится по этим ссылкам;
  • -n – оставить старые файлы на их месте;
  • -P – игнорировать ссылки-символы;
  • -r – скопировать данные Linux используя рекурсию;
  • -s – ничего не копировать, просто создать ссылки-символы;
  • -u – копировать файл, но при условии, что он уже был изменен;
  • -x – проводить все действия только внутри одной системы файлов;
  • -p – во время копирования сохранить все информацию о файле;
  • -t – команда дает возможность считать файл для приема директорией, и отправлять в него нужный объект;

Примеры

Для первого примера, скопируем файл /root/katalog/dokument в папку, которая называется "newpapka".

cp /root/katalog/dokument /root/newpapka

Копирование нескольких файлов в одну директорию.

Cкопируем "dokument" и "file" в каталог "newpapka".

cp /root/katalog/dokument /root/katalog/file /root/newpapka

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

cp -v /root/katalog/dokument /root/katalog/file /root/newpapka

Команда cp устроена так, что все отправляемые с ее помощью файлы перезаписываются, однако программу можно заставить спрашивать пользователя о том, нужно ли перезаписывать старые данные, для этого есть специальная команда:

cp -i /root/katalog/dokument /root/newpapka

Существует альтернатива данной функции, благодаря запросу «-n» можно сказать программе, чтобы она вообще не перезаписывала файлы.

Данная возможность будет полезна при следующей ситуации: пользователю известно, что в определенном месте для копирования уже содержится тот же файл, но с устаревшей версией, а с помощью функции «-u» можно безболезненно перезаписать старые данные:

cp -u /root/katalog/dokument /root/newpapka

Скопировать директорию

Для копирование папки со всем ее содержимом необходимо использовать параметр -r.

cp -r /root/katalog /root/newpapka

ВАЖНО! Как видно из скриншота, данный способ скопирует всю папку и поместит ее в новую директорию.

Если нужно только сделать копию всех файлов без папки, то опция -r не подойдет.

Можно сделать так:

cp /root/katalog/* /root/newpapka

Как видно из примера выше, команда cp работает со знаками «*» и «?», следующий запрос, займется копированием всех файлов, чье название начинается с new:

cp /root/katalog/new* /root/newpapka

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

cp test.conf{,.bak}

С ее помощью появится резервный файл, который имеет расширение, указанное в скобках.

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

Регулярные выражения

Для выполнения других, более сложных функций, придется использовать вместе с cp такие утилиты find и egrep.

С помощью утилиты find есть возможность использовать команды для выявления расположения файлов. Пользователь может найти данные с использованием find, а затем скопировать их, используя функция для копирования.

Вот пример, в нем проводится копирование файлов, которые содержат цифры от 1 до 5:

find /root -name [1-5] -exec cp {} /root/newpapka \;

ВАЖНО! Обязательно в конце команды нужно ввести ";", в противном случаи будет ошибка - exec аргумент не задан.

Здесь:

  • /root - каталог где производить поиск.
  • -name - критерии поиска.
  • [1-5] - что искать, в данном случаи от одного до пяти.
  • -exec - аргумент, который говорит, что нужно запустить команду.
  • {} - подставляет имя каждого файла.

Сделать то же самое можно и не прибегая к find, можно обратиться к утилите ls, выбрать нужные файлы, используя регулярные выражения egrep, затем отправить их под контроль cp, применяя при этом xargs:

ls -1 /root | egrep '[1-5]' | xargs cp -t /root/newpapka

Данный способ не отличается особым удобством, однако использовать его можно. При работе с ним начнется копирование файлов из основной директории, чьи имена содержат лишь цифры от 1 до 5.

Копирование при помощи перенаправления вывода

В операционной системе Linux есть специальный символ ">", который означает перенаправление вывода.

Благодаря этой возможности можно не только переносить файлы, но и работать с их составляющими. Есть возможность соединить несколько файлов или наоборот разрезать их.

Используя cat можно выводить на экран основные данные файла, а затем, используя bash, пользователь сможет переносить составляющие файла из одного места в другое.

Вот пример:

cat file1 > newfile

TAR

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

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

С помощью cp так делать можно, однако на помощь придется позвать утилиту tar, чтобы она начала работу следует написать в cp «-p».

В качестве примера будет приведен туннель – одна часть запроса архивирует файл и отправляет его, другая – разархивирует и отправляет в нужное место:

tar cf - /lfc | ( cd /epl/lfc && tar xvf - )

С помощью данной команды все из папки /lfc отправляется в папку /epl/lfc. Таким способом можно скопировать любую информацию с компьютера, даже если это операционная система.

Итог

Теперь почти каждый пользователь знает, как копировать файлы в ОС. С помощью терминала делать это можно быстро, главное – запомнить все нужные команды.

Команды Linux для работы с файлами

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

В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:

  • ls - список файлов в директории;
  • cd - переход между директориями;
  • rm - удалить файл;
  • rmdir - удалить папку;
  • mv - переместить файл;
  • cp - скопировать файл;
  • mkdir - создать папку;
  • ln - создать ссылку;
  • chmod - изменить права файла;
  • touch - создать пустой файл.

А теперь перейдем к подробному рассмотрению всех этих команд.

1. ls - просмотр содержимого папки

Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:

ls

Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:

ls -R

Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:

ls /home

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

ls -l /home/

2. cd - изменить папку

Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:

cd Desktop

Вы также можете указать полный путь к папке:

cd /usr/share/

Команда cd .. переходит в папку, которая находится выше на одну в файловой системе:

cd ..

Вы также можете вернуться в предыдущую рабочую папку:

cd -

3. rm - удалить файлы

Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:

rm file

Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:

rm /usr/share/file

Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:

rm -r /home/user/photo/

Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.

4. rmdir - удалить папку

Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:

rmdir directory

Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.

5. mv - перемещение файлов

Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:

mv file newfile

Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/

mv file /home/user/tmp/

6. cp - копирование файлов

Эта cp и mv - это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.

cp file newfile

Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:

cp -r /etc /etc_back

7. mkdir - создать папку

Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:

mkdir test

Если нужно создать папку в другом каталоге, укажите полный путь к нему:

mkdir /home/user/test

8. ln - создание ссылок

Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, вы создадим ссылку на папку с загрузками:

ln -s /home/user/Downloads/ /home/user/test/

Для создания жесткой ссылки никаких опций задавать не нужно:

ln /home/user/Downloads/ /home/user/test/

9. chmod - изменить права

chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:

chmod +x  script.sh

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

chmod -x script.sh

Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.

10. touch - создать файл

Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:

touch file

Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.

11. mc

Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander - это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:

sudo apt install mc

После завершения установки достаточно выполнить команду mc:

mc

Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:

Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.

Выводы

В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в комментариях!

Как скопировать файл или папку в Linux через терминал — инструкция пользователю

На операционной системе Linux Ubuntu многим пользователям часто требуется скопировать файлы, директории или их содержимое в определённое место, например, на внешний носитель. В данной статье рассказано, как это сделать в кратчайшие сроки.

Как копировать файл Linux с помощью утилиты Cp

Сp — это стандартная утилита данной операционки, посредством использования которой можно сделать копию каталогов или единичных файлов.

К сведению! Cp — это сокращение от слова «Copy».

Внешний вид папок на рабочем столе операционной системы Линукс

Синтаксис и опции

Утилита имеет два возможных написания, которые могут применяться либо по отношению к папкам, либо к файлам:

  • «$ cp file источник file приёмник». Данная команда прописывается в отношении к файлам, содержимое которых пользователь хочет скопировать;
  • «$ сp file источник direct приёмник». Это сочетание уже применимо, когда нужно скопировать файл в директорию, т. е. каталог.

Обратите внимание! Представленные выше команды вводятся в терминале операционной системы Линукс. Это специальное средство для ввода команд, которые могут повлиять на функционирование операционки.

Опытные специалисты выделяют несколько опций Cр:

  • «-P». Даная опция позволяет не копировать символические ссылки;
  • «-X». Предотвращает выход за пределы используемой файловой системы;
  • «-r». Такая функция осуществляет рекурсивное копирование директории;
  • «-t». В процессе копирования меняет приёмник и источник местами, причём в независимости от копируемого элемента, будь то папка или единичный file;
  • «-s». Задаёт команду копирования, если конечный элемент был изменён пользователем. Такая опция применима, если только речь идёт о копировании файлов. Применять её к директориям нельзя.

Внешний вид терминала на OC Linux

Чтобы произвести Linux copy file с помощью представленной выше утилиты, рекомендуется действовать по следующему алгоритму:

  1. Зажать на клавиатуре ПК кнопки «Ctrl + Alt + T» одновременно на англоязычной раскладке для открытия терминала. Существуют и другие способы, позволяющие запустить классическое приложение, однако этот самый простой и эффективный.
  2. В строку с мигающим курсором вписать «$ cp/Название файла источника/ Имя file приёмника/» и тапнуть по «Enter». С директориями то же самое.
  3. Дождаться завершения процедуры копирования и перезапустить свой стационарный компьютер или ноутбук для окончательного применения внесённых изменений.
  4. Проверить, скопировалось ли содержимое файла в каталог и наоборот.

Важно! Если после осуществления представленных выше манипуляций положительный результат не был достигнут, то пользователь, скорее всего, допустил ошибку, когда писалась СЗ команда Linux. Процедуру стоит провести заново.

Как скопировать несколько файлов через терминал на Линукс

Процесс осуществления данной задачи разделяют на несколько этапов, каждый из которых играет немаловажную роль:

  1. Открыть терминал операционки по рассмотренной выше схеме.
  2. Отыскать строку с мигающим курсором и вбить в неё фразу «cp /Загрузки/{filetxt,file2.jpg,file3.odt} /Новая папка/». После нажатия на «Enter» с клавиатуры компьютера начнётся процесс копирования, по окончании которого указанные файлы окажутся в нужной директории.
  3. Открыть каталог, который был указан в качестве приёмника, и проверить его содержимое на предмет наличия files.

Копирование файлов через терминал на операционной системе Линукс

Обратите внимание! Подобные команды можно придумать и самостоятельно, добавляя в синтаксис новые элементы, а также меняя местами приёмник с источником. В этом деле главное — не ошибиться при написании названий файлов и директорий, иначе процедуру придётся повторять заново после перезапуска компьютера.

Специальное копирование файлов в Linux с помощью Tar

Tar на операционных системах семейства Линукс представляет собой специальную утилиту архивации, благодаря которой можно сохранить атрибуты files. Процесс выполнения задачи на основе данной утилиты подробно описан в следующем алгоритме:

  1. Запустить терминал любым удобным способом. Это можно сделать как сочетанием клавиш, так и вручную через «Пуск».
  2. Вбить команду «tar cf — /direct1 | ( cd /direct2/dirext1 && tar xvf — )» и нажать на «Enter». Введя данную команду, пользователь сможет полностью скопировать содержимое одной директории в другую, т. е. переместить папку Linux.
  3. Перезагрузить компьютер, чтобы сохранить изменения.

К сведению! Через программное обеспечение Tar также возможно скопировать ISO-образ с одного USB-накопителя на другой.

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

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

Файловый менеджер на операционке Linux

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

  1. Запустить нужную папку, тапнув по ней левой клавишей компьютерного манипулятора два раза.
  2. Зажать правую кнопку мышки и выделить всё содержимое директории. Это могут быть различные файлы, например, документы, видеоролики, изображения, музыка, интернет-ресурсы, скачанные напрямую с сервера, и т. д.
  3. Когда все элементы выделятся, пользователю ПК потребуется нажать на ПКМ и в меню контекстного типа отыскать строку «Копировать», после чего тапнуть по ней один раз ЛКМ.
  4. Открыть другую папку, в которую пользователь хочет вставить скопированные ранее элементы. Её надо будет создать заранее и разместить на рабочем столе компьютера.
  5. Кликнуть ПКМ по любому свободному месту в окошке отобразившегося каталога.
  6. В окне контекстного типа тапнуть по строке «Вставить».
  7. Дождаться окончания процесса перемещения элементов из одной директории в другую.

Обратите внимание! Аналогичным образом можно переместить папку в папку, один единственный файл в указанный каталог либо его содержимое в другой file, осуществив замену. При этом перезагружать операционную систему после выполнения таких манипуляций не требуется, т. к. все изменения применяются автоматически.

Открытие папки от имени администратора через файловый менеджер на Linux

Почему не получается осуществить копирование объектов через файловый менеджер на ОС Линукс

У данного обстоятельства есть несколько распространённых причин:

  • системный сбой. В такой ситуации после перемещения файлов между двумя директориями пользователю рекомендуется нажать правой клавишей манипулятора по свободному пространству на рабочем столе либо прямо в папке и тапнуть по строке «Обновить». Содержимое каталога должно отобразиться. Также можно попробовать перезапустить стационарный компьютер, ноутбук и выполнить процедуру копирования ещё раз;
  • вирусное заражение ПК. Некоторое вредоносное программное обеспечение, которое попало на устройство через Глобальную сеть, может отрицательно повлиять на функционирование операционной системы, заблокировать работу многих стандартных функций. Для решения проблемы необходимо проверить свой ПК, воспользовавшись лицензионным антивирусом либо специализированными утилитами;
  • проблемы с копируемыми объектами. Если файл имеет расширение, которое невозможно прочитать, то могут возникнуть проблемы с его копированием на внешний носитель либо в отдельную папку;
  • нелицензионная версия операционной системы. Пиратские, собранные копии операционки также могут стать причиной возникновения подобной проблемы, поэтому их не рекомендуется использовать;
  • наличие специальных обновлений. Некорректно загруженное обновление может стать причиной нестабильности работы операционной системы. Для исправления ошибки обновление потребуется деинсталлировать;
  • устаревшая версия БИОС материнской платы ПК. Данная причина редко вызывает проблемы с копированием файлов и папок на Linux, однако её исключать нельзя. Загрузить последнюю версию BIOS для конкретной модели материнской платы можно с официального сайта её изготовителя в Интернете.

Чистка компьютера от вредоносного ПО с использованием лицензионного антивируса

Важно! Перепрошивать BIOS самостоятельно не рекомендуется во избежание проблем в дальнейшем. Лучше обратиться в сервисный центр, специалисты которого смогут справиться с поставленной задачей без особых проблем.

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

Таким образом, большинство способов копирования файлов и папок на операционке Линукс реализуется с помощью терминала. Однако с работой консоли сможет разобраться не каждый пользователь. В такой ситуации скопировать нужные объекты можно будет в файловом менеджере системы. На основе представленной выше информации каждый сможет понять, как осуществляется в Linux копирование файлов.

Как скопировать файлы с помощью команды ср в Linux

Это руководство покажет вам, как копировать файлы и каталоги в вашей системе с помощью командной строки Linux.

Команда cp используется для копирования файлов.

 

Как скопировать файл из одной директории в другую с помощью Linux

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

cp /source/path/name /target/path/name

 

Например представьте, что вы имеете следующую структуру папок:

  • home
    • andreyex
      • documents
        • folder_one
          • file_one
          • file_two
          • file_three
        • folder_two

Если вы хотите скопировать file_one из текущего местоположения в /home/andreyex/documents/folder_one в /home/andreyex/documents/folder_two, то вы должны ввести следующую команду в командной строке:

cp /home/andreyex/documents/folder_one/file_one /home/andreyex/documents/folder_two/file_one

 

Ярлыки вы можете сделать здесь.

Главная часть может быть заменена на тильду (~), что объясняется в этой статье. Это изменяет команду на:

cp ~/documents/folder_one/file_one ~/documents/folder_two/file_one

Вы можете просто опустить имя файла для цели, если вы собираетесь использовать то же имя файла

cp ~/documents/folder_one/file_one ~/documents/folder_two

 

Если вы уже в целевой папке вы можете просто заменить путь к цели с полной остановкой.

cp ~/documents/folder_one/file_one

 

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

cp file_one ~/documents/folder_two

 

Как сделать резервную копию перед копированием файлов в Linux

В предыдущем разделе folder_one содержит файл с именем file_one и folder_two не делает. Представьте себе, что folder_two имеет файл с именем file_one и вы запустили следующую команду:

cp file_one ~/documents/folder_two

 

Приведенная выше команда перезапишет file_one, который в настоящее время находится в folder_two. Там нет подсказок, нет предупреждения и сообщения об ошибках, потому что, вы указали действительную команду.

Вы можете принять меры предосторожности при копировании файлов в Linux, для создания резервной копии файла, прежде чем он переписывает его. Просто используйте следующую команду:

cp -b /source/file /target/file

 

Например:

cp -b ~/documents/folder_one/file_one ~/documents/folder_two/file_one

 

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

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

cp --backup=numbered ~/documents/folder_one/file_one ~/documents/folder_two/file_one

 

Имя файла для резервных копий будет меняться: file_one.~1~, file_one.~2~ и т.д.

 

Как запросить перед перезаписью файлов при копировании в Linux

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

Для этого используйте следующий синтаксис:

cp -i /source/file /target/file

 

Например:

cp -i ~/documents/folder_one/file_one ~/documents/folder_two/file_one

 

Сообщение будет выглядеть следующим образом :  cp: overwrite ‘./file1’?

Для перезаписи файла нажмите Y на клавиатуре или для отмены нажмите N или CTRL и C одновременно.

 

Что происходит при копировании символьных ссылок в Linux

Символическая ссылка немного походит на ярлык на рабочем столе. Содержимое символической ссылки является адрес физического файла.

Представьте себе, вы имеете следующую структуру папок:

  • home
    • andreyex
      • documents
        • folder_one
        • folder_two
          • file_one (symbolic links points to folder_one/file_one)
        • folder3

Посмотрите на следующую команду:

cp ~/documents/folder_one/file_one ~/documents/folder3/file_one

 

Здесь не должно быть ничего нового, так как он копирует физический файл из одной папки в другую.

Что происходит, однако, если скопировать символическую ссылку из folder_two в folder3?

cp ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

Файл, который копируется в folder3 не будет символической ссылкой. Это на самом деле файл, на который указывает символическая ссылка, так на самом деле вы получите тот же результат, как если бы путем копирования file_one из folder_one.

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

cp -H ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

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

cp -L ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

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

cp -d ~/documents/folder_two/file_one ~/documents/folder3/file_one

 

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

cp -P ~/documents/folder_two/file_one ~documents/folder3/file_one

 

Как создавать жесткие ссылки с помощью команды ср

В чем разница между символической ссылкой и жесткой связи?

Символическая ссылка – это ярлык для физического файла. Он не содержит больше, чем адрес на физический файл.

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

Это руководство расскажет вам все, что вам нужно знать о жестких ссылках .

Вы можете создать жесткую ссылку с помощью команды ср.

cp -l ~/source/file ~/target/file

 

В качестве примера того, почему вы могли бы использовать жесткую ссылку учесть, что у вас есть папка под названием видео и в этой папке видео у вас есть действительно большой видео файл с именем honeymoon_video.mp4. Теперь представьте, что вы также хотите, чтобы видео быть известным как barbados_video.mp4, потому что он также имеет кадры Барбадоса.

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

Вы могли бы вместо того, чтобы создать символическую ссылку с именем barbados_video.mp4, которая указывает на файл honeymoon_video.mp4. Это будет работать хорошо, но если кто-то удалил honeymoon_video.mp4 вы остались бы со ссылкой и ничего другого и связь по-прежнему занимает дисковое пространство.

Единственное отличие состоит в том, что они содержат разное количество индексных дескрипторов. (уникальные идентификаторы). Удаление файла honeymoon_video.mp4 не удаляет файл, но только снижает количество для этого файла на 1. Файл будет удален только если все ссылки на этот файл будут удалены.

Чтобы создать ссылку вы могли бы сделать что-то вроде этого:

cp -l /videos/honeymoon_video.mp4 /videos/barbados_video.mp4

 

Как создать символические ссылки с помощью команды ср

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

cp -s /source/file /target/file

 

Опять же я бы лично вообще используют команду ln -s, но вместо этого работает хорошо.

 

Как скопировать файлы, если они новее

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

cp -u /source/file /target/file

 

Стоит отметить, что если файл не существует на целевой стороне, то копия будет иметь место.

 

Как скопировать несколько файлов

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

cp /source/file_one /source/file_two /source/file_three /target

 

Приведенная выше команда будет копировать file_one, file_two и file_three в целевую папку.

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

cp /home/andreyex/music/*.mp3 /home/andreyex/music2

 

Приведенная выше команда будет копировать все файлы с расширением .mp3 в папку music2.

 

Как скопировать папки

Копирование папок такое же, как копирование файлов.

Например представьте, что вы имеете следующую структуру папок:

Представьте, что вы хотите переместить папку folder_one в папку folder_two следующим образом:

Вы можете использовать следующую команду:

cp -r /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two

 

Кроме того, можно использовать следующую команду:

cp -R /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two

 

Это копирует содержимое folder_one, а также любые суб-каталоги и файлы в пределах подкаталогов.

 

Резюме

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

man cp

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

Буфер обмена в Linux (копирование и вставка). Linux статьи

Хочу рассказать о некоторых особенностях буфера обмена в Linux. О буфере копирования и про буфер выбора (первичный буфер), а также про копирование и вставку текста в терминале.

Буфер копирования

Стандартно для копирования и вставки объектов в Linux используются сочетания клавиш Ctrl+C и Ctrl+V. При копировании текст (или любой другой объект) в таком случае попадает в обычный буфер копирования. Затем вы можете вставить этот текст в другом месте.

Буфер выбора (первичный буфер)

В Linux существует еще буфер выбора или первичный буфер. Текст, который вы выделяете в любой программе, автоматически попадает в буфер обмена! Это удобно, выделил текст, открыл другое окно и вставил этот кусок текста. Есть некоторые исключения, но они незначительны. Например, у меня в Ubuntu это не работает, если программа использует JVM (Java Virtual Machine).

Кстати, именно этим объясняется следующие поведение. Вы выделили текст в программе, затем открыли другую программу и выделили какой-нибудь текст в ней. После этого, выделение текста в первой программе автоматически снимется, а текст который вы выделили последним, попадет в буфер выбора.

Копирование и вставка в терминале

В терминале для копирования и вставки не работают стандартные сочетания Ctrl+V, Ctrl+C. Это связано с тем, что исторически Ctrl+C это сочетание клавиш для прерывания текущего процесса. Поэтому, для копирования и вставки при работе в терминале используются сочетания Ctrl+Insert и Shift+Insert соответственно. В Gnome терминале и, наверное, во многих других также работают сочетания Shift+Ctrl+C и Shift+Ctrl+V. Они же указаны в главном меню программы в разделе Правка.

Также в терминале работают сочетания клавиш Ctrl+U, чтобы вырезать текст; и Ctrl+Y для вставки текста. Сочетание Ctrl+U работает особенным образом — в буфер копируется вся текущая строка, введенная в терминале, независимо от того, выбрали вы какой-нибудь текст мышкой или нет, а сама строка пропадает с экрана.

linux - Как скопировать определенный файл в папку с помощью терминала

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.Терминал

- Linux - Как скопировать вывод команды в буфер обмена

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд
.

linux - копирование локального файла с Mac в сеанс ssh в терминале

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

linux - копирование файлов из Windows в подсистему Ubuntu

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

linux - Как редактировать текстовый файл в моем терминале

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

.

Смотрите также