Команда scp позволяет эффективно копировать файл между двумя разными хостами. Синтаксис scp повторно использует синтаксис cp, поэтому он должен быть знаком большинству пользователей Linux.
Сложность команды scp заключается в том, что либо источник, либо место назначения могут быть удаленными, то есть компьютером, подключенным к другой сети, отличной от вашей локальной. При указании файла для копирования вам также необходимо указать сведения об удаленном хосте. Это включает его IP-адрес и имя пользователя.
Загрузка файла с помощью команды scp
Общий синтаксис scp:
источник назначения scp
Обратите внимание, что это, по сути, тот же синтаксис, что и команда cp.
Самый простой пример scp - это тот, который вы, вероятно, будете использовать чаще всего: загрузка файла с локального компьютера на удаленный сервер. В этом случае источник часть команды проста, а назначения сложнее:
scp index.html [email protected]: / var / www / html /
Это скопирует локальный файл с именем index.html к удаленному хосту. Вы можете указать это так же, как вы указываете файл для любой другой команды. Это может быть абсолютная или относительная ссылка на файл. Так,
index.html, ../index.html, а также /home/bobby/index.html - это разные способы, которыми вы можете указать локальный файл.Пункт назначения в примере - [email protected]: / var / www / html /. Это значит, что:
- Пользователь Бобби будет владельцем нового файла на удаленном сервере. Этот пользователь должен существовать, и вы должны иметь к нему доступ.
- Имя хоста сервера, на который мы будем загружать файл: example.org. Мы указали здесь домен, но вы также можете использовать айпи адрес вместо.
- На этом сервере scp загрузит файл в /var/www/html/ каталог.
После ввода этой команды ваш терминал обычно запрашивает пароль пользователя, указанного вами на удаленном компьютере.
Загрузка всего каталога
Вот несколько более сложный вариант, когда загружается весь каталог:
scp -rpC [email protected]: / tmp / docs / home / bobby
Во-первых, вы должны заметить, что источник теперь удаленная машина, в то время как назначения местный. Помимо переключения порядка, эти сведения об источнике и назначении должны быть вам знакомы. Но в этом примере также представлены три полезных флага:
- -р: Рекурсивно загружает весь каталог. Он перенесет все файлы внутри /tmp/docs. Это очень полезно для быстрого резервного копирования или передачи большого количества файлов, особенно если у вас нет доступа для входа на удаленный хост.
- -п: Сохраняет отметки времени файла и режимы исходных файлов. Ваши локальные копии будут иметь такое же время создания или разрешения на запись, что и их оригиналы.
- -C: Включает сжатие. Если вы переносите много файлов, это может ускорить процесс, особенно если вы используете медленное соединение.
Команда scp почти так же проста, как и cp
Базовое использование команды scp очень простое: это то же самое, что и cp. Основное отличие состоит в том, что scp требуется еще несколько деталей для удаленного сервера. Однако, как и в случае с cp, есть полезные флаги для расширения базовой функциональности. К ним относятся сжатие и рекурсивное копирование для обеспечения загрузки нескольких файлов.
Освоение команды scp может пригодиться, если вас попросили управлять сервером Linux. Резервное копирование и удаленная передача данных - ежедневная задача для тех, кто занимается администрированием серверов.
Удаленное перемещение файлов и папок проще, чем вы думаете. С помощью команды scp также шифруются удаленно перемещаемые файлы.
Читать далее
- Linux
- Команды Linux
Бобби - энтузиаст технологий, проработавший разработчиком программного обеспечения большую часть двух десятилетий. Он увлечен играми, работает редактором обзоров в Switch Player Magazine и занимается всеми аспектами онлайн-публикации и веб-разработки.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в письме, которое мы вам только что отправили.