Termux шаг за шагом (Часть 1)

в 10:14, , рубрики: termux, Разработка под android

Termux шаг за шагом

При первом знакомстве Termux, а я далеко не линуксоид, вызвал в моей голове две мысли: «Круть несусветная!» и «Как им пользоваться?». Порывшись в инетах, я не нашел ни одной статьи в полной мере позволяющей начать пользоваться Termux`ом так чтобы это приносило больше удовольствия чем гемора. Будем это исправлять.

За каким, собственно говоря, я полез к Termux`у? Во-первых хакинг, точнее желание немного в нем разобраться. Во-вторых отсутствие возможности пользоваться Kali Linux`ом.
Тут я постараюсь собрать воедино все полезное найденное мной по теме. Разбирающегося эта статья вряд ли чем удивит, но тем кто только познает прелести Termux`а, надеюсь, будет полезна.

Для лучшего понимания материала рекомендую повторять описанное мной не простой копипастой а самостоятельно вводить команды. Для удобства нам понадобится либо Android устройство с подключенной клавиатурой, либо как в моем случае Android устройство и ПК/Ноутбук (Windows) подключенные к одной сети. Android желательно с root`ом, но не обязательно. Иногда я что-то указываю в скобках, обычно, это позволит лучше понять материал (если написанное в скобках не совсем понятно, то смело пропускайте это, потом в процессе и по мере необходимости все разъяснится).

Шаг 1

Буду банален и чертовски логичен одновременно

Ставим Termux c Google Play Market:

image

Открываем установленное приложение и видим:

image

Далее стоит обновить предустановленные пакеты. Для этого по порядку вводим две команды, по ходу выполнения которых со всем соглашаемся, вводя Y:

apt update
apt upgrade
Первой командой мы проверяем список установленных пакетов и ищем те, которые можно обновить, а второй обновляем их. По этой причине команды нужно писать именно в такой последовательности.

Теперь у нас наиболее свежая версия Termux.

Еще несколько нужных команд

ls – отображает список файлов и директорий в текущей директории
cd – перемещает в указанную директорию, например:
Важно понимать: если путь не указан прямо (~/storage/downloads/1.txt) он будет от текущей директории
cd dir1 – переместит в dir1 если в текущей директории она есть
cd ~/dir1 – переместит в dir1 по указанному пути от корневой папки
cd  или cd ~ — переместить в корневую папку
clear – очищаем консоль
ifconfig – можно посмотреть IP, а можно и сеть настроить
cat – позволяет работать с файлами/устройствами (в рамках одного потока) например:
cat 1.txt – просмотрим содержимое файла 1.txt
cat 1.txt>>2.txt – копируем файл 1.txt в файл 2.txt  (файл 1.txt останется)
rm — используемая для удаления файлов из файловой системы. Ключи, использующиеся с rm:
-r – обрабатывать все вложенные директории. Данный ключ необходим, если удаляемый файл является директорией. Если удаляемый файл не является директорией, то ключ -r не влияет на команду rm.
-i – выводить запрос на подтверждение каждой операции удаления.
-f – не возвращать код ошибочного завершения, если ошибки были вызваны несуществующими файлами; не запрашивать подтверждения операций.
Например:
rm -rf mydir – удалить без подтверждения и кода ошибочного завершения файл (или каталог) mydir.
mkdir <путь> – создает директорию по указанному пути
echo – может служить для записи строки в файл, если используется ‘>’ файл будет перезаписан, если ‘>>’ строка будет дописана в конец файла:
echo "string" > filename
Более подробно по командам UNIX ищем в интернете (саморазвитие никто не отменял).
Сочетание клавиш Ctrl + C и Ctrl + Z прерывает и прекращает выполнение команд соответственно.

Шаг 2

Облегчи себе жизнь

Чтобы не мучить себя без нужды вводом команд с экранной клавиатуры (в «полевых» условиях, конечно, от этого не уйти) есть два пути:

  1. Подключить к Android устройству полноценную клавиатуру любым удобным способом.
  2. Воспользоваться ssh. Проще говоря, у вас на компьютере будет открыта консоль Termux`а запущенного на вашем Android устройстве.

Я пошел по второму пути, хотя он и немного сложен в настройке, но все окупится удобством использования.

На компьютере необходимо установить программу ssh клиент, я пользуюсь Bitvise SSH Client,  т.ч. все дальнейшие действия совершаются в этой программе.

Termux шаг за шагом (Часть 1) - 3

Т.к. на данный момент Termux поддерживает только подключение по методу Publickey с использованием файла-ключа, нам необходимо этот файл создать. Для этого в программе Bitvise SSH Client на вкладке Login щелкаем по Client  key manager в открывшемся окне генерируем новый публичный ключ и экспортируем его в OpenSSH формате в файл с названием termux.pub (на самом деле можно любое название). Созданный файл помещаем во внутреннюю память вашего Android устройства в папку Downloads (к этой папке, и еще к нескольким, Termux имеет упрощенный доступ без root).

Во вкладке Login в поле Host вводим IP вашего Android устройства (узнать можно введя в Termux команду ifconfig) в поле Port должно быть 8022.

Теперь переходим к установке OpenSSH в Termux, для этого вводим следующие команды:

apt install openssh (в процессе, если потребуется, вводим ‘y’)
pkill sshd (этой командой останавливаем OpenSSH)
termux-setup-storage (подключить внутреннюю память)
cat ~/storage/downloads/termux.pub>>~/.ssh/authorized_keys (копируем файл-ключ)
sshd (запускаем ssh хост)

Возвращаемся к Bitvise SSH Client и нажимаем кнопку Log in. В процессе подключения появится окно, в котором выбираем Method – publickey, Client key это Passphrase (если вы ее указали при генерации файла-ключа).

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

Termux шаг за шагом (Часть 1) - 4

Теперь мы можем вводить команды с ПК а выполняться они будут на вашем Android устройстве. Не сложно догадаться какие это дает преимущества.

Шаг 3

Настроим Termux, установим дополнительные утилиты

Прежде всего давайте установим bash-completion (сокращалку, волшебный-Tab, кто как называет). Суть утилиты в том что, вводя команды вы можете нажав Tab воспользоваться автозаполнением. Для установки пишем:

apt install bash-completion (Работает автоматически по нажатию Tab)

Ну что за жизнь без текстового редактора с подсветкой кода (если вдруг захочется покодить, а оно захочется). Для установки пишем:

apt install vim

Тут уже можно пользоваться автозаполнением — пишем ‘apt i’ теперь нажимаем Tab и наша команда дописывается до ‘apt install’.

Пользоваться vim`ом не сложно, чтобы открыть файл 1.txt (если его нет, то он создастся) пишем:

vim 1.txt

Чтобы начать вводить текст нажмите ‘i’
Чтобы закончить вводить текст нажмите ESC
Перед вводом команды должно быть двоеточие ‘:’
‘:q’ – выйти без сохранения
‘:w’ – сохранить
‘:wq’ – сохранить и выйти

Раз мы теперь можем создавать и редактировать файлы, давайте немного улучшим вид и информативность командной строки Termux`а. Для этого нам нужно присвоить переменной окружения PS1 значение "[33[1;33;1;32m]:[33[1;31m]w$ [33[0m][33[0m]" (если интересно что это и с чем его едят, прошу сюда). Чтобы это сделать нам нужно в файл '.bashrc' (лежит в корне и выполняется при каждом запуске оболочки) добавить строку:

PS1 = "[33[1;33;1;32m]:[33[1;31m]w$ [33[0m][33[0m]"

Для простоты и наглядности воспользуемся vim`ом:

cd
vim .bashrc

Вписываем строку, сохраняем и выходим.

Добавить строку в файл можно и другим способом, воспользовавшись командой ‘echo’:

echo PS1='"[33[1;33;1;32m]:[33[1;31m]w$ [33[0m][33[0m]"' >>  .bashrc

Обратите внимание, что для отображения двойных кавычек всю строку с ними нужно заключить в одинарные кавычки. В этой команде стоит ‘>>’ потому файл будет дополнен, чтобы переписать  ‘>’.

В файл .bashrc так же можно вписать alias’ы – сокращения. Например мы хотим одной командой проводить update и upgrade сразу. Для этого в .bashrc добавляем строку:

alias updg = "apt update && apt upgrade"

Для внесения  строки можно воспользоваться vim’ом или командой echo (если не получается самостоятельно – см. ниже)

Синтаксис alias’ов таков:

alias <сокращение> = "<перечень команд>"

Итак, добавляем сокращение:

echo alias updg='"apt update && apt upgrade"' >> .bashrc

Вот еще несколько полезных утилит

Ставить через apt install

man — Встроенная справка для большинства комманд.
man %commandname

imagemagick — Утилита для работы с изображениями(конвертирование, сжатие, обрезка). Поддерживает много форматов включая pdf.Пример: Сконвертировать все картинки из текущей папки в один pdf и уменьшить их размер.
convert *.jpg -scale 50% img.pdf

ffmpeg — Один из лучших конвертеров аудио/видео. Инструкцию по использованию гуглите.

mc — Двухпанельный файловый менеджер наподобие Far.

Впереди еще немало шагов, главное что движение начато!

Автор: LexxXell

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js