Спеціальні коди для андроїд. Команди терміналу андроїд

Щоб виконувати переважна більшість команд в терміналі Android, потрібно мати права суперкористувача. Через це прийнято вважати, що емулятор терміналу, встановлений на пристрої без root-прав, майже марний. Частково можна з цим погодитися, якщо розглядати простий емулятор, а не Terminal IDE, в якому змогли реалізувати свою внутрішню систему  з vim і mc в комплекті.

Команди емулятора терміналу Android

У цьому додатку root-правами володіти необов'язково, хоча і корисно. Але ця стаття не про нього, а про типові командах емулятора терміналу, якими можна користуватися на Android-пристроях без прав суперкористувача.

Всі наведені нижче команди протестовані на Android Terminal  Emulator, Огляд якого є на сайті. Використовувався інтерпретатор команд sh.

Операції з файлами і каталогами

команда призначення приклад
cd або cd ../ Переходимо до вказаний каталог / Переходимо в каталог на рівень вище cd sdcard
ls або ls -a Переглядаємо список файлів і каталогів в поточному каталозі / Те ж, але з прихованими файлами ls
pwd Виводимо назву каталогу, в якому перебуваємо pwd
mkdir створюємо каталог mkdir test
rm -r видаляємо каталог rm -r test
touch Створюємо файл (порожній) touch proba
rm Видаляємо будь-який файл rm proba
mv перейменовуємо файл mv proba test
cat Виводимо вміст текстового файлу cat test
tac Виводимо вміст текстового файлу, але починаючи з кінця документа tac test

Інформація про систему і залозі

команда призначення приклад
  uptime   Дізнаємося час роботи пристрою без перезавантаження   uptime
  ps   Виводимо список всіх запущених процесів   ps
  df   Дізнаємося, скільки пам'яті зайнято і на якому носії   df
  date   Виводимо на екран системну дату і час   date
  service list   Знайомимося з активними сервісами   service list
  service   Команда для управління сервісами на пристрої
  svc   Дозволяє керувати енергоспоживанням і виходом в Інтернет (Wi-Fi, 3G)   Команда виводить список доступних операцій.
  ime   Допоможе вибрати метод введення і налаштувати його   Команда виводить список доступних операцій.
  pm list packages   Виводимо список встановлених на пристрої програм   pm list packages
  am start -n   Запустити програму   am start -n com.android.browser / .BrowserActivity

Зрозуміло, це не всі доступні команди, список буде доповнюватися.

Трохи практики для новачків: як використовувати команди емулятора терміналу Android

приклад 1

є текстовий документ public.txt  за адресою / Sdcard / Documents. Потрібно вивести вміст документа на екран.

Переходимо в потрібний каталог:

Cd sdcard / Documents

Виводимо вміст файлу:

Cat public.txt

приклад 2

Створено каталог texts  за адресою / Sdcard / Downloads  і створити в ньому порожній файл proba.txt.

Переходимо в необхідну директорію:

Cd sdcard / Downloads

Створюємо каталог:

Mkdir texts

Переходимо до створеного каталог:

Cd texts

Створюємо порожній файл

Touch proba.txt

Практичні приклади, які ми розібрали, є надто вже спрощеними і неправдоподібними. Погодьтеся, ніхто не буде займатися простими файловими операціями з чистою консолі, та ще на Android. Термінал може виконувати і набагато більш складні завдання. Але якщо згадати, що root-прав на пристрої немає, то і такі можливості похвальні.

У цій статті перераховані команди busybox  в системі Android, Розбиті на категорії. В кінці наведені особливості роботи з командним рядком і емуляторами терміналів в Linux. Більш детальна інформація про команди буде збиратися в статті Команди BusyBox в Android.

Отримання довідки про команди

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

Команди BusyBox для роботи з файлами і папками

cd  Зміна поточної папки. приклад: cd ~  або просто cd  завжди переходить в домашній каталог поточного користувача. cd / etc  - перехід в папку / etc
cp  Копіювання файлів і каталогів з одного в інші каталоги ls  Виводить список файлів і папок в порядку, зазначеному за допомогою опцій. На відміну від dir  підсвічує файли за типом. З параметром -l  виводить додаткову інформацію про файлах: права, власника, дату створення і т.д. ls  без параметрів виводить вміст поточної папки. ls / proc  виводить всі працюючі процеси (див. Віртуальна папка / proc в Android). 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

Команди BusyBox для роботи з правами доступу до файлів і папок

chown  Зміна власника. chgrp  Зміна групи власника. chmod  Зміна прав. приклад: сhmod -R 777 / var / www  дає доступ всім до всіх файлів і каталогів нижче / var / www.

Команди BusyBox для перегляду файлів

cat  Висновок файлу. приклад: cat / etc / fstab. tail  Висновок кінця файлу. Зручно при роботі з логами і великими файлами. приклад: tail / var / log / messages.

Програми для роботи з архівами

Програми для обробки вмісту файлів

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.

Команди BusyBox для роботи з ядром і модулями ядра (драйверами пристроїв)

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

Команди BusyBox для управління процесами:

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

Команди BusyBox для роботи з датою і часом:

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 і Kubuntu не створюють суперкористувача при установці. Увійти під користувачем root або використовувати su не вдасться. Права суперкористувача в цих дистрибутивах можна отримати командою sudo. Її необхідно писати перед кожною командою, для якої потрібні права суперкористувача. наприклад sudo nano / etc / fstab. Після першої команди sudo необхідно ввести пароль поточного  користувача. Використовувати sudo можуть користувачі, що складаються в групі sudo або admin (в залежності від дистрибутива Linux), що для першого користувача Ubuntu і Kubuntu виконується автоматично при установці дистрибутива.

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

Записані в файл команди виконуються командою sh имя_файла.

Стандартні команди в Linux відрізняються від команд DOS і Windows - зазвичай вони коротші. При роботі з командним рядком як зазвичай миготливий курсор позначає позицію введення тексту, командний рядок починається з поточного шляху і імені комп'ютера, за яким слід символ $,% або #. Останній означає, що команди будуть виконуватися від імені суперкористувача root. Символ ~ означає шлях до поточної домашньої директорії користувача.

Більшість команд в Linux, що не вимагають виведення інформації користувачеві, в разі успішного завершення взагалі нічого не виводять на екран. Виводяться тільки помилки і попередження в разі порушення нормального виконання команди. Тобто в Linux діє загальний принцип  "Мовчить, значить працює".

У будь-якому терміналі Linux стрілками вгору / вниз на клавіатурі можна гортати історію команд, яка зберігається між сеансами роботи і розрізняється для різних користувачів і хостів (в разі підключення з командного рядка  до іншого комп'ютера по ssh). Набране частково команда або ім'я файлу або каталогу в поточній директорії може бути автоматично дописано клавішею TAB. Якщо знайдено більше одного варіанту і однозначно продовжити команду по TAB неможливо, то виводяться всі підходящі варіанти.

При роботі в графічному середовищі зручні емулятори терміналу. Як правило вони підтримують закладки - кілька терміналів в одному вікні, підтримують колірні схеми. Найбільш поширені емулятори терміналу Gnome Terminal, Konsole, XFCE Terminal.

Name_device: / $
де
Name_device: / це ім'я вашого смартфона (планшета)

su  - команда su дає вам права Root, права адміністратора, тобто можна виконувати з пристроєм після цієї команди все (до цього немає), також вам необхідно отримати root на ваше android пристрій.

Примітка: До виконання команди Su ви з правами гостя.
Name_device: / $
Символ $ означає що Ви під гостем (тобто нічого не можете робити)
Name_device: / #
Символ # означає що ви Root
приклад
Name_device: / $ su
Name_device: / #

pwd  - показує поточний каталог, в якому ви перебуваєте.

ls  - команда показує що знаходиться в поточній директорії, а саме файли і директорії.
приклад
Name_device: / # ls
system
data
mnt
bin
і т.п...

ls -a  - команда показує що знаходиться в поточній директорії, а саме файли і директорії, але з прихованими файлами.
Примітка: Приховані файли, на відміну від Windows виглядають как.Name (точка і Файл)

clear  - очистити екран терміналу.

cd  - команда для переходу в якусь директорію (каталог).
приклад
Name_device: / # cd system
Name_device: / system #
Примітка: Директорія або Каталог означає Папка
cd ..  - перейти в директорію рівнем вище

mkdir  - команда створює директорію (папку).
приклад
Name_device: / sdcard # mkdir android
Примітка: Папка Name і name це дві різні папки

rm  - удаляетт файл.

rm -r  видаляє каталог (Примітка: якщо ви не вкажете параметр -r видасть помилку про неможливість видалити каталог).
приклад
Name_device: / sdcard # rm -r dom

rm -rf  - видаляє файл і не видає повідомлення, якщо такого файлу немає або немає прав на запис в нього rm -rf - видаляє папки не виказуючи повідомлень.

cp  - копіює файл.

cp -r  копіює директорію.

mv  - перейменовує файл.
приклад
Name_device: / sdcard # mv android ANDROID

touch  - створення порожнього файлу.

cat  - виводить текст знаходиться в файлі.
приклад
Name_device: / sdcard # cat skazka

tac  - виводить текст знаходиться в файлі в зворотному порядку (1 рядок остання, остання перша).
приклад
Name_device: / sdcard # tac skazka
Примітка: якщо побачите перед рядком стоїть знак # то параметр не обробляється

ps  - виводить Ваші поточні активні процеси.

mount  - монтує (Під'єднує).

umount  - размонтіруйте.

date  - виводить поточну дату і час.

cal  - виводить календар поточного місяця.

uptime  - показує скільки часу працює операційна система.

df  - показати інформацію про використання дисків.

free  - використовувана пам'ять і swap.

free -m  - повний обсяг, використаний обсяг і обсяг вільної пам'яті в Mb.

du  - який обсяг пам'яті ваші дані

halt  - швидке і коректне виключення системи

chmod  - виставлення прав доступу



Існує безліч інструментів для роботи з підключеним за допомогою USB-кабелю або Wi-Fi смартфоном. Особливо розвинені інструменти дозволяють переміщати файли, встановлювати і видаляти софт, переглядати контакти, робити скріншоти екрану і навіть відправляти СМС, проте жоден графічний інструмент не зрівняється з міццю, яку може дати консоль Android. У цій статті ми поговоримо про ADB (Android Debug Bridge) - стандартному інструменті для налагодження і роботи з консоллю Android з компа.

Описані в статті команди можна виконувати безпосередньо на пристрої, скачавши з маркету емулятор терміналу, але зручніше це робити, звичайно ж, з компа через adb.

Основи роботи з ADB

Для початку роботи з ADB його слід активувати на пристрої і встановити утиліту adb і драйвери на комп. Перше завдання виконується за допомогою включення «Налагодження по USB» в пункті налаштувань «Для розробників» (якщо цей пункт відсутній, натисни сім раз на номер збірки в меню «Про телефоні»).

Для установки ADB на комп качаємо Adb Kit і розпаковуємо в будь-яку папку (рекомендую використовувати назви папок без російських символів). Також завантажуємо і встановлюємо драйвери ADB.

Працювати з adb потрібно з командного рядка. Натискаємо Win + R і вводимо cmd, далі переходимо в папку, в якій лежить adb. Для моєї папки команда буде наступною:

Cd \\ android

Щоб не проробляти всі ці маніпуляції кожен раз, можна додати потрібну папку  в змінну Path. Для цього необхідно зайти в «Панель управління -\u003e Система -\u003e Додаткові параметри системи -\u003e Змінні середовища», знайти змінну Path і додати в кінець рядка, через крапку з комою, шлях до папки з adb. Тепер після запуску консолі можна відразу вводити необхідні команди.

Перевіримо наше зв'язок між вашим телефоном за допомогою наступної команди (вона повинна вивести список підключених пристроїв):

Adb devices

З ADB можна працювати через Wi-Fi. Для цього потрібні права root  і додаток WiFi ADB. Запускаємо програму, тиснемо перемикач і під'єднують до смартфону за допомогою команди connect і показаного додатком IP-адреси:

INFO

  Скопіювати висновок консолі після виділення мишкою, а також вставити скопійоване команду або ім'я файлу в консоль можна правою кнопкою  миші. Чи включається у властивостях консолі.

установка програм

ADB можна використовувати для установки додатків без необхідності копіювати їх на смартфон. Досить виконати таку команду:

Adb install d: /downloads/імя_файла.apk

У команду також можна додати додаткові ключі. корисними будуть - перевстановити додаток зі збереженням даних і -d  - встановити версію менше поточної.

Програми можна і видаляти, але для цього потрібно знати назву пакета (як дізнатися, розповім трохи пізніше). На прикладі гри Angry Birds Seasons команда буде виглядати так:

Adb uninstall com.rovio.angrybirdsseasons

бекап додатків

В Android є вбудовані функції бекапа, які також можна запустити за допомогою командного рядка. Для цього використовується команда adb backup і набір опцій:

Adb backup [опції]<приложения>

  • -f  вказує ім'я створюваного файлу і його розташування на компі. При відсутності ключа буде створений файл backup.ab в поточному каталозі;
  • -apk | -noapk  вказує, чи включати в бекап тільки дані додатки або сам.apk теж (за замовчуванням не включає);
  • -obb | -noobb  вказує, чи включати в бекап расшіренія.obb для додатків (за замовчуванням не включає);
  • -shared | -noshared  вказує, чи включати в бекап вміст програми на SD-карті (за замовчуванням не включає);
  • -all  вказує на необхідність бекапа всіх встановлених додатків;
  • -system | -nosystem  вказує, чи включати в бекап системні програми  (За замовчуванням включає);
  •   - перелік пакетів для бекапа.

Якщо ми хочемо створити бекап всіх несистемних прог, включаючи самі.apk, в певне місце, то команда буде виглядати так:

Adb backup -f c: \\ android \\ backup.ab -apk -all -nosystem

Після введення необхідно підтвердити початок виконання бекапа на самому пристрої. Для відновлення отриманого бекапа потрібно виконати відповідну команду:

Adb restore c: \\ android \\ backup.ab

Консоль в консолі

Поряд зі згаданою консоллю, яка є DOS-консоллю під Windows, в Android існує і своя. Вона викликається через adb shell  і являє собою по суті стандартну Linux-консоль, але з неповним набором команд, розширити який можна, встановивши з маркету BusyBox. Використовувати цю консоль можна двома способами. В інтерактивному режимі вона запускається командою

Adb shell

В консолі з'являється знак $ (далі по тексту цей знак буде означати необхідність введення попередньої команди adb shell), і після цього можна вводити серію команд, отримуючи після кожної відгук. Другий спосіб - якщо необхідно ввести тільки одну команду, можна писати її поспіль за adb shell.

В короби працюють стандартні команди для копіювання, переміщення і видалення файлів: cp, mv  і rm. Можна міняти каталоги ( cd) І дивитися їх вміст ( ls). Крім стандартних Linux-команд, про які можна дізнатися з будь-якого довідника, в Android є кілька своїх спеціалізованих інструментів, але, щоб використовувати деякі з них, доведеться отримати на смартфоні права root, а після запуску консолі виконувати команду su:

Adb shell su

Це потрібно робити, якщо у відповідь на будь-яку команду ти бачиш рядок, схожу на «access denied» або «are you root?». У разі успіху знак $ зміниться на #.





створення скриншота

Виконується одним рядком:

Adb shell screencap /sdcard/screen.png

Після цього картинку потрібно висмикнути з пристрою командою adb pull:

Adb pull /sdcard/screen.png

У recovery скріншот можна зробити за допомогою такої команди:

Adb pull / dev / graphics / fb0

Потім необхідно перетворити файл fb0 в нормальне зображення за допомогою FFmpeg, який потрібно завантажити і покласти в папку з adb. Розширення необхідно ставити свого пристрою:

Ffmpeg -f rawvideo -pix_fmt rgb32 -s 1080x1920 -i fb0 fb0.png

Запис відео, що відбувається на екрані пристрою

   adb shell screenrecord --size 1280x720 --bit-rate 6000000 --time-limit 20 --verbose /sdcard/video.mp4

Дана команда почне записувати відео з роздільною здатністю 1280 x 720 (а то й вказати, то буде використано нативное дозвіл екрану пристрою), з бітрейтом 6 Мбіт / с, довжиною 20 с (якщо не вказати, то буде виставлено максимальне значення 180 с), з показом логів в консолі. Записані відеоролики будуть знаходитися в / sdcard (файл video.mp4).

INFO

  Всі запущені з консолі і в adb shell  процеси, що займають певний час для виконання, можна перервати за допомогою комбінації Ctrl + C. Вийти з шелла і повернутися до виконання звичайних команд adb  - Ctrl + D.

управління додатками

Для управління додатками використовуються дві команди: pm  (Package manager) - менеджер пакетів і am  (Activity manager) - менеджер активностей. У даних команд є чимало ключів, які можна подивитися на порталі розробників. Зупинимося на деяких.

Для початку отримаємо список встановлених на пристрої додатків у вигляді назв пакетів, які стануть в нагоді пізніше:

Продовження статті є тільки передплатникам

Варіант 1. Оформи передплату на «Хакер», щоб читати всі статті на сайті

Підписка дозволить тобі протягом зазначеного терміну читати ВСЕ платні матеріали сайту, включаючи цю статтю. Ми приймаємо оплату банківськими картами, електронними грошима і перекладами з рахунків мобільних операторів.