- Как передавать и обмениваться файлами между Windows и Linux
- 4 способа передачи файлов из Windows в Linux
- 1. Совместное использование сетевых папок между Linux и Windows
- 2. Скопируйте файлы через SSH из Windows в Linux
- 3. Как перенести файлы из Linux в Windows, используя FTP
- 4. Делитесь файлами между Linux и Windows с помощью Resilio Sync
- Лучший способ передачи файлов через локальную сеть между двумя компьютерами Linux
- 9 ответов
Как передавать и обмениваться файлами между Windows и Linux
Копирование данных с ПК с Windows в Linux — или в другом направлении — поначалу может показаться пугающим. В конце концов, это то, что кажется простым, но оказывается сложным.
По правде говоря, делиться файлами из Windows в Linux легко, но только если вы знаете, как это сделать. Готовы выяснить?
4 способа передачи файлов из Windows в Linux
Перенос данных между операционными системами Windows и Linux проще, чем вы думаете. Мы собрали пять способов сделать это:
- Поделиться сетевыми папками
- Передача файлов с FTP
- Безопасное копирование файлов через SSH
- Обмен данными с помощью программного обеспечения для синхронизации
С помощью каждого из этих методов вы сможете легко (а в некоторых случаях легко) перемещать файлы между операционными системами.
Давайте посмотрим на них по очереди и выясним, какой из них подходит вам больше всего.
1. Совместное использование сетевых папок между Linux и Windows
Наиболее очевидный способ обмена файлами между Linux и Windows — это использование сетевых ресурсов. Этот термин относится к папкам на одном ПК, которые доступны пользователям на других компьютерах. В сети только для Windows это легко настроить. Добавление устройства Linux немного усложняет ситуацию, хотя это можно преодолеть.
Начиная с Windows, щелкните правой кнопкой мыши значок сетевого подключения на панели задач и выберите «Открыть сеть и настройки Интернета». Далее нажмите «Параметры общего доступа» и включите текущий профиль.
- Включить обнаружение сети
- Включите общий доступ к файлам и принтерам
Нажмите «Сохранить изменения» для подтверждения, затем перейдите в папку, содержащую файлы, которыми вы хотите поделиться. Щелкните правой кнопкой мыши папку, выберите «Свойства» и откройте вкладку «Общий доступ». Здесь нажмите «Расширенный общий доступ», затем установите флажок «Поделиться этой папкой».
Вы можете управлять доступом к папке через разрешения; это относится к локальным пользователям Windows, а не к сетевым устройствам.
Нажмите OK, чтобы подтвердить изменение, затем откройте вкладку Безопасность в Свойствах. Настройте это, чтобы отразить настройки в поле Полномочия ранее. Вам не нужно делать слишком много здесь, так как Windows 10 должна включать группу под названием Authenticated Users. Это используется для удаленного доступа к вашему компьютеру.
Снова нажмите ОК, когда вы закончите.
Чтобы найти общий ресурс Windows на ПК с Linux, просто откройте браузер файлов и выберите «Сеть». Отсюда перейдите к папке, размещенной в Windows, и начните обмен данными.
Доступ к общему ресурсу Linux из Windows
Чтобы переместить данные в другом направлении, вам нужно установить Samba на ваш компьютер с Linux.
Затем установите имя пользователя для общего ресурса samba.
Вам будет предложено ввести пароль для новой учетной записи (не используйте для этого «имя пользователя»!).
Затем создайте каталог для обмена данными.
Затем отредактируйте файл smb.conf в своем текстовом редакторе:
Добавьте следующее в конец файла конфигурации:
Внесите необходимые изменения в соответствии со своими потребностями, затем нажмите Ctrl + X, чтобы выйти, и нажмите Y, чтобы сохранить. Далее перезапустите Samba:
После этого вы сможете получить доступ к общему ресурсу из Windows. Откройте проводник или браузер и введите IP-адрес или имя хоста удаленного устройства Linux, а затем имя папки. В нашем примере это
2. Скопируйте файлы через SSH из Windows в Linux
С включенным SSH на вашем устройстве Linux вы можете отправлять данные через командную строку с одного компьютера на другой. Однако, чтобы это работало, вам нужно настроить SSH-сервер на вашем Linux-компьютере.
Начните с открытия терминала и обновления и обновления ОС.
После завершения установите сервер SSH. Сервер OpenSSH — хороший вариант.
Подождите, пока он установит. Чтобы в любой момент проверить, работает ли сервер OpenSSH, используйте
Для передачи данных из Windows используйте SSH-клиент, например PuTTY. Это требует загрузки инструмента PSCP в вашу систему Windows для запуска вместе с PuTTY. Найти оба на домашней странице PuTTY.
Обратите внимание, что в то время как PuTTY нужно будет установить, PSCP — нет. Однако его следует сохранить в корне диска C:\ или настроить как переменную среды. Вам также необходимо подтвердить IP-адрес устройства Linux. Отметьте это на коробке с
После установления соединения вы можете отправлять данные следующим образом:
Перед началом передачи вам будет предложено ввести пароль для компьютера с Linux.
Хотите скопировать данные из Linux в Windows в одном сеансе SSH? Эта команда загрузит указанный файл в текущий каталог:
Обратите внимание на одиночный период в конце — включите его, иначе перевод не будет работать.
3. Как перенести файлы из Linux в Windows, используя FTP
Можно также использовать приложение протокола передачи файлов (FTP) с поддержкой SSH. Передача файлов через SFTP в пользовательском интерфейсе, управляемом мышью, возможно, проще, чем полагаться на набранные команды.
Опять же, сервер SSH должен быть запущен на компьютере с Linux перед началом работы. Вы также должны убедиться, что вы установили приложение FTP, такое как FileZilla, которое поддерживает SFTP.
Чтобы использовать этот метод, запустите FileZilla, затем откройте Файл → Менеджер сайтов. Создайте новый сайт, заботясь о том, чтобы установить протокол на SFTP. Добавьте целевой IP-адрес в Host, затем имя пользователя и пароль, установив тип входа в систему как Нормальный.
Нажмите Готово, когда будете готовы, затем используйте интерфейс FTP для перетаскивания файлов между двумя компьютерами.
4. Делитесь файлами между Linux и Windows с помощью Resilio Sync
Другим вариантом, который вы должны рассмотреть, является программа синхронизации файлов. Обычно они кроссплатформенные и используют зашифрованный ключ для управления соединением между устройствами.
Все, что вам нужно сделать, это установить приложение, назначить папку синхронизации, а затем создать ключ. Установите это на втором ПК, и ваши данные будут синхронизированы. Для этого есть два хороших варианта:
- Resilio Sync: ранее известная как BitTorrent Sync, Resilio доступна практически на любой платформе, о которой вы только можете подумать. Есть платная версия, но бесплатного варианта достаточно для синхронизации двух устройств.
- SyncThing: для Linux, Windows, macOS и Android эта альтернатива Resilio Sync предлагает аналогичную функцию без платного компонента.
Совместное использование файлов между Windows и Linux очень просто
Если вы новичок в Linux, или вы находите Windows незнакомой, обмен данными между ними проще, чем вы думаете.
Мы рассмотрели несколько методов. Мы рекомендуем вам попробовать все из них и решить, какой из них вам наиболее удобен.
Источник
Лучший способ передачи файлов через локальную сеть между двумя компьютерами Linux
Я хочу передать файлы (музыкальную папку) между двумя компьютерами Linux. После поиска наилучшего способа сделать это, я видел, что есть lots способы сделать это. Я знаю, что это задано много , везде и все время . Основная проблема заключается в том, что нет четкого, недавнего консенсуса относительно наилучшего способа выполнить эту задачу в 2011 году для начинающих Linux (даже в зависимости от некоторых параметров).
Итак, в духе веб-сайтов Stack Exchange я хочу, чтобы это не было связано с моей конкретной ситуацией, но еще больше руководство для других, а также о том, как передавать файлы между двумя компьютерами Linux через локальную сеть. Я думаю, что wiki будет полезен для многих.
Вот что я нашел до сих пор:
Что самое легкое? Самый гибкий? Простейшее? Лучшее решение? Каковы плюсы и минусы каждого? Существуют ли другие (лучшие) варианты? Каковы параметры при выборе наилучшего метода (решение может зависеть от количества файлов, размер файла, легкость и гибкость, . )?
9 ответов
В среде Linux, как для безопасности, так и для простоты использования, ssh — лучший способ. SSH, SSHFS, SCP и SFTP по вашему списку — это всего лишь разные службы, созданные поверх протокола SSH. SCP очень прост в использовании, он работает так же, как CP, но вы можете указать имена пользователей и машин в пути. Таким образом, мы могли бы сделать CP как cp
/newmusic/ , но мы могли бы так же легко выполнить scp
/newmusic отправить его на компьютер с именем host. Вот и все — нам не нужно ничего настраивать. Вам будет предложено ввести пароль учетной записи на другом компьютере, если у вас нет сертификата или какой-либо другой проверки подлинности (scp совместно использует эти настройки с помощью ssh, конечно).
SFTP — это инструмент, который упрощает выполнение множества операций в удаленной файловой системе — он работает точно так же, как FTP, но работает через SSH, поэтому он защищен и требует только SSH-сервера. man sftp расскажет вам о том, как его использовать. Я не использую SFTP только для перемещения папки между двумя машинами, это более полезно, когда вам нужно много операций, например, если вы переставляете файлы на другой компьютер.
SSHFS просто расширяет SFTP в файловой системе: он позволяет подключать виртуальный хост к вашей файловой системе, поэтому сетевое содержимое происходит полностью прозрачно. SSHFS предназначен для полупостоянных настроек, а не только для одноразовой передачи файлов. Требуется еще несколько усилий для настройки, о которых вы можете прочитать в веб-сайте проекта .
Если вам нужно работать в среде смешанной ОС, Samba станет вашим лучшим выбором. Windows и OS X поддерживают Samba полностью автоматически, а Linux также работает, хотя иногда это бывает грубо.
Мой личный фаворит для случаев, когда безопасность не имеет значения, netcat + tar :
Чтобы отправить каталог cd внутри каталога, содержимое которого вы хотите отправить на компьютер, выполняющее отправку и выполните:
tar -cz . | nc -q 10 -l -p 45454
На компьютере, получающем содержимое, cd, где вы хотите, чтобы содержимое отображалось и выполнялось:
nc -w 10 $REMOTE_HOST 45454 | tar -xz
Замените $REMOTE_HOST на ip /hostname компьютера, выполняющего отправку. Вы также можете использовать другой порт вместо 45454 .
Что на самом деле происходит здесь, так это то, что «принимающий» компьютер подключается к отправляющему компьютеру на порт 45454 и получает содержимое tar’d и gzip’d в каталоге и передает его непосредственно в tar (и gzip) на извлеките его в текущий каталог.
Быстрый пример (с использованием localhost как удаленного хоста)
Для однократного перемещения рекомендуется использовать scp.
Но если вы обнаружите, что этот каталог может работать, и вам нужно переместить его много раз, чтобы обновить другую позицию, вы можете использовать rsync (с ssh).
Так как rsync имеет много аргументов, я обычно помещаю его в маленькую оболочку, поэтому я получаю ее правильно (каждый раз). Идея состоит в том, чтобы отправлять только те вещи, которые были изменены с момента последнего запуска.
Это приведет к перемещению директории с именем «/home /media /music /» с локального компьютера на компьютер с именем 192.168.0.33 с использованием пользователя «nisse». И удалите все объекты, которые не существуют на локальном компьютере.
Самый быстрый, вероятно, netcat (как описано в caspar).
Мне нравится комбинация tar & ssh , который является безопасным и все еще быстрым:
Выполняя это как root, он сохраняет права доступа к файлам. Или используйте -p с обеих сторон. Также может быть рассмотрен -S , если у вас есть разреженные файлы.
Можно уменьшить накладные расходы на шифрование ssh , если вы используете arcfour как шифр, который работает с openSSH:
Чтобы обновить удаленный путь, rsync идеально подходит:
Я бы порекомендовал вам попробовать альтернативы, вместо этого перейдя прямо к SSH для перемещения файлов внутри вашей локальной сети, поскольку накладные расходы — IMMENSE. Я бы пошел с решением Каспара, если он по какой-то причине не сработает для вас:
В пункте назначения:
Это не будет только легче, чем использование SSH, но гораздо быстрее с скоростями от 45 до 65 мегабайт на стандартном CAT6 UTP.
Если вы действительно хотите сжать большую часть соединения, попробуйте заменить wget на lftp и используя pget -n20 и mirror -r .
Если это необходимо сделать по локальной сети, я бы использовал rsync , так как он заберет там, где он остановился, если он будет прерван. У него также есть несколько других трюков для сведения к минимуму количества передаваемых данных, хотя я сомневаюсь, что многие /любой из них будут иметь отношение к случаю копирования музыкальной библиотеки в девственное местоположение. Если безопасность является проблемой, просто установите RSYNC_RSH=ssh , и данные будут туннелированы по ssh.
Если бы я действительно это делал, я, вероятно, вообще не использовал бы ЛВС. Я бы скопировал файлы на жесткий диск USB, а затем выключил его. По моему опыту, это может быть легко на несколько порядков быстрее, чем перемещение по локальной сети, несмотря на то, что приходится копировать файлы дважды — USB 2.0 рассчитан на 480 Мбит /с, что быстрее, чем что-либо, кроме гигабитного ethernet, плюс он менее чувствителен к условиям что ухудшит производительность локальной сети. Он также полностью независим от ОС, если вы используете файловую систему, с которой могут справиться все задействованные машины — я бы рекомендовал VFAT /FAT32, так как это довольно универсально.
Я бы предложил rsync, поскольку он будет копировать файлы пошагово. Вы можете настроить его для копирования только измененных или новых файлов только после того, как вы сделали начальное обновление. Вы можете использовать ssh в качестве транспортного слоя, если хотите.
Я использую Unison , который является удивительным файловым синхронизатором для многих разных протоколы. Вы можете настроить его для использования scp , rcp , ftp или даже локально в файловой системе между двумя папками. Я использую его для синхронизации моей музыкальной библиотеки, так как она может передавать сразу несколько файлов по сети и действительно настраивается в конфигурации. Я держу свою музыкальную коллекцию резервной копией и синхронизируюсь на 2-3 компьютерах. Он копирует только измененные файлы и делает это, сохраняя индекс на обоих концах передачи, чтобы иметь возможность сказать, когда клиент изменил файл или когда файл сервера изменился.
Ваш пробег может различаться, но это намного лучше, чем scp во всей вашей музыкальной коллекции каждый раз, когда вы добавляете новую песню:)
Для скриптов и текстовых файлов для меня работает только отлично
Передача данных с локального хоста на удаленный хост. cat localfile | ssh @ «cat >
Передача данных с удаленного хоста на локальный хост. ssh @ «cat >
Это работает для меня, чтобы передавать файлы на встроенные системы, в которых нет клиента ssh или scp.
Источник