Спеціальні коди для андроїд. Команди терміналу андроїд
Щоб виконувати переважна більшість команд в терміналі 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 - перехід в папку / etccp Копіювання файлів і каталогів з одного в інші каталоги 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. Оформи передплату на «Хакер», щоб читати всі статті на сайті
Підписка дозволить тобі протягом зазначеного терміну читати ВСЕ платні матеріали сайту, включаючи цю статтю. Ми приймаємо оплату банківськими картами, електронними грошима і перекладами з рахунків мобільних операторів.