Базовое использование команды scp в системе Linux
Базовое использование команды scp в системе Linux

@TOC

1. Знакомство с командой scp

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

2. Помощь по использованию команды scp

2.1 Основной синтаксис

Язык кода:bash
копировать
scp [параметры] [исходный файл] [адрес назначения]

2.2 Объяснение опций

  • Ниже приводится объяснение параметров команды scp.
Язык кода:bash
копировать
-1: использовать протокол ssh версии 1;
-2: использовать протокол ssh версии 2;
-4: использовать ipv4;
-6: использовать ipv6;
-B: запуск в пакетном режиме;
-C:Включить сжатую передачу;
-F: указать файл конфигурации ssh;
-i:identity_file Прочитайте ключевой файл, используемый для передачи, из указанного файла (например, облачного pem Amazon), этот параметр передается непосредственно в ssh;
-l: указать ограничение пропускной способности;
-o: указать используемый параметр ssh;
-P: указать номер порта удаленного хоста;
-p: сохранить время последнего изменения, время последнего доступа и режим доступа к файлу;
-q: не отображать прогресс копирования;
-r: Рекурсивно.

3. Базовое использование команды scp

3.1 Загрузка файлов с локального на удаленный хост

  • Чтобы загрузить файлы с локального на удаленный хост, используйте следующую команду:
Язык кода:bash
копировать
scp local_file remote_username@remote_ip:remote_folder
  • Пример
Язык кода:bash
копировать
[root@jeven ~]# scp test.txt root@192.168.3.127:/root/
The authenticity of host '192.168.3.127 (192.168.3.127)' can't be established.
ECDSA key fingerprint is SHA256:dUkFPZRRxM2ZyHe2A7l29NqgJanMuuty4k8OMny3b2g.
ECDSA key fingerprint is MD5:3d:97:85:08:a0:a7:2f:7d:de:79:34:f7:7e:4e:20:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.3.127' (ECDSA) to the list of known hosts.
root@192.168.3.127's password:
test.txt
  • Просмотр файлов копии удаленного хоста
Язык кода:bash
копировать
[root@docker ~]# cat test.txt
node01-jeven

3.2 Загрузка файлов с удаленного хоста на локальный

  • Загрузка файлов с удаленного хоста на локальный
Язык кода:bash
копировать
scp remote_username@remote_ip:remote_file local_folder
  • Пример:
Язык кода:bash
копировать
[root@jeven ~]# scp root@192.168.3.127:/root/web.yaml ./
root@192.168.3.127's password:
web.yaml                                                                                                                                     100%  587    17.3KB/s   00:00
[root@jeven ~]# ls -l web.yaml
-rw-r--r--. 1 root root 587 Sep  2 18:45 web.yaml

3.3 Скопируйте весь каталог на удаленный хост

  • Скопируйте весь каталог на удаленный хост
Язык кода:bash
копировать
scp -r local_folder remote_username@remote_ip:remote_folder
  • Пример:
Язык кода:bash
копировать
[root@jeven ~]# scp -r jeven/  root@192.168.3.127:/root/test/
root@192.168.3.127's password:
aa.txt
  • Просмотр каталога копии удаленного хоста
Язык кода:bash
копировать
[root@docker ~]# ls test/jeven/
a
[root@docker ~]# tree test/jeven/
test/jeven/
└── a
    └── aa.txt

1 directory, 1 file

3.4 Скопируйте каталог удаленного хоста в локальный

  • Скопируйте каталог удаленного хоста в локальный
Язык кода:bash
копировать
scp -r remote_username@remote_ip:remote_folder local_folder
  • Пример:
Язык кода:bash
копировать
[root@jeven ~]# scp -r root@192.168.3.127:/root/node02  ./
root@192.168.3.127's password:

3.5 Сохраняйте копии разрешений файлов

Чтобы перенести локальный файл /home/user/file.txt в каталог /home/remoteuser/ удаленного хоста и сохранить информацию о его разрешениях, вы можете использовать следующую команду

Язык кода:bash
копировать
scp -p /home/user/file.txt remoteuser@remotehost:/home/remoteuser/

3.6 Включение сжатой передачи

При копировании локальных файлов на удаленный хост включите передачу со сжатием.

Язык кода:bash
копировать
scp -C local_file remote_username@remote_ip:remote_folder

4. Меры предосторожности при использовании команды scp

  • По умолчанию команды SCP для передачи используют протокол SSH, поэтому перед использованием команды SCP необходимо убедиться, что служба SSH запущена.
  • При использовании команд SCP для передачи файлов необходимо убедиться, что разрешения исходного и целевого файлов установлены правильно, в противном случае передача может завершиться неудачно.
  • При использовании команды scp для передачи файлов необходимо учитывать, что пробелы и специальные символы в имени файла необходимо экранировать с помощью escape-символов.
  • Если вы хотите перенести большое количество файлов или папок, рекомендуется использовать команду tar, чтобы упаковать их в файл, а затем использовать команду SCP для их передачи, что может повысить эффективность передачи.
  • При использовании команды SCP для передачи файлов вы можете использовать параметр -v, чтобы включить подробный режим и просмотреть подробный процесс передачи для облегчения отладки.
  • Для файлов или каталогов с высокими разрешениями вам необходимо использовать команду sudo, чтобы получить достаточные разрешения для их передачи.
  • При работе с удаленными файлами копировать,Вам необходимо убедиться, что имя пользователя и пароль целевого хоста верны.
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose