Установка пакетов в Termux
Мы уже рассказывали, как сделать хакерский смартфон с помощью Termux и Kali. Сегодня я покажу как устанавливать пакеты в Termux.
Termux — это простой и удобный терминал, предоставляющий множество возможностей среды Linux. Он позволяет выполнять команды в подходящей среде, избегая необходимости предварительной настройки окружения.
Как установить пакеты в Termux
Установить Termux можно разными способами, самый простой — из Google Play.
Теперь установим некоторые важные базовые инструменты, которые необходимы для установки пакетов.
Обновление pkg
pkg update
pkg upgrade
Установка всех необходимых версий Python
pkg install python
pkg install python2
pkg install python3
Установка pip
pkg install python — pip
Установка git
pkg install git
Установка wget
pkg install wget
Установка пакетов в Termux
Можно приступать к работе и устанавливать пакеты в Termux. За установку пакетов отвечает команда pkg install .
pkg install имя-пакета
Удаление пакетов из Termux
С помощью следующей команды, вы можете удалить пакеты из Termux.
pkg uninstall имя-пакета
Пакет будет удален, но останутся файлы конфигурации. Если нужно их удалить, используйте команду apt purge .
Команда List отобразит все установленный пакеты.
pkg list — all
Обновление пакетов в Termux
Перед установкой нового пакета настоятельно рекомендуется обновить установленные пакеты. Обновить пакеты можно с помощью команды:
pkg upgrade
Я рекомендую проверять наличие обновлений минимум раз в месяц или перед установкой новых пакетов.
Шпаргалка по командам
pkg autoclean | Удаление устаревших файлов .deb из кеша. |
pkg clean | Удаление всех файлов .deb из кеша. |
pkg files | Список файлов, установленных указанным пакетом. |
pkg list — all | Список всех доступных пакетов. |
pkg list — installed | Список установленных пакетов. |
pkg reinstall | Переустановить пакет. |
pkg search | Поиск пакета. |
pkg show | Получение информации о пакете. |
Репозитории и зеркала Termux
Termux не поддерживает пакеты из репозиториев Debian, Ubuntu и других дистрибутивов Linux. Поэтому не пытайтесь поместить их в свой sources.list или вручную устанавливать файлы .deb.
Зеркала — это серверы, на которых хранятся пакеты Termux. Выбор зеркала позволяет определить, откуда загружать пакеты.
Чтобы выбрать зеркало или группу зеркал в Termux, выполните следующие шаги:
- Запустите Termux на своем устройстве Android.
- При появлении запроса на выбор зеркала или группы зеркал введите номер, соответствующий вашему выбору. Обычно доступно несколько вариантов.
- Нажмите клавишу Enter, чтобы подтвердить выбор.
Выбор зеркала может зависеть от вашего местоположения и доступности серверов. Если одно зеркало не работает или загрузка пакетов слишком медленная, вы всегда можете повторить процесс и выбрать другое зеркало.
Если вы пропустили этот шаг при первом запуске Termux и хотите выбрать зеркало позже, выполните команду:
Termux шаг за шагом (Часть 1)
При первом знакомстве Termux, а я далеко не линуксоид, вызвал в моей голове две мысли: «Круть несусветная!» и «Как им пользоваться?». Порывшись в инетах, я не нашел ни одной статьи в полной мере позволяющей начать пользоваться Termux’ом так чтобы это приносило больше удовольствия чем гемора. Будем это исправлять.
Для начала определимся, что это за зверь такой Termux, и что он может. На главной странице WikiTermux (рекомендую ознакомиться) говорится, что “Termux — это эмулятор терминала и среда Linux”, т.е. установив его мы получим вполне работоспособный Linux терминал на своем Android устройстве. Несомненным плюсом является работа в виртуальном окружении (многое можно делать без root’а), благодаря чему навредить файловой системе Android практически нереально. А при наличии root’а ваши возможности ограничены только фантазией (ну и знанием матчасти).
За каким, собственно говоря, я полез к 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, и все дальнейшие действия совершаются в этой программе.
Поскольку мы будем подключаться по методу 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 значение «[\033[1;33;1;32m]:[\033[1;31m]\w$ [\033[0m][\033[0m]» (если интересно что это и с чем его едят, прошу сюда). Чтобы это сделать нам нужно в файл ‘.bashrc’ (лежит в корне и выполняется при каждом запуске оболочки) добавить строку:
PS1 = "\[\033[1;33;1;32m\]:\[\033[1;31m\]\w$ \[\033[0m\]\[\033[0m\]"
Для простоты и наглядности воспользуемся vim`ом:
cd vim .bashrc
Вписываем строку, сохраняем и выходим.
Добавить строку в файл можно и другим способом, воспользовавшись командой ‘echo’:
echo PS1='"\[\033[1;33;1;32m\]:\[\033[1;31m\]\w$ \[\033[0m\]\[\033[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.
Впереди еще немало шагов, главное что движение начато!
Коротко о главном: что такое Termux
Termux — это эмулятор терминала Android и приложения среды Linux, которое работает напрямую, без необходимости рутирования или настройки. Минимальная базовая система устанавливается автоматически — дополнительные пакеты доступны через диспетчер пакетов APT.
Подписывайтесь на наш Телеграм
Если кратко и грубо-то, Termux — это консоль, которая в ваших услугах.
По умолчанию в Termux установлена минимальная базовая система. Дополнительные пакеты доступны из диспетчера пакетов «pkg» (аналоге apt). Приложение поддерживает расширенное управление при наличии прав суперпользователя и установка специального пакета «tsu» (аналог sudo). Без root-прав приложение также имеет достаточно широкие возможности.
Вот он, зверь)
Так-же Termux имеет ряд дополнений, которые все можно найти в F-Droid.
- Termux: API — доступ к аппаратным функциям Android и Chrome.
- Termux: Boot — запускайте скрипт(ы), когда ваше устройство загружается.
- Termux: Float — запустите Termux в плавающем окне.
- Termux: Styling — используйте цветовые схемы и шрифты для Powerline, чтобы настроить внешний вид терминала Termux.
- Termux: Tasker — простой способ вызвать исполняемые файлы Termux из Tasker и совместимых приложений.
- Termux: Widget — запускайте небольшие скриптлеты с домашнего экрана.
Для чего используется Termux
- Автоматизация устройства с помощью скриптов и надстройки Termux Tasker.
- Передача файлов и синхронизация через syncthing, rsync, rclone и т. д.
- Программирование (clang, python, vim и т. д.).
- Проверка защищённости устройств на взлом.
- Проверка защищённости сайтов на DDoS или Dos.
- Искать уязвимости в роутере или сети.
- Проверка защищённости от спама (может кому-то надо будет :))
Установка
Если установить, то через F-Droid, так как в Google Play поддержка обновлений прекращена. На сегодняшний день реализована только поддержка Android устройств с 7.0-12.0. Чтобы установить на ПК нужно использовать специальные утилиты. На данный момент самыми популярными утилитами являются: Bluestacks и NoxPlayer.
Команды
Раз Termux консоль, то он принимает команды. (По аналогии с cmd).
Вот список команд, которые могут пригодиться.
- apt update # — поиск обновлений. Всегда выполняйте эти первые 2 команды перед работой
- apt upgrade # -установка обновлений
- pkg \ apt install # установка пакета
- git clone # установка репозитория из GitHub
- help # помощь \ выводит список команд termux
- help # выводит список команд пакета пример –python help
- pkg search package — ищет пакет пакета
- pkg remove package — удаляет пакет
- pkg list-installed — выведет список загружаемых пакетов
- . — повторить последнюю команду
- выход — разлогиниться
Файловая система
- ls — список файлов и каталогов
- ls -al — форматированный список со скрытыми каталогами и файлами
- cd dir — сменить директорию на dir
- cd — сменить на домашний каталог
- pwd — показать текущий каталог
- mkdir dir — создать каталог dir
- rm file — удалить файл
- rm -r dir — удалить каталог dir
- rm -f file — удалить форсированно файл
- rm -rf dir — удалить форсированно каталог dir
- cp file1 file2 — скопировать file1 в file2
- cp -r dir1 dir2 — скопировать dir1 в dir2; создаст каталог dir2, если он не существует
- mv file1 file2 — переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2
- ln -s file link — создать символическую ссылку к файлу файл
- touch file — создать файл
- cat> file — направить стандартный ввод в файл
- more file — вывести содержимое файла
- head file — вывести первые 10 строк файла
- tail file — вывести последние 10 строк файла
- tail -f file — вывести содержимое файла по мере роста, начинает с последних 10 строк
Управление процессами
- kill pid — убить процесс с id pid
- наверх — показать все запущенные процессы
- killall proc — убить все процессы с именем proc
- bg — список остановленных и фоновых задач; продолжение выполнения остановленной задачи в фоне
- fg — выносит на передний план последние задачи
- fg n — вынести задачу n на передний план
Права доступа на файлы
chmod восьмеричный файл — сменить права файла на восьмеричное, раздельное для пользователя, группы.
- 4 — чтение ®
- 2 — запись (ш)
- 1 — исполнение (x)
Системная информация
- date — вывести текущую дату и время
- cal — вывести календарь на текущий месяц
- uptime — показать текущий аптайм
- whoami — имя, под которым вы залогинены
- uname -a — показать информацию о ядре
- cat / proc / cpuinfo — информация ЦПУ
- cat / proc / meminfo — информация о памяти
- команда man — показать мануал для команды
- df — показать инф. о использование дисков
- du — вывести «вес» текущего каталога
- бесплатно — использование памяти и обмен
- whereis app — возможное расположение программы app
- какое приложение — какое приложение будет запущена по умолчанию
Сеть
- ping host — пропинговать хост и вывести результат
- whois domain — получить информацию whois для домена
dig domain — получить DNS информацию о домене - dig -x host — реверсивно искать host
- wget file — скачать файл
- wget -c file — продолжить остановленную закачку
Установка python2 / 3 скриптов
В Termux вызов пайтона: python2 и python.
(X — версия Python)
- pythonX setup.py
- pythonX -m pip install -r requirements.txt
- pipX install -r requirements.txt
Клавиатурные сочетания
- Ctrl + C — завершить текущую команду
- Ctrl + Z — остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
- Ctrl + D — разлогиниться, тоже самое, что и выйти
Ctrl + W — - Ctrl + W — удалить одно слово в текущей строке
- Ctrl + U — удалить строку
- Так же стрелки (вверх и вниз) можно использовать в качестве истории команд
И так все же, что что он сможет?
И много чего можно найти в github для termux, но оставлю одну прогу в которой много инструментов для проверки защищённости устройства. Я не несу за ваш страх и риск.
DarkFly-Tool включает в себя огромное множество инструментов. От проверки на защищённость от вирусов до скачивания видео из интернета. В нем присутствуют как безобидные инструменты, так и утилиты для взлома камер, вирусы, спамеры и тому подобное.
Установка в Termux
- apt update -y&&apt upgrade -y
- apt install python -y&&apt install git — y
- git clone github.com/Ranginang67/DarkFly-Tool
- cd DarkFly-Tool
- chmod + x install.py
Использование
- python2 install.py
- DarkFly
Прикольчик : D
Бегущий — поезд будет бежать по вашему поезду экрану, и после того, как он пройдет, вы увидите свой терминал.
Эта команда установит sl пакет в termux: (мелочь, а приятно)
Теперь пакет sl установлен в вашем termux, и вам просто нужно набрать sl.
Termux от А до Я. Часть 1
@termuxguide
Termux — приложение реализующее Linux-подобную среду взаимодействие с которой происходит посредством консоли без необходимости иметь root-права на устройстве. Его можно считать больше похожим на дистрибутив Linux, чем просто эмулятор, благодаря большому количеству доступных пакетов.
Что можно сделать с Termux?
Теоретически Термукс может быть использован для всего, что может быть сделано в типичном дистрибутиве Linux. К примеру его можно использовать для изучения основ командной строки Linux, как среду разработки, как веб-сервер, как SSH клиент. Однако это ничтожно малая часть перечисленых вещей. В его репозиториях хранится более 1200 пакетов, у каждого из которых есть свой функционал.
Установка Termux
Первым делом разберёмся откуда его скачивать, я рекомендую устанавливать с F-Droid или Kali NetHunter Store. Также возможно установить с PlayMarket. В F-Droid и PlayMarket обновляется он гораздо чаще. С первых двух маркетов вы также сможете бесплатно установить дополнения (Тут важный момент, если Termux вы к примеру скачивали из PlayMarket’а, и вам захотелось установить бесплатно дополнения с первых двух, то этого не выйдет. Необходимо скачивать весь набор приложений Termux с одного маркета. Ошибка возникающая при установке с двух и более маркетов возникает потому, что каждый APK должен быть подписан одним и тем же ключом, тогда как разработчик не может использовать один и тот же ключ подписи для различных источников установки)
Первый взгляд
При запуске, Termux показывает интерфейс терминала,
1 — Сообщение дня (motd)
2 — Панель дополнительных клавиш
3 — Приветствие shell’a
Размер текста можно регулировать путем увеличения масштаба удержанием двойного нажатия и перетаскивания содержимого к себе или от себя. Помимо этого доступно дополнительные элементы интерфейса: контекстное меню, панель навигации и уведомление. Контекстное меню может быть показано долгим нажатием в любом месте терминала
Это обеспечивает пункты меню для:
- Выделения и вставки текста (copy/past)
Если нажать MORE, то и
- Выбора URL (Select URL)
- Отправки текста из терминала в другие приложения (например, электронная почта или SMS)(Share transcript)
- Сброса терминала (Reset)
- Выхода из текущего сеанса терминала (Kill process)
- Стилизации терминала путем выбора шрифта и цветовой схемы (Style)
- Режима презентации (Keep screen on)
- Help (Переход на оф. wiki по Termux)
Панель навигации можно открыть свайпнув слево направо, при этом откроется вот такой бар
Он состоит из трёх элементов:
- Список сессий. Щелчок по сеансу показывает его в терминале, а длительное нажатие позволяет указать название сеанса.
- Кнопка для переключения видимости сенсорной клавиатуры.
- Кнопка для создания новых сеансов терминала (длительное нажатие для создания именованного сеанса или отказоустойчивого сеанса).
Уведомление, доступное во время сеанса терминала, доступно при раскрытии меню уведомлений. Нажатие на уведомление приводит к самой последней терминальной сессии. Уведомление также может быть расширено чтобы раскрыть два действия:
- EXIT — Выход из всех запущенных терминальных сессий.
- ACQUIRE WAKELOCK — Функция WakeLock, чтобы не давать Termux переходить в спящий режим.
С активированным WakeLock (понять можно по надписи «wake lock held») фоновые процессы Termux будут доступны, даже если не запущен сеанс терминала, что позволяет сервисам и другим фоновым процессам работать более надежно.
Справка о командах
У команд есть определённая структура, она состоит из двух элементов: опции и аргументы. Опции изменяют поведение команды. Как правило это буквы перед которыми идёт » — » (минус). Можно использовать несколько опций в одной команде.
Чтобы посмотреть справку к команде, используется
command -h или command —help
В данном случае «-h» и «—help» являются опциями. В справке можно узнать что делает команда, как её можно использовать, а также приведены некоторые примеры выполнения команды.
Аргументы это дополнительная информация которая указывает команде с чем работать.
Базовые команды
Прежде чем мы узнаем базовые команды, запомните, Linux чувствителен к регистру.
К примеру папка Directory и папка directory являются совершенно разными папками. Чтобы взаимодействовать с файлами и папками потребуется вводить их полное чёткое название учитывая регистр.
Команды:
pwd — отображает папку в которой вы в данный момент находитесь
ls — отображает содержимое текущей папки
cd — переходит в папку
touch — создаёт файл
less — посматривает содержимое файла
rm — удаляет файл/папку
mkdir — создаёт папку
rmdir — удаляет пустую папку
cp — копирует файл или папку
mv — перемещает или переименовывает файл или папку
clear — очищает терминал
head — выводит первые строки файла
tail — выводит последние строки файла
exit — выходит из термнальной сессии
Примеры
pwd (print working directory) — отобразить текущую директорию (папку)
Команда pwd отображает директорию в коей вы сейчас находитесь. В каждой Linux системе когда вы открываете терминал, то попадаете в домашнюю папку своего пользователя. Termux не исключение, вы также автоматически попадаете в папку home. Это папка вашего пользователя.
- Вывод команды, которая отображает текущую директорию в которой вы оказываетесь когда заходите в термукс или создаете новую сессию. Обратите внимание на своеобразную ветвь. Папка home находится в папке files, а папка files в папке com.termux, и так далее. Сама папка откуда начинаются все вышеперечисленные называется корень » / «.
- Следующей командой мы узнаем что находится в текущей папке, то есть в папке home. Синим подсвечиваются папки, а не имеющие цвета подсвечиваются файлы.
- После перемещения в другую папку и повторном использовании команды pwd, она будет выводить папку в которую вы перешли. Как видим на фотографии выше после того как я напечатал команду cd, а затем дописал имя папки и отправил эту команду терминалу — вывода не последовало. В случае с первыми двумя командами, после их выполнения нам выводилась информация на экран. Однако с командой cd это не так. На самом деле так и должно быть. По умолчанию когда вы успешно переходите в какую-либо папку, никаких результатов не сообщается. Чтобы убедиться что я действительно сейчас нахожусь в другой папке, ввожу команду pwd. И как видим, я успешно перешёл в другую папку.
ls — выдаёт информацию о файлах и папках (по умолчанию в текущем каталоге)
1 — Наблюдаем что вывод в обоих командах практически идентичен
2 — Следующей командой мы посмотрели что находится в предыдущей директории, если помните, точно такой же вывод был когда я проверял содержимое своей домашней папки будучи в ней. А сейчас я перешёл в папку находящуюся в домашней папке, и затем с неё посмотрел содержимое домашней.
. — текущая папка
.. — родительская
Некоторые опции команды ls
-a, --all не скрывать файлы начинающиеся с . -l использовать широкий формат -r, --reverse обратный порядок сортировки -t сортировать по времени изменения, сначала самые новые
cd (change directory) — смена директории
Вы наверняка уже поняли по прошлым примерам зачем нужна эта команда. Сейчас я покажу её некоторые опции и более обширные примеры.
1 — В первых двух примерах я взаимодействую с текущей и родительской папкой. Когда я ввожу
cd .
то остаюсь в той же директории, что и был до выполнения команды.
cd ..
то перехожу в директорию где текущая была создана.
2 — Если у вас имеются вложенные в какую-то папку другие папки, то чтобы перейти к какой либо из них не нужно переходить по одной папке несколькими командами. Это можно сделать одной, дополняя к названию директории слэш и название папки к которой вы хотите переместиться. Пример:
cd directory1/directory.2/directory_3/.directory4
3 — Этой командой мы возвращаемся в папку в которой были до этого в независимости от того где она находилась. Я выполнил эту команду два раза чтобы вернуться обратно в папку packages. Если бы не эта команда, то чтобы вернуться обратно, мне нужно было бы вводить
cd ../../
cd downloads/packages
Как видите, это печатать гораздо дольше нежели
cd —
Чтобы быстро перейти в домашний каталог используем следующие команды
cd
cd ~
touch — создаёт файл
Создание пустого файла file:
touch file
Создание нескольких файлов:
touch file1 file2 file3 file4 file5 file6 file7 file8 file9
less — просмотр содержимого файла
Просматриваем файл readme.txt:
less readme.txt
При выполнении этой команды у нас на весь экран выводится область с содержимым файла. Можно перещаться вниз или вверх как вы это делаете когда читаете книги с телефона
rm (remove) — удаляет файлы и директории
Удаление файла file:
rm file
Удаление нескольких файлов:
rm file2 file3 file4
Удаление пустой директории temp_dir:
rm -d temp_dir
Как видим, мы использовали опцию -d. Команда rm имеет и другие опции, вот некоторые из них:
-f, --force игнорировать несуществующие файлы и аргументы, ни о чем не спрашивать -i запрашивать подтверждение перед каждым удалением -r, -R, --recursive рекурсивно удалять каталоги и их содержимое -d, --dir удалять пустые каталоги -v, --verbose пояснять производимые действия
Опция -f или —force будет полезна в случаях когда вы ошиблись в названии файла, или когда перед удалением файла/папки запрашивается подтверждение на удаление.
Опция -r или -R или —recursive используется для удаления папок в коих присутствуют файлы и другие директории. Часто опции -r и -f используются вместе, это позволит рекурсивно удалить каталог без каких либо запросов, в следующем примеры мы принудительно удалим папку dir4:
rm -rf dir4/
mkdir (make dir(s) — Создает КАТАЛОГ(и), если он ещё не существует
Создаём папку .hidden_dir
mkdir .hidden_dir
Создаём несколько папок
mkdir termux one love
Создаём несколько папок чтобы одна находилась в другой
mkdir -p newdir/all_documents
-p, --parents не выдавать ошибку, если существует, создавать родительские каталоги, если необходимо -v, --verbose печатать сообщение о каждом созданном каталоге
rmdir (remove dir(s) — Удаляет КАТАЛОГ(и), если они пусты
Удаляем пустую директорию dir6
rmdir dir6
--ignore-fail-on-non-empty игнорировать все ошибки, которые возникают из-за того, что каталог не пуст -p, --parents удалить КАТАЛОГ и его потомков. Например, «rmdir -p a/b/c» делает то же, что и «rmdir a/b/c a/b a» -v, --verbose выводить сообщение для каждого обработанного каталога
cp (copy) — копирует файлы и папки
Копируем файл file1 в папку .hidden_dir
cp file1 .hidden_dir/
Имейте в виду: по умолчанию команда cp перезаписывает, если целевой файл уже существует.
Копируем несколько файлов в папку temp-dir
cp file5 file6 file7 temp-dir/
Копируем каталог temp-dir, включая все его файлы и подкаталоги в родительскую директорию
cp -r temp-dir ..
Копируем несколько каталогов с их содержимым в каталог all_dir
cp -r dir1 dir2 dir3 all_dir/
mv (move) — перемещает/переименовывает файлы и папки
Перемещаем файл File в папку diR:
mv File diR/
Перемещаем несколько файлов в папку Dir_OnE
mv file1 File4 fiLE Dir_OnE/
Перемещаем несколько папков в папку dirS
mv dir1 dir2 di3 dir4 dirS/
Переименовываем файлы и папки
mv file new_file_name
В это примере мы переименовали файл file на new_file_name. Также это работает и с папками. Обратите внимание что по умолчанию как и команда cp, mv перезаписывает файлы и папки если таковые уже существуют.
Некоторые опции команды mv
-f, --force переписывать существующие файлы не спрашивая -i, --interactive спрашивать перед тем как переписывать -v, --verbose пояснять производимые действия
clear — очищает терминал
head — выводит первые строки файла
Иногда нету желания открывать файл через редактор или less, тут на помощь приходит команда head, с помощью которой мы можем просматривать только определённую часть файла.
По умолчанию команда выводит первые 10 строк указаного файла
head termux-set
Однако это значение можно изменить используя опцию -n
head -n 14 termux-set
tail — выводит последние строки файла
Команда tail имеет схожий функционал с head, но выводит последние строки, по умолчанию тоже 10
tail termux-set
Однако как и с командой head при опции -n можно указать своё число желаемых выводимых строк
tail -n 54 termux-set
exit — выходит из текущей сессии
Используется когда нужно выйти из сессии, иной оболочки, виртуальной среды и т.п
Справка о пакетах
В Linux пакеты = программное обеспечение. Пакет обычно содержит полный комплект файлов, необходимых для реализации определённого набора команд или возможностей. Для управления пакетами в Termux есть четыре основных пакетных менеджера: apt, apt-get, pkg и dpkg. APT был реализован, чтобы упростить работу с менеджером пакетов и объединить несколько команд в одну. Функционал apt-get был переработан, таким образом, чтобы правильно работать в apt. PKG всего лишь обёртка над APT, я бы не стал его использовать из-за его медлительности.
Далее стоит обновить предустановленные пакеты. Для этого по порядку вводим две команды, по ходу выполнения которых со всем соглашаемся, вводя Y:
apt update
apt upgrade
Первой командой мы проверяем список установленных пакетов и ищем те,
которые можно обновить, а второй обновляем их. По этой причине команды
нужно писать именно в такой последовательности.
apt install — установка пакета/пакетов
apt remove — удаление пакета/пакетов
apt show — отображение информации о пакете/пакетах
apt reinstall — переустановка пакета/пакетов
Пока что нам потребуются только два пакета:
apt install proot nano
Эмуляция клавиатуры
Использование клавиш типа Alt, Ctrl, Esc необходимо для работы с терминалом. Обычные сенсорные клавиатуры подобных клавиш не поддерживают. Поэтому Termux использует кнопку уменьшения громкости для эмуляции клавиши Ctrl. Например, зажимая кнопку Громкость вниз + L на сенсорной клавиатуре отправляет тот же ввод, что и нажатие Ctrl + L на аппаратной клавиатуре. Результат использования Ctrl в сочетании с клавишей зависит от того, какая программа используется, но для многих инструментов командной строки работают следующие сочетания клавиш:
- Ctrl+A → Переместить курсор в начало строки
- Ctrl+E → Переместить курсор в конец строки
- Ctrl+K → Удаляет от курсора до начала строки
- Ctrl+U → Удаляет от начала строки до курсора
- Ctrl+L → Очищает терминал
- Ctrl+D → Выходит из сессии, аналог команды exit
- Ctrl+Alt+C → Открывает новую сессию (работает только с Hacker’s Keyboard)
- Ctrl+C → Прерывает (завершает) текущий процесс
- Ctrl+Z → Усыпляет (приостанавливает) текущий процесс, затем можно вывести команду из сна командой fg
Клавиша увеличения громкости также служит специальной клавишей для получения определенного ввода:
- Volume Up+E → Escape
- Volume Up+T → Tab
- Volume Up+1 → F1 (Volume Up+2 → F2, и так далее)
- Volume Up+0 → F10
- Volume Up+B → Alt+B, перемещает курсор в начало слова
- Volume Up+F → Alt+F, перемещает курсов в конец слова
- Volume Up+X → Alt+X
- Volume Up+W → Стрелка вверх
- Volume Up+A → Стрелка влево
- Volume Up+S → Стрелка вниз
- Volume Up+D → Стрелка вправо
- Volume Up+L → | (символ трубы)
- Volume Up+H → ~ (символ тильды)
- Volume Up+U → _ (символ нижнего подчёркивания)
- Volume Up+P → Page Up
- Volume Up+N → Page Down
- Volume Up+. → Ctrl+ (SIGQUIT)
- Volume Up+V → Отобразить громокость
- Volume Up+Q → Отобразить/скрыть панель
- Volume Up+K → Тоже самое
Первичная настройка
termux-chroot
Сперва сделаем так, чтобы при запуске Termux’а мы попадали в классическую структуру файловой системы Linux. Для этого нам необходимо добавить эти строки в файл bash.bashrc который находится в каталоге ~/../usr/etc/
nano ~/../usr/etc/bash.bashrc
if [ -z "$TERMUX_CHROOT" ]; then export TERMUX_CHROOT=1 exec termux-chroot fi
Сохраняем «Ctrl + O»
Выходим из редактора «Ctrl + X»
После сохранения файла перезапустите Termux, и проверьте вывод команды pwd и содержимое корневой директории / командой ls /
Каждый каталог имеет своё предназначение, так
/ - корневой каталог, содержащий всю файловую иерархию /bin - содержит основные утилиты (cd, ls, pwd и т.д.) /data - содержит установленные приложения, личные настройки юзера /dev - содержит основные файлы устройств /etc - содержит конфигурационные файлы /home - домашний каталог, содержит файлы и папки пользователя /lib - библиотеки, необходимые для работы программ из /bin, /sbin /proc - состояние ядра Android и запущенных процессов /root - домашний каталог пользователя root /sbin - программы для администрирования и настройки системы /share - архитектурно-независимые общие данные /storage - файлы и папки пользователя Android /system - системные папки и файлы для функционирования Android /tmp - временные файлы и папки /usr - Вторичная иерархия для данных пользователя /var - изменяемые файлы: регистрации, спулеры, временные почтовые /vendor - информация об устройствах, драйверах, свойствах ядра
Для чего нужна эта настройка? Во-первых это удобно, теперь команды для взаимодействия с содержимым будет начинаться так (пример)
nano /etc/bash.bashrc
nano ../usr/etc/bash.bashrc
Во-вторых для некоторых модулей при установке необходимы стандартные пути папок обычно присущи какому-либо дистрибутиву Linux, не Termux, но эта настройка решает проблему.
Панель дополнительных клавиш
Давайте настроим внешний вид дабы повысить удобство для нашей дальнейшей работы, начнём с панели дополнительных клавиш.
Если вы используете специальную клавиатуру и вам не нужна эта панель, тогда зажмите кнопку повышения громкости и одновременно нажмите на клавиатуре Q или K. Также можно свайпнуть слева направо и зажать надпись KEYBOARD.
После обновления Termux v0.66 строка дополнительных клавишей стала настраиваемой через файл «~/.termux/termux.properties«. Проверим есть ли у нас эта скрытая папка и файл в ней.
ls -la
У меня нету, чтож.. давайте создадим
mkdir .termux
touch .termux/termux.properties
Теперь отредактируем файл настройки
nano .termux/termux.properties
Чтобы вернуть двухстрочную панель, какой она была до обновления 0.66, копируем следующий текст, и вставляем его в файл
extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]
Дополнительные клавиши также могут быть распределены по нескольким строкам, если это необходимо, путем «экранирования от обратной косой черты» перевода строки в конце каждой строки, таким образом:
extra-keys = [ ['ESC','|','/','HOME','UP','END','PGUP','DEL'], ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN','BKSP'] ]
Это не все возможные дополнительные клавиши, полный список таков:
CTRL ALT FN ESC TAB HOME END PGUP PGDN INS DEL BKSP UP LEFT RIGHT DOWN ENTER BACKSLASH QUOTE APOSTROPHE F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12
Всё что приглянулось, вы можете добавить к себе на панель, тем самым сделав третью строку клавиш, или заменив существующие подменяя в файле конфигурации значения.
После сохранения файла необходимо перезагрузить настройки Termux’а выполнив команду
termux-reload-settings
Однако иногда после её выполнения панель может отображаться некорректно. Решается путём перезапуска Termux.
motd — (message of the day) файл который содержит «сообщение дня».
Теперь, когда мы добавили termux-chroot в автоматический запуск, путь к файлу значительно сократился, и сейчас чтобы получить к нему доступ нам не придётся прописывать «nano ~/../usr/etc/motd«, команда будет выглядеть так
nano /etc/motd
Этот текст отображается при входе в Termux, и как вы уже наверное догадались, его можно изменить. Если вы не хотите чтобы это приветствие выводилось каждый раз как вы запускаете Termux, то сотрите его, или удалите этот файл. Не забудьте сохранить изменения и проверить их открыв новую сессию.
Доступ к общему и внешнему хранилищу
В Termux есть три основных типа хранилищ:
- Личное хранилище приложения: файлы, помещенные в $HOME, доступные изнутри Termux (или при явном выборе, например, при прикреплении файла к почте).
- Общее внутреннее хранилище: хранилище на устройстве доступно для всех приложений. В Android 6.0 для этого требуется, чтобы пользователь предоставил доступ к Termux для доступа к нему.
- Внешнее хранилище: Хранение на внешних SD-картах. Каждое приложение имеет личную папку на внешней SD-карте, и для обмена между ними необходимо использовать специальный API.
Для доступа к общему и внешнему хранилищу вам нужно запустить
termux-setup-storage
Затем вам будет предложено «Разрешить Termux доступ к фотографиям, мультимедиа и файлам на вашем устройстве», на что мы должны дать согласие. При выполнении вышеприведённой команды создаётся директория storage в нашем домашнем каталоге, а также личная папка приложения на внешнем хранилище (если внешнее хранилище существует).
Содержимое созданной папки storage является символическими ссылками на разные папки хранения:
- Общее хранилище между всеми приложениями.
~/storage/shared
- Стандартный каталог для загрузок.
~/storage/downloads
- Хранилище для фотографий и видео с вашем камеры.
~/storage/dcim
- Стандартный каталог, в котором размещаются картинки, доступные пользователю.
~/storage/pictures
- Стандартный каталог, в который помещаются любые аудиофайлы, которые должны быть в обычном списке музыки для пользователя.
~/storage/music
- Стандартный каталог для размещения фильмов, доступных пользователю.
~/storage/movies
- Ссылка на личную папку Termux на внешнем хранилище (только если доступно внешнее хранилище).
~/storage/external
Спасибо за прочтение. Возникли вопросы? Есть желание что-то добавить/подправить?
Создатель чата и админ канала @reposit0r
Создатель канала и зам. главы чата @Enleann