Skocz do zawartości

Robimy fajne filmy o Androidzie na YouTube! Daj nam suba!

maxprzemo

adb shell cz.1 (podstawy)

Polecane posty

maxprzemo   
Otrzymana reputacja: 1027
maxprzemo

Witam. W tym tutorialu chciałbym przedstawić podstawowe komendy powłoki systemowej shell. Jak się poruszać po systemie android oraz jak się z nim komunikować poprzez interfejs adb shell.

Czym jest shell :

Cytuj

Powłoka systemowa (ang. shell) – program komputerowy pełniący rolę pośrednika pomiędzy systemem operacyjnym lub aplikacjami a użytkownikiem, przyjmując jego polecenia i „wyprowadzając” wyniki działania programów.

 

ADB (Android Debug Bridge) jest wymagane do poprawnej komunikacji komputer - telefon bez tego nie uda nam się połączyć telefonu z komputerem. Ale nie o tym ten poradnik dlatego zainteresowanych odsyłam do tego wątku [Poradnik] Jak zainstalować i korzystać z ADB (Android Debug Bridge) w nim się dowiesz jak zainstalować poprawnie sterowniki ADB na komputerze.

 

Jeśli wszystko poprawnie zainstalowałeś to po uruchomieniu shell'a komendą

adb shell

Powinieneś zobaczyć mniej więcej taki widok w oknie terminala : 

Spoiler


Zrzut ekranu z 2016-12-25 13-19-33.png

 

Dlaczego mniej więcej? Bo shell@kiwi to w pierwszej części nazwa użytkownika (w tym wypadku shell) oraz nazwa hosta telefonu (w tym wypadku kiwi) i u ciebie w drugiej części będzie się na pewno różnić.

Ok jesteśmy zalogowani na telefonie jako shell ale gdzie właściwie jesteśmy? Do tego użyjemy pierwszej komendy :

 

pwd

 

pwd - (print name of current/working directory) Wypisanie nazwy bieżącego katalogu roboczego.

 

Spoiler

Zrzut ekranu z 2016-12-25 13-21-18.png


Znajdujemy się w głównym katalogu roboczym "/" (root) jest to najwyższy katalog systemu android i "wyżej" już się wyjść nie da. 

Zobaczmy co tam się znajduje:

ls

ls - (list directory contents) Wypisanie informacji o PLIKACH (domyślnie w katalogu bieżącym). 

 

Spoiler

Zrzut ekranu z 2016-12-25 13-21-35.png


Ta lista wielu osobom rozjaśni gdzie się znajdują. Widać tu katalogi /system, /data, /sdcard to właśnie tu w głównym katalogu "/" są zamontowane poszczególne partycje naszego telefonu. I tutaj będziemy za każdym razem domyślnie logowani po komendzie "adb shell".

Przejdźmy może do katalogu /system zrobimy to komendą :

cd /system

cd - (change the current working directory to a specific Folder) Zmiana bieżącego katalogu powłoki.

oraz wy listujmy zawarte tam pliki i katalogi komendą ls:

 

Spoiler

Zrzut ekranu z 2016-12-25 15-37-18.png

 

Wróćmy może jeszcze do komendy "cd /system" co się właściwie stało? Wywołaliśmy program "cd" a jako "parametr" podaliśmy mu katalog "/system".

Czyli wygląda to tak:

[program] [opcja]

Właśnie każdy program jak "cd", "ls" itd. posiada opcje ale nie da się tych opcji "zaptaszkować" w menu, bo te programy nie posiadają interfejsu graficznego. 

Dlatego stosuje się komendy z parametrem lub nawet z kilkoma parametrami. A oddzielamy je zwykłą pojedynczą  spacją.

Ktoś sprytny zada pytanie czy trzeba było przechodzić do katalogu system żeby wy listować tam pliki? Oczywiście że nie bo wystarczyła by komenda

ls /system

 

Spoiler

Zrzut ekranu z 2016-12-25 16-10-26.png


 

Wróćmy do komendy "cd". Wchodzimy do katalogu komendą 

cd /system


 

A jak z niego wychodzimy?

cd ..

Dwie kropki cofają nas o jeden katalog wyżej.

cd /

Wskazujemy główny katalog i tam zostaniemy przeniesieni

Możemy też przejść od razu dużo głębiej 

cd /system/app

i wrócić

cd ../..

albo przejść do katalogu wyżej i wejść do innego 

cd ../usr

Jeszcze jedna zasada. Jeśli w bieżącym katalogu jest katalog do którego chcemy się udać to nie trzeba prawego ukośnika.

Czyli będąc w głównym katalogu "/" wystarczą takie komendy

cd system/app
nie trzeba
cd /system/app

Jeśli podajemy adres katalogu i zaczynamy go od prawego ukośnika to zawsze musimy podać pełną ścieżkę od katalogu głównego "/" a nie od tego w którym się aktualnie znajdujemy.

Jeśli nie wiemy gdzie aktualnie się znajdujemy wystarczy komenda "pwd".

Trochę treningu i poruszanie się po katalogach będzie szybkie i intuicyjne.

 

Przejdźmy dalej.

Stwórzmy plik.

Na początek przejdź do katalogu sdcard

cd /sdcard

Pusty plik stworzymy komendą 

touch Plik.txt

lub

> Plik.txt

 

 

Spoiler

Zrzut ekranu z 2016-12-25 17-09-14.png


 

 

 Poznajmy jeszcze jedną komendę:

echo

echo - (display a line of text) Wyświetla wiersz tekstu

 

 

Spoiler

Zrzut ekranu z 2016-12-25 17-07-47.png

 


Jak widać komenda "echo" wyświetla nam tekst jaki podamy w cudzysłowiu. Spróbujmy ten tekst przekierować do pliku:

echo "Witaj Świecie" > Plik.txt
Spoiler

 

Spoiler

Zrzut ekranu z 2016-12-25 17-23-20.png

 

 

Znak większości ">" należy tu traktować jako strzałkę która przekierowuje dane z komendy echo do pliku.

Ale na słowo nie musicie mi wierzyć. Sprawdźmy jaka jest zawartość Plik.txt następną komendą:

cat

cat - (concatenate files and print on the standard output) PLIK lub połączenie PLIKÓW wysyłane na standardowe wyjście.

 

cat Plik.txt

 

Spoiler

Zrzut ekranu z 2016-12-25 17-32-23.png

 

 

Jak widać zawartość Plik.txt to "Witaj Świecie" czyli pełny sukces.

Teraz trochę o tych przekierowaniach.

Komenda

echo "Witaj Świecie" > Plik.txt

Stworzy nowy plik. Jeśli plik o tej nazwie istniał zostanie on skasowany a w jego miejsce powstanie nowy. Jeśli chcemy dopisać dane do istniejącego pliku trzeba użyć komendy

echo "Witaj Świecie" >> Plik.txt

Podwójny znak większości ">>" nie skasuje istniejącego pliku tylko dopisze dane w nowej linii.

I kolejne przekierowanie 

ls /system > Plik.txt

Dane z komendy "ls /system" możemy zapisać do pliku

 

Spoiler

Zrzut ekranu z 2016-12-25 17-49-24.png


W ten sposób można przekierować dane do pliku z wielu komend w shell'u.

Myślę że ta ilość wiedzy do opanowania wystarczy na cz.1 (podstawy) w cz.2 będzie już trudniej ;)

Pozdrawiam i zachęcam do dyskusji.

 

  • Lubię to! 13

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach
Lysolus   
Otrzymana reputacja: 231
Lysolus

@maxprzemo Moim zdaniem w podstawach powinna się także znaleźć instrukcja jak przenosić, kopiować i usuwać pliki. Tak czy siak tutek dobry :)

  • Lubię to! 1

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach

Żeby dodać komentarz, musisz założyć konto lub zalogować się

Tylko zarejestrowani użytkownicy mogą dodawać komentarze

Dodaj konto

Załóż nowe konto. To bardzo proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się teraz


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×