Главная > Управление сетью > scp

Полное руководство по команде scp

Это руководство по команде `scp`, которая используется для безопасного копирования файлов между локальным и удаленным хостами с использованием Secure Copy Protocol (SCP) в Linux. С помощью этого инструмента вы можете легко и безопасно передавать файлы по сети.

Основные опции

Попробуйте настроить задачи передачи файлов, комбинируя различные опции команды `scp`.

1. Базовая передача

2. Опции передачи

Сгенерированная команда:

Комбинируйте команды.

Описание:

`scp` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Понимание синтаксиса и путей

Команда `scp` использует два ключевых аргумента: 'источник' и 'назначение', которые могут быть локальными или удаленными путями. Удаленные пути выражаются в формате `[user@]host:path`.

Синтаксис SCP

`scp [опции] [источник] [назначение]` - **Источник (Source)**: Исходный файл или директория для копирования. - **Назначение (Destination)**: Файл или директория, куда будет скопирован файл.

Способы указания пути

Способы указания локальных и удаленных путей.

  • Локальный путь: Обычный путь файловой системы (например: `/home/user/document.txt` или `.`)
  • Удаленный путь: `[имя_пользователя@]имя_хоста_или_IP-адрес:/удаленный/путь` (например: `user@example.com:/var/www/html/`)

Аутентификация и безопасность

Команда `scp` основана на протоколе SSH, поэтому передача файлов осуществляется в зашифрованном виде и безопасна. Для доступа к удаленному хосту требуется аутентификация с использованием имени пользователя/пароля или SSH-ключа.

Примеры использования

Практикуйтесь в задачах передачи файлов, используя практические примеры команды `scp`.

Копирование локального файла на удаленный сервер

scp report.txt user@myserver.com:/home/user/

Копирует файл `report.txt` из текущей директории в директорию `/home/user/` на удаленном сервере `myserver.com`.

Копирование файла с удаленного сервера на локальный

scp user@myserver.com:/var/log/syslog .

Копирует файл `/var/log/syslog` с удаленного сервера `myserver.com` в текущую локальную директорию (`.`).

Рекурсивное копирование локальной директории на удаленный сервер

scp -r my_project user@myserver.com:/var/www/

Копирует всю директорию `my_project` из текущей директории в директорию `/var/www/` на удаленном сервере `myserver.com`.

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

scp -P 2222 backup.tar.gz user@myserver.com:/backups/

Копирует файл `backup.tar.gz` на удаленный сервер с SSH портом 2222.

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

scp -i ~/.ssh/my_key data.sql user@myserver.com:/db_dumps/

Копирует файл `data.sql` на удаленный сервер, используя указанный приватный SSH ключ (`~/.ssh/my_key`).


Те же команды в категории