Терминальные команды актуальны для всех ОС, построенных на базе 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/