Копирование файлов через SSH | REG.RU
В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.
Для копирования файлов по SSH в Linux-системах и Windows используют разные инструменты:
- scp (Secure CoPy) — утилита для безопасного копирования данных между Linux-системами по протоколу SSH. Она входит в состав OpenSSH, поэтому для работы с утилитой не нужно устанавливать дополнительное ПО;
- pscp.exe — утилита для загрузки файлов по SSH в ОС Windows. Она обладает теми же возможностями, что и scp. Утилита входит в состав программы Putty — SSH-клиента для Windows. Скачать программу можно по ссылке.
Обратите внимание
Если файл, который вы хотите скопировать, уже существует на целевом хосте, при копировании он будет перезаписан.
Копирование файлов по SSH на Linux
Для Linux копирование файлов по SSH происходит с использованием команды scp.
- с локального компьютера на удалённый сервер,
- с удалённого сервера на локальный компьютер,
- с одного удалённого сервера на другой.
Общий вид команды:
scp [опция] [источник] [получатель]
Обратите внимание
Для подключения к удалённому серверу вам понадобится логин и пароль пользователя.
Как скопировать файл по SSH с локальной машины на удалённый сервер
Как загрузить файл на сервер по SSH? Для этого используйте команду вида:
scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Пример команды:
scp /home/test.txt [email protected]:/directory
Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».
Как скопировать файлы с удалённого сервера на локальный компьютер
При подключённом SSH скачать файл на локальный компьютер с удалённого сервера можно с помощью команды:
scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Пример команды:
scp root@123. 123.123.123:/home/test.txt /directory
Файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку «/directory».
Как скопировать файл по SSH с одного удалённого сервера на другой
Подключитесь по SSH к серверу, на котором расположен файл. Затем выполните команду:
scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Пример команды:
scp /home/test.txt [email protected]:/directory
Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».
Как скачать папку со всеми файлами и подпапками
Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r:
scp -r [источник] [получатель]
Как подключиться к серверу по нестандартному порту
Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключом -P:
scp -P [источник] [получатель]
Пример команды:
scp -P 12345 /home/test. txt [email protected]:/directory
Эта команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «test.txt» с локального компьютера в директорию «/directory».
Как передать и скачать файлы по SSH на Windows
Скопировать файл по SSH на сервер можно командой:
pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Скачать файл по SSH с сервера командой:
pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:
pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]
Если в пути или в названии файла есть пробелы, используйте кавычки:
pscp “C:\files or docs\file name” [email protected]:/home
Помогла ли вам статья?
Да
раз уже помогла
Как копировать (и вставлять) файлы и каталоги из командной строки в Linux
Linux
Подготовить Копировать и вставлять файлы Одна из самых простых вещей, которые вы можете делать на своем компьютере. На Linux У вас есть несколько вариантов выполнения этой задачи. Используйте командную строку Поскольку эти вещи более прямые, они дают вам больше контроля и, в некоторых случаях, значительно упрощают их.
Скопируйте один файл
Каждый раз, когда вы хотите скопировать файл или папку в командной строке Linux, вы будете использовать команду cp. cp Это сокращение от копирования. Синтаксис также прост. Используйте cp, затем укажите файл, который вы хотите скопировать, и место назначения, в которое вы хотите его переместить.
cp your-file.txt ~/Documents/
Это, конечно, предполагает, что ваш файл находится в том же каталоге, из которого вы работаете. Вы можете выбрать оба.
cp ~/Downloads/your-file.txt ~/Documents/
У вас также есть возможность переименовать файл при его копировании. Укажите новое имя в месте назначения.
cp ~/Downloads/your-file.txt ~/Documents/new-name.txt
Скопируйте папку и ее содержимое
Чтобы скопировать папку и ее содержимое, вам нужно будет сообщить команде cp повторное копирование. Это достаточно просто с тегом -r.
cp -r ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics
Весь остальной синтаксис точно такой же. тег работает -r сказать cp Он работает с каталогом и должен копировать его содержимое.
Копировать несколько файлов
Вы также можете скопировать несколько файлов. Командная строка Linux позволяет настроить таргетинг на несколько элементов одновременно, используя круглые скобки. {}. Вы можете использовать его для перечисления имен каждого копируемого файла, чтобы файлы были разделены запятыми.
cp ~/Downloads/{file1.txt,file2.jpg,file3.odt} ~/Documents/
Все три файла с разными типами файлов будут скопированы в каталог Documents.
Скопируйте все файлы одного типа
Если у вас есть много файлов одного типа для копирования, вы можете использовать подстановочный знак *. «Звездочка / подстановочный знак» указывает командной строке Linux принимать что-либо в этом месте. Итак, если вы попросите Linux скопировать *.jpg , он скопирует все файлы JPG, независимо от имени или того, что стоит перед частью .jpg.
cp ~/Downloads/*.jpg ~/Pictures/
Если вы хотите использовать несколько типов файлов, например JPG и PNG, вы можете использовать круглые скобки, как и раньше.
cp ~/Downloads/*.{jpg,png} ~/Pictures/
Переместить файл или папку
Если вы пришли сюда, чтобы переместить файл из одного места в другое без дублирования, вы тоже можете сделать это легко, но для перемещения файла требуется mv. Синтаксис очень похож на cp.
mv ~/Downloads/your-file.txt ~/Documents/
Точно так же можно и переименовать.
mv ~/Downloads/your-file.txt ~/Documents/renamed.txt
Однако есть одна большая разница. Вам не нужна бирка -r Чтобы переместить всю папку.
mv ~/Downloads/downloaded-folder ~/Pictures/vacation-pics
Это действительно все, что нужно сделать. Вы готовы начать Скопируйте ваши файлы и перенесен из командной строки. Как видите, в некоторых случаях метод командной строки может быть очень эффективным. В других случаях может быть проще использовать графический интерфейс. Со временем, работая с Linux, вы привыкнете выбирать лучшее.
Источник
Команда CP в Linux с примерами [Копировать файл в Linux]
14 апр, 23 Антоний Юшкевич 5 мин Чтение
Руководства Сервер
Список контента, который вы прочтете в этой статье:
- 1. Скопируйте файл в Linux с помощью команды CP
- . 2. Опции команды копирования
- 3. Как скопировать файл в Linux в другой каталог
- 4. Как скопировать несколько файлов из одного каталога в другой в Linux
- 5. команда rsync для копирования файлов
- 6. Заключение
Linux предлагает гибкие и простые команды для выполнения различных операций с файлами и папками. Одной из часто выполняемых задач является копирование файлов в Linux путем запуска определенных команд вместе с различными параметрами дополнительных функций.
В этой статье мы изучим различные команды cp в Linux для копирования файлов вместе с различными параметрами. Кроме того, вы узнаете, как создавать общесистемные резервные копии для копирования определенных файлов.
класс = «идентификатор ссылки»>Вы можете использовать команду cp в Linux для копирования файлов и каталогов из одного места в другое. Она работает аналогично команде mv, которая используется для перемещения файла или каталога из одного места в другое. Что ж, в каждом дистрибутиве Linux используется команда cp. Ниже приведен основной формат команды cp, которую вы можете использовать.
cp [дополнительная_опция] исходный_файл целевой_файл
Например:
cp my_file_name.
Приведенная выше команда Linux поможет создать копию my_file_name и затем переименовать новый файл в my_file_name.
По умолчанию команда копирования в Linux будет выполняться в том же каталоге, в котором вы находитесь. Однако два файла с одинаковыми именами не могут существовать в одном каталоге. Если вы хотите скопировать файл, который уже существует в целевом расположении, вам нужно изменить имя файла, чтобы отличать новый файл.
класс = «идентификатор ссылки»>Ниже приведены некоторые дополнительные параметры команды копирования, которые можно использовать с командой cp для выполнения различных операций.
- –v verbose: этот параметр помогает отображать ход выполнения выполняемой команды, которая копирует файлы.
- –p сохранить: помогает сохранить те же атрибуты скопированного файла, такие как дата создания и права доступа к файлу.
- –f force: это поможет принудительно скопировать файл, сначала удалив существующий файл
- –i интерактивный: при выборе этого параметра перед перемещением файла будет запрашиваться подтверждение.
- –R рекурсивный: этот параметр копирует все файлы и подпапки в каталоге
- –u update: этот параметр позволяет обновлять только в том случае, если источник новее, чем место назначения.
Если вы хотите скопировать определенный файл из текущего рабочего каталога в другое место, отличное от рабочего каталога, вы можете использовать для этого следующую команду копирования.
cp my_file_name.txt /new_directory
Вы даже можете скопировать файл из каталога, отличного от текущего рабочего каталога, указав путь к файлу в источнике и указав путь к целевому, как показано ниже.
cp /etc/my_file_name.txt /new_directory
Приведенная выше команда позволит вам скопировать файл без изменения каталога. Если новый_каталог не существует, команда копирования файла создаст этот каталог.
Если мы хотим переименовать и скопировать файл по другому пути, вы можете запустить следующую команду, как показано ниже.
cp my_file_name.txt /new_directory/my_file_name2.txt
Этот параметр также полезен, если вы хотите создать резервные копии файлов конфигурации или для копирования данных на устройство хранения.
класс = «идентификатор ссылки»>Используя команду cp file, вы также сможете копировать несколько файлов одновременно. Вы можете указать несколько файлов, разделенных пробелами, за которыми следует путь, по которому вы хотите скопировать эти файлы.
cp my_file_name.txt my_file2_name.txt my_file3_name.txt /new_directory
Приведенная выше команда не будет перемещать файлы, но создаст копию этих файлов по пути назначения. Вы даже можете использовать подстановочный знак для копирования файлов, как показано ниже.
cp /pictures/*.jpg /new_directory
Приведенная выше команда выполнит поиск всех файлов с расширением .jpg, а затем скопирует их по пути назначения.
Если вы хотите скопировать всю папку вместе с ее подкаталогом, вы можете использовать опцию «-R» вместе с командой cp. Где «-R» означает рекурсивную операцию.
cp –R /documents/new_directory
Вы можете использовать команду rsync для синхронизации или передачи данных между двумя разными местоположениями. Чем-то она похожа на команду cp Linux, но имеет некоторые отличия. Если вы хотите скопировать один файл, вы можете запустить следующую команду.
rsync –a my_file.txt /new_directory/my_file_backup.txt
в Linux — еще одна часто используемая команда, которая поможет создать копию существующего файла в другом определенном месте. В команде копирования файлы останутся в исходной папке вместе с перемещением в папку назначения.
В этой статье вы сможете понять концепцию команды CP Linux и то, как она работает по-разному с различными параметрами.
Люди также читают:
- Как удалить файлы в Linux?
- Как перемещать файлы в Linux?
- Права доступа к файлам и каталогам в Linux
- Как найти файл в Linux?
- Что такое операционная система Linux?
Категория:
Учебники
Server
Как копировать файлы в Linux с помощью команды cp
Одной из команд, которую вы должны знать в Linux, является cp. В Linux ее часто называют командой копирования, и на самом деле это сокращение от «копировать», и она делает именно то, что следует из названия: копирует.
cp используется для копирования файлов из одного места в другое. cp также можно использовать для копирования целых каталогов в новое место. Вы также можете использовать его для копирования нескольких файлов и каталогов.
7 Примеры использования команды cp в Linux
Давайте посмотрим, как можно использовать команду cp для различных целей:
1. Как скопировать файл
Самый простой пример — копирование файла. Для этого вам просто нужно указать исходный файл и целевой каталог или файл.
cp исходный_файл целевой_каталог/целевой_файл
В приведенном выше примере, если target_fille не существует в целевом_каталоге, будет создан целевой_файл.
Однако, если новый_файл уже существует, он будет перезаписан без запроса. Это означает, что содержимое существующего целевого файла будет заменено содержимым исходного файла.
Позже в этом руководстве я покажу вам, как справиться с перезаписью файлов.
📄
По умолчанию команда cp перезаписывает, если целевой файл уже существует. Это поведение можно изменить с помощью опции -n или -i, которые объясняются позже.
2. Как скопировать несколько файлов
Если вы хотите скопировать несколько файлов одновременно в новое место, вы можете сделать это следующим образом:
cp файл1 файл2 файл3 файлN целевой_каталог
файлы в целевой каталог. Если в целевом каталоге есть файлы, совпадающие с именем исходного файла (файлов), они будут перезаписаны.
3. Несколько способов борьбы с перезаписью при копировании файлов
Вероятно, вы не всегда захотите, чтобы ваши существующие целевые файлы были перезаписаны, и это совершенно логично.
Чтобы предотвратить перезапись существующих файлов, вы можете использовать параметр -n. Таким образом, cp не перезапишет существующие файлы.
cp -n исходный_файл целевой_каталог
Но, возможно, вы хотите перезаписать некоторые файлы. Вы можете использовать интерактивную опцию -i, и она спросит вас, хотите ли вы перезаписать существующие файлы.
cp -i исходный_файл целевой_каталог cp: перезаписать «целевой_каталог/исходный_файл»?
Вы можете ввести y, чтобы перезаписать существующий файл, или n, чтобы не перезаписывать его.
Существует также возможность автоматического резервного копирования. Если вы используете опцию -b с командой cp, она перезапишет существующие файлы, но перед этим создаст резервную копию перезаписанных файлов.
cp -b файл.txt целевой_каталог/файл.txt ls target_dir file.txt file.txt~
Резервная копия файла заканчивается символом ~.
Вы также можете использовать опцию обновления -u при перезаписывании. С параметром -u исходные файлы будут скопированы в новое место только в том случае, если исходный файл новее существующего файла или если он не существует в целевом каталоге.
Подводя итог:
- -i : Подтвердить перед перезаписью
- -n : Нет перезаписи
- -b : Перезаписать с помощью резервной копии
- -u : Перезаписать, если целевой файл устарел или не существует
40133 , Как скопировать каталог в Linux
Вы также можете использовать команду cp для копирования каталога в Linux, включая все его файлы и подкаталоги. Здесь вы должны использовать параметр -r, который означает рекурсивный.
cp -r исходный_каталог целевой_каталог
Это скопирует весь исходный_каталог в целевой_каталог. Теперь source_dir будет подкаталогом target_dir.
лс target_dir source_dir
5. Как скопировать только содержимое каталога, а не сам каталог
В предыдущем примере вы скопировали весь каталог в новое место.
Но если вы просто хотите скопировать содержимое исходного каталога в целевой каталог, вы должны добавить /. в конце исходного каталога. Это будет означать, что вы хотите скопировать только содержимое исходного каталога.
Давайте посмотрим на это на примере:
ls source_dir исходный_файл_1 исходный_файл2
Теперь скопируйте содержимое исходного каталога:
cp -r исходный_каталог/. target_dir
Если вы сейчас проверите содержимое целевого каталога, вы увидите, что было скопировано только содержимое исходного каталога.
лс target_dir исходный_файл_1 исходный_файл2
6.
Как скопировать несколько каталоговВы также можете одновременно скопировать несколько каталогов с помощью команды cp в Linux.
Просто используйте его так же, как для одного каталога.
cp -r исходный_каталог1 исходный_каталог2 исходный_каталог3 целевой_каталог
В качестве целевого каталога всегда используется последний аргумент команды.
Если вы хотите скопировать только содержимое нескольких каталогов одновременно, вы также можете сделать это:
cp -r source_dir1/. исходный_каталог2/. исходный_каталог3/. target_dir
Фактически, вы можете смешивать каталоги, их содержимое и файлы вместе.
cp -r исходный_каталог1 исходный_каталог2/. source_file target_dir
💡
Вы можете использовать подробный режим с опцией -v, чтобы увидеть, какие файлы копируются.
7. Как сохранить атрибуты при копировании
При копировании файла в новое место его атрибуты, такие как права доступа к файлу и временные метки файла, изменяются.
Если вы хотите сохранить атрибуты исходного файла, вы можете скопировать файлы с опцией -p.
Давайте рассмотрим это на примере.
лс -л /etc/services -rw-r--r-- 1 root root 19183 26 декабря 2016 г. /etc/services
Если я попытаюсь нормально скопировать этот файл, его атрибуты будут изменены:
cp /etc/services . ls -l услуги -rwxrwxrwx 1 abhishek abhishek 19183 25 ноября 20:45 service
Но если я использую опцию p, скопированный файл сохранит режим, владельца и временную метку.
cp -p /etc/services . ls -l услуги -rw-r--r-- 1 абхишек абхишек 19183 26 декабря 2016 услуги
Как видите, вы сохранили режим доступа и временную метку исходного файла с опцией -p.
Но подождите! Разве не предполагалось также сохранить право собственности на исходные файлы? Но здесь сменился владелец (root) исходного файла на abhishek.
Это связано с тем, что только root имеет разрешение на изменение владельца файла, принадлежащего root.