SCP и Rsync для передачи файлов
Освойте безопасное копирование файлов с помощью «scp» и эффективную синхронизацию файлов с помощью «rsync» для локальных и удалённых операций.
«SCP и Rsync для передачи файлов» — бесплатный урок Linux Command Line & Bash Scripting Mastery на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Command Line & Bash Scripting Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.
Безопасная передача файлов
При работе с удалёнными серверами крайне важно безопасно передавать файлы. Нам нужны инструменты, которые защищают данные во время передачи и обеспечивают их целостность.
В этом уроке рассматриваются две мощные команды: scp для безопасного копирования и rsync для эффективной синхронизации.
SCP: протокол безопасного копирования
SCP расшифровывается как Secure Copy Protocol — протокол безопасного копирования. Это консольная утилита, которая позволяет безопасно копировать файлы и каталоги между узлами сети.
- Для передачи данных используется SSH, обеспечивающий шифрование и аутентификацию.
- Отлично подходит для быстрых разовых передач файлов.
- Проста в использовании для копирования как с локального компьютера на удалённый, так и с удалённого на локальный.
Синтаксис SCP: с локального компьютера на удалённый
Чтобы скопировать файл с локального компьютера на удалённый сервер, используйте следующий синтаксис:
scp local_file user@remote_host:/path/to/destination
- local_file: файл на вашем текущем компьютере.
- user: ваше имя пользователя на удалённом сервере.
- remote_host: IP-адрес или имя узла удалённого сервера.
- /path/to/destination: место, где файл будет сохранён на удалённом сервере.
Пример SCP: с локального компьютера на удалённый
Скопируем файл с именем myreport.txt из текущего каталога в каталог /home/coddy/reports/ на сервере server.com.
scp myreport.txt coddy@server.com:/home/coddy/reports/Синтаксис SCP: с удалённого компьютера на локальный
Чтобы скопировать файл с удалённого сервера на локальный компьютер, используется похожий синтаксис, но источник и место назначения меняются местами:
scp user@remote_host:/path/to/remote_file local_destination
- user@remote_host:/path/to/remote_file: полный путь к файлу на удалённом сервере.
- local_destination: место, где файл будет сохранён на локальном компьютере. Используйте
.для текущего каталога.
Пример SCP: с удалённого компьютера на локальный
Получим файл с именем data.csv из каталога /home/coddy/ на сервере server.com и сохраним его в текущем локальном каталоге.
scp coddy@server.com:/home/coddy/data.csv .Rsync: эффективная синхронизация
Rsync (удалённая синхронизация) — универсальный инструмент для локального и удалённого копирования и синхронизации файлов и каталогов.
Его основные преимущества:
- Эффективность: передаёт только различия между файлами, а не весь файл целиком, экономя пропускную способность.
- Возобновление передачи: может продолжить прерванную передачу.
- Сохранение атрибутов: сохраняет разрешения, временные метки и владельцев.
- Гибкость: предоставляет множество параметров для точной настройки передачи.
Синтаксис Rsync: базовое использование
Распространённый синтаксис rsync для синхронизации локального каталога с удалённым выглядит так:
rsync [options] local_source/ user@remote_host:/path/to/destination/
- [options]: флаги для управления поведением rsync.
- local_source/: каталог на локальном компьютере (конечная косая черта важна!).
- user@remote_host:/path/to/destination/: удалённое расположение.
Rsync в действии: базовая синхронизация
Синхронизируем локальный каталог myproject/ с каталогом /srv/web/myproject/ на сервере server.com. Мы используем параметры -avz для архивного режима, подробного вывода и сжатия.
rsync -avz myproject/ coddy@server.com:/srv/web/myproject/Возможности Rsync: основные параметры
У Rsync есть множество мощных параметров:
-a(архив): распространённое сокращение для нескольких параметров (рекурсивное копирование, сохранение разрешений, временных меток и т. д.).-z(сжатие): сжимает данные файлов во время передачи, снижая расход пропускной способности.--delete: удаляет из целевого каталога лишние файлы, отсутствующие в источнике. Используйте с осторожностью!-n(пробный запуск): показывает, что было бы сделано, не внося изменений. Всегда сначала проверяйте команду с этим параметром!
Быстрая проверка: инструменты передачи файлов
Вам нужно скопировать большой каталог с локального компьютера на удалённый сервер. Вы хотите, чтобы при последующих запусках передавались только изменённые файлы, а удалённые в источнике файлы также удалялись из места назначения.
Какая команда и какие параметры лучше всего подходят для этой задачи?
Повторение: мастерство работы с SCP и Rsync
Вы освоили два важных инструмента для безопасной и эффективной передачи файлов!
- SCP отлично подходит для безопасного быстрого разового копирования файлов и каталогов с использованием SSH.
- Rsync — основной инструмент для синхронизации файлов и каталогов. Он отличается высокой эффективностью, передавая только изменения, и предоставляет такие мощные параметры, как `--delete`, для точного зеркалирования.
Выбирайте подходящий инструмент для каждой задачи и профессионально управляйте файлами в сетях!
Изучай Bash с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 22
- Уроки
- 88
Часто задаваемые вопросы
Урок «SCP и Rsync для передачи файлов» бесплатный?
Да — полный текст урока «SCP и Rsync для передачи файлов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Command Line & Bash Scripting Mastery, подпишись на CoddyKit PRO. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.
Чему я научусь в уроке «SCP и Rsync для передачи файлов»?
Освойте безопасное копирование файлов с помощью «scp» и эффективную синхронизацию файлов с помощью «rsync» для локальных и удалённых операций. Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?
Предыдущий опыт не требуется. Linux Command Line & Bash Scripting Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «SCP и Rsync для передачи файлов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Linux Command Line & Bash Scripting Mastery?
Да. Каждый урок Linux Command Line & Bash Scripting Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основные сетевые утилиты (ping, ip, netstat)
- Основы безопасной оболочки (SSH)
- SCP и Rsync для передачи файлов
- Аутентификация SSH по ключу и файл конфигурации