Termux шаг за шагом
При первом знакомстве Termux, а я далеко не линуксоид, вызвал в моей голове две мысли: «Круть несусветная!» и «Как им пользоваться?». Порывшись в инетах, я не нашел ни одной статьи в полной мере позволяющей начать пользоваться Termux`ом так чтобы это приносило больше удовольствия чем гемора. Будем это исправлять.
За каким, собственно говоря, я полез к Termux`у? Во-первых хакинг, точнее желание немного в нем разобраться. Во-вторых отсутствие возможности пользоваться Kali Linux`ом.
Тут я постараюсь собрать воедино все полезное найденное мной по теме. Разбирающегося эта статья вряд ли чем удивит, но тем кто только познает прелести Termux`а, надеюсь, будет полезна.
Для лучшего понимания материала рекомендую повторять описанное мной не простой копипастой а самостоятельно вводить команды. Для удобства нам понадобится либо Android устройство с подключенной клавиатурой, либо как в моем случае Android устройство и ПК/Ноутбук (Windows) подключенные к одной сети. Android желательно с root`ом, но не обязательно. Иногда я что-то указываю в скобках, обычно, это позволит лучше понять материал (если написанное в скобках не совсем понятно, то смело пропускайте это, потом в процессе и по мере необходимости все разъяснится).
Шаг 1
Буду банален и чертовски логичен одновременно
Ставим Termux c Google Play Market:
Открываем установленное приложение и видим:
Далее стоит обновить предустановленные пакеты. Для этого по порядку вводим две команды, по ходу выполнения которых со всем соглашаемся, вводя 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
Облегчи себе жизнь
Чтобы не мучить себя без нужды вводом команд с экранной клавиатуры (в «полевых» условиях, конечно, от этого не уйти) есть два пути:
- Подключить к Android устройству полноценную клавиатуру любым удобным способом.
- Воспользоваться ssh. Проще говоря, у вас на компьютере будет открыта консоль Termux`а запущенного на вашем Android устройстве.
Я пошел по второму пути, хотя он и немного сложен в настройке, но все окупится удобством использования.
На компьютере необходимо установить программу ssh клиент, я пользуюсь Bitvise SSH Client, т.ч. все дальнейшие действия совершаются в этой программе.
Т.к. на данный момент 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 (если вы ее указали при генерации файла-ключа).
В случае успешного подключения (если все сделали, как написано, то должно подключиться без проблем) откроется окно.
Теперь мы можем вводить команды с ПК а выполняться они будут на вашем 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]" (если интересно что это и с чем его едят, прошу
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.
Впереди еще немало шагов, главное что движение начато!
Источник: habr.com