вторник, 4 апреля 2017 г.

Команды терминала Android

Терминальные команды актуальны для всех ОС, построенных на базе Linux(Unix), в том числе и для Android. 
Чтобы в ОС Android можно было использовать нижеприведенные команды, нужно получить Root права, установить эмулятор терминала и приложение busybox (именно в этом приложении содержатся все нижеприведенные команды). 
Для того, чтобы вывести список всех поддерживаемых busybox'ом команд, нужно набрать в эмуляторе терминала команду busybox. Это и есть shell.


Получение справки о командах

man
    Описание команды или файла конфигурации. Синоним info. Описание листается стрелками, выход клавишей q.
    Пример: man fstab
apropos
    Поиск по описаниям man.
    Пример: apropos iso

Работа с файлами и папками

cd
Смена текущей папки. 
Пример: cd ~ или просто cd всегда переходит в домашний каталог текущего пользователя.
cd /etc - переход в папку /etc
cp
Копирование файлов и каталогов из одного в другие каталоги
ls
Выводит список файлов и папок в порядке, указанном с помощью опций. В отличие от dir подсвечивает файлы по типу. С параметром -l выводит дополнительную информацию о файлах: права, владельца, дату создания и т.д.
ls без параметров выводит содержимое текущей папки.
ls /proc выводит все работающие процессы
mv
Перемещение или переименование файлов. Если в качестве аргументов заданы имена двух файлов, то имя первого файла будет изменено на имя второго.
Пример: mv file1 file_1    -   переименовывает файл
    Если последний аргумент является именем существующего каталога, то mv перемещает все заданные файлы в этот каталог.
Пример: mv file ./dir/    -   перемещает 'file' в 'dir/file' относительно текущего каталога
rm
Удаление файла. С ключем -R удаляет в подкаталогах.
Пример: rm -R ~/killme
mkdir
Создание каталога.
pwd
Выводит текущий путь
rmdir
Удаление пустого каталога.
touch
Создание пустого файла.
Пример:  touch /home/primer - создает пустой файл /home/primer

Права доступа к файлам и папкам

chown
Смена владельца.
chgrp
Смена группы владельца.
chmod
Смена прав.
Пример: сhmod -R 777 /var/www дает доступ всем ко всем файлам и каталогам ниже /var/www.

Просмотр файлов

cat
Вывод файла.
Пример: cat /etc/fstab.
tail
Вывод конца файла. Удобно при работе с логами и большими файлами.
Пример: tail /var/log/messages.

Утилиты для работы с архивами

ar, bzip2, dpkg, gzip, rpm, tar, zip

Утилиты для обработки содержимого файлов

awk, ed (текстовый редактор), patch, sed, vi (текстовый редактор).

Редактирование файлов

nano и pico — наиболее вменяемые редакторы, работающие в текстовом режиме прямо в терминале. Чтоб изменить файл /etc/fstab, например, надо набрать nano /etc/fstab. Выход из редактора CTRL+X. Редакторы vi и vim предназначены для работы слепым десятипальцевым методом.

Команды монтирования и отмонтирования дисков

mount [параметры] устройство путь 
Монтирование устройства.
Пример: mount /dev/sda1 /mnt/Disk1.
umount устройство/путь 
Размонтирование.
Пример: umount /mnt/Disk1.
eject 
Размонтирование и выброс CDROM.

Работа с ядром и модулями ядра (драйверами устройств)

lsmod
Показывает список всех модулей, загруженных в ядро и зависимости между ними.
insmod
rmmod
modprobe имя-модуля [параметры]
Установка модуля, настройка его автозагрузки. Результат можно посмотреть в системном логе. Модули хранятся в /lib/modules в файлах с расширением .ko («kernel object»)
Пример: modprobe radio-aztech io=0x350.
modinfo имя-модуля
Информация о модуле, в том числе и список параметров.
modconf
Удобная программа для просмотра всех модулей по категориям, включения и отключения модулей. По умолчанию как правило не установлена, в Debian, Ubuntu и Kubuntu устанавливается с помощью одноименного пакейджа командой apt-get install modconf.

Управление процессами:

ps – выводит на экран информацию о текущих активных процессах.
top – выводит на экран информацию об активных процессах, а также о системных ресурсах.
kill pid – убивает процесс, id которого равно указанному значению processed.
killall process – убивает все активные процессы с именем process.
bg – выводит на экран перечень остановленных и фоновых задач; продолжает выполнение остановленной задачи в фоне.
fg – выводит на передний план последние активные задачи.
fg n – выносит задачу с указанным именем (в данном случае – n) на передний план.

Работа с датой и временем:

adjtimex - позволяет изменять в ядре переменные времени с целью корекции скорости хода системных часов
date - настройка системных часов
hwclock - настройка аппаратных часов

Утилиты работы с системными учетными записями

adduser, addgroup, deluser, delgroup, login, passwd, su

Сетевые команды

arp, arping, dnsd, ftpget, ftpput, httpd (с поддержкой авторизации, CGI), ifconfig, inetd, netstat, nslookup, ping/ping6, route, telnetd, tftp, traceroute, udhcpd, wget.
ifconfig - настройка сетевого интерфейса
wget - скачивание файла по HTTP/FTP.

Другие полезные консольные программы и команды Linux

hdparm
Управление жесткими дисками и приводами компакт-дисков.
Пример: hdparm -E8 /dev/cdrom снижение скорости вращения CDROM.
watch
Периодическое выполнение команды.
Пример: watch -n 60 hdparm -E8 /dev/cdrom раз в минуту тормозить диск чтобы привод не разгонял его и не шумел во время просмотра DVD.
pppconfig
Простая и надёжная программа настройки Dial-Up выхода в Интернет по модему. pon, poff и plog — команды установления, разрыва и просмотра лога соединения соответственно.
pppoeconf
Аналогично, настройка выхода в Интернет через ADSL-модем.
whoami
Позволяет узнать имя пользователя, если забыл
iftop
команда для просмотра сетевых подключений с консоли
netstat
Команда показывает содержимое различных структур данных, связанных с сетью, в различных форматах в зависимости от указанных опций.
iwconfig
вывод информации о wi-fi сетевых интерфейсах
iwlist scan
вывод информации о точках доступа в радиусе действия
free
свободная память

Суперпользователь root

Обладает неограниченными правами. Использование прав суперпользователя необходимо при установке драйверов, смене важных параметров Linux. Пароль пользователя root обычно запрашивается при установке дистрибутива. Тогда сразу после установки в систему можно войти с указанным паролем и логином root.
Если вход в систему выполнен под обычным пользователем, то получить права суперпользователя в конкретном экземпляре терминала можно командой su, после ввода которой необходимо ввести пароль суперпользователя. Вернуться к сессии обычного пользователя можно командой exit.
Однако такие дистрибутивы как Ubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo. Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab. После первой команды sudo необходимо ввести пароль текущего пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu выполняется автоматически при установке дистрибутива.

Особенности работы терминалов Linux

Записанные в файл команды выполняются командой sh имя_файла.
Стандартные команды в Linux отличаются от команд DOS и Windows -- обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ ~ означает путь к текущей домашней директории пользователя.
Большинство команд в Linux, не требующих вывода информации пользователю, в случае успешного завершения вообще ничего не выводят на экран. Выводятся только ошибки и предупреждения в случае нарушения нормального выполнения команды. Т.е. в Linux действует общий принцип "молчит, значит работает". 
В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов (в случае подключения из командной строки к другому компьютеру по ssh). Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.
При работе в графической среде удобны эмуляторы терминала. Как правило они поддерживают закладки -- несколько терминалов в одном окне, поддерживают цветовые схемы.



Shell Скриптинг



Последовательность комманд может быть оформлена в виде исполняемого файла. Это скрипт.
Первая строка скрипта описывает стандартный путь переменных
#!/system/bin/sh


Операторы

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

&& — оператор выполнения команды только после успешного выполнения предыдущей;

|| — оператор выполнения команды только после ошибочного выполнения предыдущей.


Кодом успешного завершения является 0, а ошибочного — не ноль (зависит от типа ошибки). Не нужно путать с обычными языками программирования, когда 1 является аналогом true, а 0 – false.



Автозапуск

Можно воспользоваться таскером или попытаться запустить скрипт из  /system/etc/init.d/
Сегодня почти все сколько-нибудь известные кастомные прошивки умеют стартовать скрипты из каталога /system/etc/init.d/

Комментариев нет:

Отправить комментарий