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

В системах Linux SCP (Secure Copy) — это инструмент командной строки для безопасной передачи файлов и папок между локальными и удаленными хостами. Он основан на протоколе SSH и предоставляет механизмы шифрования и аутентификации для обеспечения безопасности и целостности данных.

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

1. Базовая грамматика

Основной синтаксис команды SCP следующий:

Язык кода:txt
копировать
scp [параметры] исходный файл целевой путь
  • Параметры:используется для указанияSCPРазличные команды Параметры,Например, алгоритм шифрования, номер порта и т. д.
  • исходный файл:Путь к файлу или папке для передачи。Может быть локальным файлом или файлом на удаленном хосте.。
  • целевой путь:переданныйцелевой путь,Это может быть локальный путь или путь на удаленном хосте.

2. Перенос файлов с локального на удаленный хост.

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

Язык кода:txt
копировать
scp /path/to/local/file user@remote:/path/to/destination
  • /path/to/local/file:путь к локальному файлу。
  • user:Имя пользователя удаленного хоста。
  • remote:Адрес или имя хоста удаленного хоста。
  • /path/to/destination:передается на удаленный хостцелевой путь。

Например,Чтобы конвертировать локальные файлы/home/user/file.txtпередается на удаленный хост/var/www/htmlОглавление,Вы можете выполнить следующие команды:

Язык кода:txt
копировать
scp /home/user/file.txt user@remote:/var/www/html

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

3. Перенос файлов с удаленного хоста на локальный.

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

Язык кода:txt
копировать
scp user@remote:/path/to/remote/file /path/to/destination
  • user:Имя пользователя удаленного хоста。
  • remote:Адрес или имя хоста удаленного хоста。
  • /path/to/remote/file:Путь к файлу на удаленном хосте。
  • /path/to/destination:переведен в местныйцелевой путь。

Например,Чтобы преобразовать/var/log/access.logдокументпереведен в местный/home/userОглавление,Вы можете выполнить следующие команды:

Язык кода:txt
копировать
scp user@remote:/var/log/access.log /home/user

Система запросит пароль удаленного хоста для аутентификации и передачи файла на локальный хост.

4. Перенос папок

Используйте команду SCP,Вы также можете переносить целые папки. Папка переноса,Нужно добавить-rПараметрырекурсивнокопировать Папки и их содержимое。Например:

Язык кода:txt
копировать
scp -r /path/to/local/folder user@remote:/path/to/destination

Это рекурсивно скопирует локальную папку и ее содержимое в целевой путь на удаленном хосте.

Например,Чтобы конвертировать локальные файлыпапка/home/user/dataпередается на удаленный хост/var/www/htmlОглавление,Вы можете выполнить следующие команды:

Язык кода:txt
копировать
scp -r /home/user/data user@remote:/var/www/html

5. Используйте разные порты и методы аутентификации.

Если SSH-сервер на удаленном хосте использует нестандартный порт,Можно использовать-PПараметры Укажите номер порта。Например,Для подключения к порту 2222 удаленного хоста,Вы можете выполнить следующие команды:

Язык кода:txt
копировать
scp -P 2222 /path/to/local/file user@remote:/path/to/destination

Для методов аутентификации,SCP по умолчанию использует тот же метод, что и SSH.,Это аутентификация по паролю. Если вы хотите использовать пару ключей SSH для аутентификации,Это можно сделать, добавив-iПараметры Укажите путь к файлу закрытого ключа。Например:

Язык кода:txt
копировать
scp -i /path/to/private_key /path/to/local/file user@remote:/path/to/destination

Это позволит аутентифицироваться с использованием указанного файла закрытого ключа.

6. Пример: загрузка файлов с удаленного хоста.

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

  1. Откройте терминал и выполните следующую команду: scp user@remote:/path/to/remote/file /path/to/destination.
  2. ВоляuserЗаменить на Имя пользователя удаленного хоста,remoteЗаменить на Адрес или имя хоста удаленного хоста,/path/to/remote/fileЗаменить на Путь к файлу на удаленном хосте,/path/to/destinationЗаменить напереведен в местныйцелевой путь。
  3. Введите пароль удаленного хоста для аутентификации.
  4. Путь назначения, по которому файл будет передан на локальный хост.

7. Меры предосторожности

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

  • Убедитесь, что SSH-сервер удаленного хоста настроен правильно и разрешает только авторизованным пользователям подключаться и передавать файлы.
  • Для удаленных хостов используйте надежный пароль или пару ключей SSH для аутентификации и ограничения доступа.
  • Используйте соответствующие правила брандмауэра, чтобы ограничить доступ к портам SCP и предотвратить несанкционированный доступ.
  • Регулярно обновляйте и обновляйте свою систему Linux, чтобы получать последние обновления и исправления безопасности.

Следование этим рекомендациям по обеспечению безопасности может помочь обеспечить безопасность данных и системы во время передачи SCP.

8. Резюме

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

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода