Обмен файлами локальной сети linux

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

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

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

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

1. Утилита nc

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

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

Здесь опция -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, тогда используйте такую команду:

Читайте также:  Установка rmp astra linux

scp ~/file.txt root@192.168.0.101:/root

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

scp -r ~/files root@192.168.0.101:/root

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

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

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

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

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

rsync -avz ~/files root@192.168.0.101:/home/

Мы записываем все файлы из папки ~/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 довольно неплохое решение, тем более, что обмен файлами выполняется через стандартный файловый менеджер.

Читайте также:  Система ввода вывода linux

7. KDE-Connect

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

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Woof — простой обмен файлами по локальной сети в Linux

Woof (сокращение от Web Offer One File) – это простое приложение для обмена файлами между хостами в небольшой локальной сети. Он состоит из крошечного HTTP-сервера, который может обслуживать указанный файл заданное количество раз (по умолчанию один раз), а затем завершает работу.

Чтобы использовать woof, просто вызовите его для одного файла, и получатель сможет получить доступ к вашему общему файлу через веб-браузер или с помощью веб-клиента командной строки, такого как kurly (альтернатива curl), из Терминал.

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

В этой статье мы покажем, как установить woof в Linux и использовать его для обмена файлами в локальной сети.

Как установить и использовать Woof в Linux

В Debian и Ubuntu вы можете легко установить пакет «woof» из стандартных репозиториев дистрибутива, используя диспетчер пакетов apt-get, как показано ниже.

$ sudo apt install woof OR $ sudo apt-get install woof

В других дистрибутивах Linux вы можете загрузить скрипт woof с помощью команды wget и переместить его в каталог /usr/bin, как показано ниже.

$ wget http://www.home.unix-ag.org/simon/woof $ sudo cp woof /usr/bin/

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

$ woof ./bin/bashscripts/getpubip.sh

Затем woof сгенерирует URL-адрес (в данном случае http://192.168.43.31:8080/), который ваш партнер может использовать для доступа к файлу.

Читайте также:  Astra linux восстановление удаленных файлов

Отправьте URL-адрес получателю. Как только получатель получит доступ к файлу, woof выключится (см. следующий снимок экрана).

Примечание. В приведенном выше примере мы использовали загрузчик командной строки wget для получения общего файла, и он автоматически присваивает загруженному файлу другое имя (например, index.html).

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

$ wget -O custom_name http://192.168.43.31:8080

Кроме того, вы также можете получить доступ к общему файлу из веб-браузера, как показано на рисунке (нажмите Сохранить файл, чтобы загрузить его).

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

Следующая команда завершит woof после трех загрузок.

$ woof -c 3 ./bin/bashscripts/getpubip.sh

Чтобы поделиться каталогом, вы можете создать tar-архив и сжать его, используя ( -z для сжатия gzip, или -j для сжатия bzip2, или -Z для сжатия ZIP). Например:

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

Кроме того, вы можете использовать флаг -U , чтобы указать woof предоставить форму загрузки, позволяющую загружать файлы. Файл будет загружен в текущую директорию, из которой был запущен woof:

Затем ваш партнер может использовать сгенерированный URL-адрес для доступа к форме загрузки из браузера, как показано ниже.

После просмотра и выбора файла нажмите кнопку «Загрузить», чтобы загрузить файлы.

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

Вы можете увидеть больше вариантов использования, запустив:

Woof – это небольшой, простой и удобный в использовании HTTP-сервер для обмена файлами в локальной сети. В этой статье мы показали, как установить и использовать woof в Linux. Используйте форму обратной связи ниже, чтобы поделиться своими мыслями об этом инструменте или задать вопросы.

Источник

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