Наш канал в telegram

Микрокомпьютер Omega2. Часть 4. Работа с файлами (Midnight Commander, SCP, FTP).

Как известно, информация на компьютерах хранится в виде файлов и структурируется при помощи каталогов (они же — директории). Микрокомпьютер Omega2, естественно, исключением не является. Соответственно, при работе с ним Вам наверняка придётся работать с файлами и каталогами, — редактировать, копировать, переносить, скачивать, закачивать и так далее и тому подобное. Вот об этом сегодня и поговорим.

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

  • cp — копирование,
  • mv — перемещение,
  • mkdir — создание каталога,
  • rm и rmdir — удаление файлов и каталогов,
  • cat — просмотр, копирование, объединение файлов,

а так же многие, многие другие.

Речь, однако, пойдёт не о них, а о средствах, позволяющих сделать работу с микрокомпьютерами Omega2 более удобной и приятной.

Установка и использование файлового менеджера

Первое из таких средств для повышения удобства, — Midnight Commander. Это небольшой файловый менеджер, отображающий структуру папок и файлов в табличном виде, примерно так же, как Norton Commander или более современный Far Manager.

Midnight Commander умеет искать, копировать, перемещать и удалять файлы и папки, позволяет легко перемещаться от одного каталога к другому, позволяет пользоваться командной строкой, в него встроены средства просмотра и редактирования файлов и даже FTP-клиент.

Установить этот файловый менеджер очень просто. Как обычно, — подключаемся в консоль через Serial0 или по SSH и первым делом обновляем список доступных для установки из репозитория пакетов:

root@Omega-XXXX:/# opkg update

Далее устанавливаем Midnight Commander командой:

root@Omega-XXXX:/# opkg install mc

Вот и всё. Чтобы начать работу — просто выполните команду mc и перед вами в виде таблицы появятся ваши файлы и папки. Ниже показан скриншот, на котором видно, как это всё выглядит.

внешний вид Midnight Commander

Работать с этим файловым менеджером довольно просто. Если есть вопросы, то на них почти всегда можно найти ответ в интернете (продукт с открытым исходным кодом и информации на него море), хотя назначение большей части кнопок и так интуитивно понятно. Тем не менее, небольшую шпаргалку по Midnight Commander я напишу:

  • F1 или Alt+1 — помощь
  • F2 или Alt+2 — пользовательское меню
  • F3 или Alt+3 — просмотр файла
  • F4 или Alt+4 — редактирование файла
  • F5 или Alt+5 — копирование
  • F6 или Alt+6 — перемещение / переименование
  • F7 или Alt+7 — создание новой директории
  • F8 или Alt+8 — удаление
  • F9 или Alt+9 — верхнее меню
  • F10 или Alt+10 — выход
  • Tab — переключение с одной панели на другую
  • стрелки вверх/вниз — перемещение курсора в пределах одной панели

Передача файлов через SCP

Работа с файлами в пределах одной омеги — это хорошо, но кроме этого было бы неплохо как-то передавать файлы с омеги на домашний ПК или с одной омеги на другую. Это дало бы возможность заниматься проектами на домашнем ПК, а потом заливать их в омегу, или переносить проекты между разными омегами. То есть следующий вопрос, решение которого могло бы сильно облегчить нам жизнь, — это передача файлов с омеги и/или на омегу.

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

Пожалуй лучшее, что мы можем сделать — это использовать протокол SCP (протокол копирования файлов, использующий в качестве транспорта ssh).

В линуксе воспользоваться этим методом поможет специальная утилита с таким же названием, — scp (хм, неожиданно, да?).

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

scp SourceFile root@omega_ip_address:/TargetDirectory/TargetFile

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

scp root@omega_ip_address:/SourceDirectory/SourceFile TargetFile

Специальными ключами можно расширить функционал команды. Например, вот такой командой:

scp -r user@host:/directory/SourceFolder TargetFolder

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

Ладно, едем дальше. Линукс линуксом, но большинство людей пока пользуются виндой. Как быть в этом случае?

В этом случае всё ещё проще, — нам поможет графический SCP-клиент WinSCP.

Скачиваем его по приведённой выше ссылке, устанавливаем и запускаем. При входе указываем следующие параметры соединения:

  • Протокол передачи — SCP
  • Имя хоста — пишем ip-адрес омеги
  • Порт — оставляем по умолчанию (22)
  • Имя пользователя — root
  • Пароль — onioneer

Заполняем все параметры подключения и жмём кнопку Войти. После этого WinSCP подключится к омеге и вы сможете обмениваться с ней файлами.

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

Что ещё у нас есть простого и специально заточенного под передачу файлов по сети? Правильно, — протокол FTP. Как с ним работать? Опять правильно, — через FTP-серверы и FTP-клиенты.

Первый вариант — поднять на домашнем ПК ftp-сервер (под винду можно взять, например, бесплатный ftp-сервер Filezilla, под линух их чуть больше, чем много) и подключаться к нему с омеги ftp-клиентом.

По счастливому стечению обстоятельств, ftp-клиент встроен в уже знакомый нам Midnight Commander (Ура, можно сэкономить место). Подключиться с его помощью к ftp-серверу можно следующим образом:

  • Заходим в верхнее меню (F9 или Alt+9)
  • Во вкладке Left или Right (смотря с какой стороны вы хотите показывать файлы ftp-сервера) выбираете пункт FTP link…
  • В появившемся окне (FTP to machine) вам предложат ввести данные для подключения (Enter machine name (F1 for details):). В строке ввода пишем имя_пользователя:пароль@адрес_сервера. В качестве адреса сервера можно указать ip-адрес ftp-сервера или его доменное имя (типа ftp.myserver.ru). Пароль можно не вводить (в этом случае он будет запрошен при подключении). Если перед именем пользователя поставить восклицательный знак (!), то ftp-соединение будет открыто в пассивном режиме.

Всё, после подключения вы увидите в соответствующей панели файлового менеджера (слева или справа, смотря что выбрали) каталоги и файлы ftp-сервера и сможете копировать файлы с омеги на сервер и обратно, точно также, как при копировании и переносе файлов внутри омеги.

Как я уже говорил, второй вариант — поднять ftp-сервер на самой омеге. Выполняем:

opkg update
opkg list | grep ftp

и видим, что родной репозиторий предлагает два варианта: vsftpd и vsftpd-tls. Шифрование нафиг (по крайней мере сейчас не об этом), поэтому ставим просто vsftpd:

opkg install vsftpd

Собственно, всё, можете подключаться ftp-клиентом (например, опять же клиентом Filezilla). Единственное, что нужно помнить — это то, что если вы в процессе работы создавали / удаляли / перемещали какие-то файлы, то для того, чтобы сервер (и, соответственно, клиент) все эти изменения увидел, — нужно перед подключением клиента перезапустить сервер vsftpd (для этого выполняем /etc/init.d/vsftpd restart).

Разумеется есть и другие варианты передачи файлов между ПК и омегой. Например, можно поднять на омеге samba-сервер (даже в родном репозитории есть один — samba36-server). Однако, IMHO все подобные другие варианты — это для гиков, ибо самые удобные описаны выше.

  1. Часть 1. Первое знакомство
  2. Часть 2. Использование GPIO
  3. Часть 3. Док-плата
  4. Часть 4. Работа с файлами
  5. Часть 5. Работа с USB flash-дисками
  6. Часть 6. Установка, настройка и использование php для интерактивного взаимодействия

Добавить комментарий