Передача файлов на удаленных серверах с помощью SFTP-команд в Linux

Как подключиться к SFTP

Протокол SSH, используемый для установления связи, такой же, как и для SFTP-канала.

Большинство людей предпочитают использовать сохраненные пароли, установленные по умолчанию, но я бы рекомендовал использовать ключи SSH, которые вы можете использовать, когда вам нужно получить доступ к любой системе.

Чтобы запустить сеанс SFTP, вам потребуется имя пользователя и имя удаленного хоста.

В качестве альтернативы вы можете использовать IP-адрес имени хоста в строке, как показано ниже:
~ # sftp sftpuser@216.200.116.229
sftpuser@216.200.116.229’s password:
Connected to sftpuser@216.200.116.229.

В приведенном выше примере, если есть соединение, которое позволяет обрабатывать указанную выше команду, вы должны ожидать приглашения пароля перед получением доступа.

1) Как получить подсказку в строке запроса

Если у вас нет подсказки о типе или формате, который может использоваться в командной строке SFTP, используйте «?» Или «help» в ответ на приглашение следующим образом
sftp ?

2) Подтвердить рабочий каталог

Используя команду lpwd, вы получите больше информации о рабочем каталоге.

Параметр pwd используется для проверки удаленного рабочего каталога.
sftp> lpwd

Вывод
Local working directory: /root
sftp> pwd

Вывод
Remote working directory: /upload

3) Отобразить файлы

В командной строке SFTP вы указываете как удаленные, так и локальные файлы, используя разные команды.

Удаленный список
sftp> ls

Локальный список
sftp> lls

4) Загрузка файлов

Загрузка может происходить путем размещения одного или нескольких файлов на удаленном хосте.

Один файл на удаленном хосте,
sftp> put Hello-World.txt

Вывод
Uploading Hello-World.txt to /upload/Hello-World.txt
Hello-World.txt

Несколько файлов на удаленном хосте
sftp> mput *.txt

Вывод
Uploading Hello-World.txt to /upload/Hello-World.txt
Hello-World.txt 100% 0 0.0KB/s 00:00
Uploading file1.txt to /upload/file1.txt
file1.txt 100% 0 0.0KB/s 00:00
Uploading file2.txt to /upload/file2.txt
file2.txt 100% 0 0.0KB/s 00:00
Uploading file3.txt to /upload/file3.txt
file3.txt 100% 0 0.0KB/s 00:00
Uploading file4.txt to /upload/file4.txt
file4.txt 100% 0 0.0KB/s 00:00

5) Скачивание файлов

Вы сможете загрузить один или несколько файлов по локальному пути или системе.
sftp> get file1.pdf

Вывод
Fetching /upload/file1.pdf to file1.pdf

Загрузите несколько файлов по локальному пути или системе
sftp> mget * .pdf

Вывод
Fetching /upload/file1.pdf to file1.pdf
Fetching /upload/file2.pdf to file2.pdf
Fetching /upload/file3.pdf to file3.pdf
Fetching /upload/file4.pdf to file4.pdf
Fetching /upload/file5.pdf to file5.pdf

Очевидно, что при загрузке файла в локальной системе выполняется тоже имя.

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

6) Смена каталогов

На удаленном сервере вы используете команду:
sftp> cd test

На локальной машине вы используете команду:
sftp> lcd Documents

7) Создание каталогов

Возможно создание каталогов на удаленных и локальных путях

Новый каталог по локальном пути
sftp> mkdir test

Новый каталог на удаленном хосте
sftp> lmkdir Documents

8) Удаление каталогов

Удаление каталога или файла на удаленных хостах

Удаление файла на удаленных хостах
sftp> rm Report.xls

Удаление каталога на удаленных хостах
sftp> rmdir Department

Примечание. Эта команда будет работать только в том случае, если целевой каталог пуст

9) Выход из командной оболочки

Восклицательный знак! (известная как команда в этом случае) используется для выхода из командной строки SFTP, как показано в следующем примере.
sftp>!

[root@sftp ~]# exit
Shell exited with status 1
sftp>