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

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

Читайте также:  Включить суперпользователя linux mint

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

7. KDE-Connect

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

Выводы

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

Читайте также:  Linux сбросить сессию пользователя

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

Источник

The Best File Transfer Tools on Linux

Are you interested in moving files between devices? It doesn’t matter which platforms are involved. Ubuntu, Windows, macOS, iOS, or Android – among the several benefits of using Linux is the array of options that exist for different computer operations including wireless file transfer.

In today’s article, we highlight more than a handful of the best ways for wirelessly transferring files between platforms. The mentioned apps don’t all share the same transfer protocols, user interface, permissions, or features so make sure that you review them yourself before choosing.

1. Syncthing

Syncthing is a free, open-source, and portable continuous file synchronization program for safely transferring files between two or more computers in real-time. It features a beautiful user interface, is available on all desktop platforms, does not require IP addresses or any advanced setup, and places emphasis on user privacy.

Syncthing File Synchronization Program

2. EasyJoin

EasyJoin is a cross-platform file sharing application for sending messages, files, folders, and URLs to any connected device without using an active Internet connection. It features a modern user interface, SMS filters, remote control device functionality, desktop notifications, call management, etc. Check out more on EasyJoin on FossMint.

EasyJoin - A decentralized communication system

3. Warpinator

Warpinator is a free and open-source application for sending and receiving files to and from devices connected to the same network. To work, Warpinator requires a group code for the connected systems, and firewall permissions.

warpinator - Share files across the LAN

4. KDE Connect

KDE Connect is an open-source application that enables remote connection functions between Linux and Android devices that have it installed.

It delegates plug-ins to different remote functions (such as wireless file transfer) and they need to be activated on both devices in use to work. Other features in KDE Connect include mouse control function, remote terminal commands function, and availability for macOS and Windows.

KDEConnect

5. DAEMON Sync

DAEMON Sync is a free, proprietary application for sharing files from a computer to multiple iOS and Android devices over a wireless connection. It features a minimalist UI, requires no Internet connection. Check out more on DAEMON Sync here.

DAEMON Sync

6. Rsync

Rsync is a free and open-source command-line tool for creating backups remotely and it doubles as a file-sharing app. With Rsync, users can securely transfer files to other Linux and non-Linux devices using SSH. All you need to know is the right command.

7. Flying Carpet

Flying Carpet is a cross-platform, open-source software that enables users to share files using the radio transmitter of the WiFi cards involved in a broadcast. While this means that you don’t need Bluetooth or an active Internet connection, you need to keep the devices in close proximity to each other.

Читайте также:  Linking with dynamic libraries linux

When you use Flying Carpet, it temporarily keeps you disconnected in order to use your WiFI card’s radio transmitter. On the receiver’s end, it generates a password that must be entered by the sender to commence the transfer. Just in case, you may need to have port 3290 open on the receiving device’s firewall for a successful transfer.

Flying Carpet

8. Wormhole

Wormhole is an open-source command-line tool for securely and wirelessly sharing text, files, and (automatically zipped) folders to anyone. It puts a lot of emphasis on security as it uses Password-Authenticated Key Exchange for encrypting data which it then shares using TCP. Check out more details on Wormhole here.

Wormhole

9. Portal

Portal by Pushbullet is a nifty web app that enables users to transfer files between devices that have it active over a local connection. It requires no installation but rather a QR code with which it establishes a connection between a computer and phone. The free version of Portal puts a 256MB cap on file transfers but none for premium users.

Portal

10. LAN Share

LAN Share enables users to share files between Linux and Windows computers over a local Internet connection. it is fast and capable of transferring entire folders at once – no password required, which may be a security flaw depending on who you are. In any case, LAN Share has not been updated for over 2 years so check out its alternatives first.

LANShare

11. GSConnect

GSConnect is the GNOME equivalent of KDE Connect with the same functions. While it doesn’t require the KDE and Qt dependencies required by KDE Connect, you will need the KDE Connect app installed on your Android device to work with it. In addition, it supports extensions for Chrome and Firefox and Nautilus file explorer.

GSConnect

12. Android File Transfer for Linux

Android File Transfer for Linux is a free and open-source media transfer protocol client for easily transferring unlimited files between a Linux desktop and any Android device wirelessly. It is integrated with the FUSE wrapper for mounting devices, supports CLI commands, and is available as a shared library. Learn more about Android File Transfer for Linux on FossMint.

Android File Transfer for Linux

13. Bluetooth

This is an obvious option for many and it doesn’t require any extra steps since many distros ship with a Bluetooth config and user interface (e.g. Blueman on Ubuntu, Blueberry on LinuxMint). You can even make use of extra configuration tools by installing BlueZ packages. So before installing any new apps, see if the good ol’ Bluetooth sorts you out.

Did your favorite wireless file transfer app make it to the list? Are there new apps that are worthy of checking out? Make suggestions and let us know about your experience below.

Источник

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