Как отправить файл через консоль linux

Передача файлов по сети Linux

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

Если оба устройства подсоединены к одной сети идеальным вариантом будет передача файлов по сети linux. Здесь мы получаем большую скорость, и удобство использования — не нужно искать флешку или USB провод, достаточно прозрачно скопировать файл в нужную папку и он уже на целевом устройстве. Сегодня мы рассмотрим основные способы передачи файлов по сети между компьютерами.

Передача файлов по сети Linux

1. Утилита nc

Этот способ отлично подойдет, если вам нужно передать один или несколько файлов и вы не хотите устанавливать никаких новых программ в систему. Утилита nc или netcat позволяет создавать tcp и unix сокеты в системе. По сути, это туннели, через которые мы можем передать любые данные, в том числе и файлы.

Утилита уже предустановлена, так что ничего дополнительно ставить не придется, нужно только знать IP адреса компьютеров в сети. Сначала создаем слушающий сокет на компьютере, все поступившие на него данные сразу пишем в файл:

nc -l -p 12345 > newfile

Здесь опция -p задает порт, можно брать привольное значение, только чтобы совпадало в обоих командах. Теперь отправляем файл из другого компьютера:

cat file | nc 192.168.0.101 12345

Тут мы указываем тот же порт и ip компьютера, где был запущен слушающий сокет — 192.168.0.101. Убедитесь, что Firewall не мешает подключению к выбранному порту иначе ничего не получится.

Мы можем передавать не только файлы, но и папки. Передача может быть выполнена в обоих направлениях, теперь отправим не на сокет, и от сокета:

tar -cf — /data | nc -l -p 12345

И принимаем отравленные данные на другом компьютере:

nc 192.168.1.2 12345 | tar -xf —

2. Передача файлов ssh

Передача файлов по ssh Linux — это самый быстрый и удобный способ обмена файлами. Достаточно, чтобы на компьютере была запущена служба SSH и у вас был к ней доступ. Затем с помощью утилиты scp туда можно передать любой, файл, это быстро и удобно, а ещё вы можете выбрать папку, в которую его надо сохранить. Допустим, вам надо передать файл с именем

/file.txt на компьютер с IP адресом 192.168.0.101, тогда используйте такую команду:

Утилита загрузит файл прямо в домашнюю папку на удалённом компьютере и вы сможете выполнять с ним действия по SSH. Если надо передать все файлы из папки можно использовать опцию -r:

Читайте более подробно про утилиту scp в отдельной статье.

3. Передача файлов по FTP

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

4. Как передать файл в rsync

Утилита rsync тоже использует для передачи файлов SSH, однако она позволяет передавать целые папки, а также следить за состоянием файлов и если на удалённом компьютере такой файл уже есть, то он передаваться не будет. Таким образом можно копировать только измененные файлы и удобно передавать целые папки. Для примера возьмем тот же компьютер 192.168.0.101 и папку

Читайте также:  Дополнительные права доступа windows

Мы записываем все файлы из папки

/files в папку /home/root, а также получаем возможность синхронизировать их. Подробнее про rsync читайте в отдельной статье.

5. Сервер NFS

Ещё один способ передачи файлов между Linux серверами — это NFS. На одном из серверов разворачивается NFS сервер, а на другом, монтируется удаленная NFS папка в обычную файловую систему, после чего она становится частью файловой системы Linux и туда уже можно копировать файлы так, как будто это на той же машине. Просто и удобно, но надо настраивать NFS и ещё один минус по сравнению с FTP, у NFS нет возможности настроить простую авторизацию по паролю, можно ограничить монтирование только по IP адресу что не всегда удобно.

6. Сервер Samba

Передавать файлы в Windows на Linux и обратно может помочь удалённый доступ с помощью Samba сервера. Если развернуть сервер Samba на Linux машине, то к нему можно будет подключится из Windows и видеть все файлы в общей папке. Samba — не очень хорошее решение, так как могут возникнуть проблемы с файлами больше 1 Гб, передающимися очень долго, но для обмена файлами между Windows и Linux довольно неплохое решение, тем более, что обмен файлами выполняется через стандартный файловый менеджер.

7. KDE-Connect

Для обмена файлами между компьютером Linux и Android можно использовать программу KDE-Connect. У неё есть приложение для Android, она встроена в окружение KDE, а для Gnome есть расширение GSConnect. Утилита позволяет передавать файлы на компьютер прямо с телефона, а также монтировать общую папку, в которую можно скидывать как файлы на компьютере, так и файлы на телефоне. Очень удобно. Читайте подробнее в статье про настройку KDE-Connect.

Выводы

Вы можете спросить, а какой же способ мне использовать? Ответ зависит от ваших потребностей, если вам нужен только передать один файл раз в месяц, может решением станет scp или FTP, а для регулярной передачи файлов по сети Linux удобнее использовать rsync, к тому же с помощью этой утилиты можно запланировать автоматическую синхронизацию. А какими способами пользуетесь вы? Напишите в комментариях!

Источник

Как использовать команду SFTP для передачи файлов

SFTP (SSH File Transfer Protocol) — это безопасный файловый протокол, который используется для доступа, управления и передачи файлов через зашифрованный транспорт SSH.

По сравнению с традиционным протоколом FTP SFTP предлагает все функции FTP, но он более безопасен и проще в настройке.

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

В этом руководстве мы покажем вам, как использовать команду Linux sftp .

Подготовка

Чтобы иметь возможность передавать файлы через SFTP, вы должны иметь разрешение на запись в удаленной системе.

При передаче больших файлов рекомендуется запускать команду sftp внутри сеанса screen или tmux .

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

Установление SFTP-соединения

SFTP работает по модели клиент-сервер. Это подсистема SSH и поддерживает все механизмы аутентификации SSH.

Чтобы открыть SFTP-соединение с удаленной системой, используйте команду sftp за которой следует имя пользователя удаленного сервера и IP-адрес или имя домена:

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

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

Если удаленный SSH-сервер не прослушивает порт по умолчанию 22 , используйте параметр -P чтобы указать порт SFTP:

Команды SFTP

Большинство команд SFTP похожи или идентичны командам оболочки Linux.

Чтобы получить список всех доступных команд SFTP, введите help или ? .

Это выведет длинный список всех доступных команд, включая краткое описание каждой команды:

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

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

Читайте также:  Начальные навыки работы операционной системой windows

Чтобы перейти в другой каталог, используйте команду cd . Например, чтобы перейти в каталог /tmp , введите:

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

Оболочка SFTP также предоставляет команды для локальной навигации, управления информацией и файлами. Локальные команды начинаются с буквы l .

Например, чтобы распечатать локальный рабочий каталог, вы должны ввести:

Передача файлов по SFTP

SFTP позволяет безопасно передавать файлы между двумя машинами.

Если вы работаете на настольном компьютере, вы можете использовать SFTP-клиент с графическим интерфейсом, например WinSCP или FileZilla, для подключения к удаленному серверу и загрузки или выгрузки файлов.

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

Загрузка файлов с помощью команды SFTP

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

Результат должен выглядеть примерно так:

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

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

Чтобы загрузить каталог из удаленной системы, используйте рекурсивную опцию -r :

Если передача файла не удалась или прервалась, вы можете возобновить ее с помощью команды reget .

Синтаксис reget такой же, как синтаксис get :

Загрузка файлов с помощью команды SFTP

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

Результат должен выглядеть примерно так:

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

При работе с put вы можете использовать те же параметры, которые доступны с командой get .

Чтобы загрузить локальный каталог, введите:

Чтобы возобновить прерванную загрузку:

Манипуляции с файлами с помощью SFTP

Обычно для выполнения задач на удаленном сервере вы подключаетесь к нему через SSH и выполняете свою работу, используя терминал оболочки. Однако в некоторых ситуациях пользователь может иметь только SFTP-доступ к удаленному серверу.

SFTP позволяет выполнять некоторые основные команды для работы с файлами. Ниже приведены несколько примеров использования оболочки SFTP:

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

Создайте новый каталог на удаленном сервере:

Переименуйте файл на удаленном сервере:

Удалите файл на удаленном сервере:

Удалите каталог на удаленном сервере:

Измените права доступа к файлу в удаленной системе:

Измените владельца файла в удаленной системе:

Вы должны указать ID пользователя командам chown и chgrp .

Измените владельца группы удаленного файла с помощью:

Когда вы закончите свою работу, закройте соединение, набрав « bye или « quit .

Выводы

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

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

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

Источник

Как использовать команду SFTP для передачи файлов Linux

How to Use Linux SFTP Command to Transfer Files

В этом руководстве мы покажем Вам, как использовать команду Linux sftp .

SFTP (SSH File Transfer Protocol) — это защищенный файловый протокол, используемый для доступа, управления и передачи файлов по зашифрованному транспортному протоколу SSH.

По сравнению с традиционным протоколом FTP , SFTP предлагает все функции FTP, и его проще настраивать.

В отличие от того scp command , который разрешает только передачу файлов, sftp команда позволяет выполнять ряд операций с удаленными файлами и возобновлять передачу файлов.

Прежде чем вы начнете

Чтобы иметь возможность передавать и управлять файлами через SFTP, вы должны иметь разрешение на запись в удаленной системе.

При передаче больших файлов рекомендуется запускать команду sftp внутри сеанса экрана или tmux .

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

Установление SFTP-соединения

SFTP работает по модели клиент-сервер. Это подсистема SSH и поддерживает все механизмы аутентификации SSH.

Хотя традиционная аутентификация по паролю настроена по умолчанию и более проста в использовании, если вы регулярно подключаетесь к своему серверу через SSH / SFTP, рекомендуется создать ключи SSH и настроить логин SFTP без пароля .

Читайте также:  Windows style builder русификатор

Чтобы открыть SFTP-соединение с удаленной системой, используйте sftp команду, за которой следует имя пользователя удаленного сервера и IP-адрес или имя домена:

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

После подключения вам будет предложено sftp приглашение и вы сможете начать взаимодействие с удаленным компьютером:

Если удаленный сервер SSH не прослушивает порт по умолчанию 22, используйте -oPort параметр, чтобы указать альтернативный порт:

Команды SFTP

Большинство команд SFTP похожи или идентичны командам, которые вы используете в командной строке Linux.

Вы можете получить список всех доступных команд SFTP, набрав help или ? .

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

Для просмотра списка файлов и каталогов используйте ls команду:

Чтобы перейти в другой каталог, используйте cd команду. Например, чтобы перейти в /tmp каталог, вы должны набрать:

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

sftp Оболочка также предоставляет команды для местной навигации, информации и управления файлами. Локальные команды начинаются с буквы l .

Например, чтобы напечатать локальный рабочий каталог, вы должны набрать:

Передача файлов с SFTP

С SFTP вы можете безопасно передавать файлы между двумя компьютерами.

Если вы работаете на настольном компьютере, вы можете использовать SFTP-клиент с графическим интерфейсом, например WinSCP или FileZilla, для подключения к удаленному серверу и загрузки или загрузки файлов.

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

Загрузка файлов с помощью команды SFTP

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

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

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

Вывод должен выглядеть примерно так:

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

Чтобы загрузить каталог из удаленной системы, используйте рекурсивный -r параметр:

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

Синтаксис reget такой же, как и синтаксис get :

Загрузка файлов с помощью команды SFTP

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

Вывод должен выглядеть примерно так:

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

При работе с put вами можно использовать те же параметры, которые доступны с помощью get команды.

Чтобы загрузить локальный каталог, вы должны набрать:

Чтобы возобновить прерванную загрузку:

Файловые манипуляции с SFTP

Как правило, для выполнения задач на удаленном сервере вы должны подключиться к нему через SSH и выполнять свою работу с помощью терминала оболочки. Однако в некоторых ситуациях пользователь может иметь только SFTP-доступ к удаленному серверу.

SFTP позволяет выполнять некоторые основные команды для работы с файлами. Ниже приведены некоторые примеры использования оболочки SFTP:

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

Создайте новый каталог на удаленном сервере:

Переименуйте файл на удаленном сервере:

Удалить файл на удаленном сервере:

Удалить каталог на удаленном сервере:

Измените права доступа к файлу в удаленной системе:

Измените владельца файла в удаленной системе:

Вы должны указать идентификатор пользователя к chown и chgrp командам.

Измените владельца группы удаленного файла с помощью:

По завершении работы закройте соединение, набрав bye или quit .

Вывод

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

Вы также можете настроить аутентификацию на основе ключей SSH и подключаться к серверам Linux без ввода пароля.

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

Источник

Оцените статью