adb shell常用命令

来源:https://www.cnblogs.com/hyf20131113/archive/2019/11/20/11898413.html
-Advertisement-
Play Games

一、文件操作相關命令 1.文件操作命令 子命令參數說明 cd 無 進入目錄 cat [-beflnstuv] [-B bsize] [file...] 查看文件內容-n:顯示行號-b:顯示行號,但會忽略空行-s:顯示行號,連續空行標記為一行 df 無 列出分區列表 du [-H] [-L] [-P] ...


一、文件操作相關命令

1.文件操作命令

子命令參數說明
cd 進入目錄
cat [-beflnstuv] [-B bsize] [file...] 查看文件內容
-n:顯示行號
-b:顯示行號,但會忽略空行
-s:顯示行號,連續空行標記為一行
df 列出分區列表
du [-H] [-L] [-P] [-a] [-d depth] [-s] [-cghikmnrx] [file...] 查詢文件或目錄的磁碟使用空間
ls [-a] [-i] [-l] [-n] [-s] 列出目錄內容
-a:列出所有文件,包括隱藏文件
-i:輸出文件的i節點的索引信息
-l列出文件的詳細信息
-n:用數字的GUID代替名稱
-s:輸出該文件的大小
grep [-abcDEFGHhliJLlmnOoPqRSsUVvwxZz]
[-A num]
[-B num]
[-C[num]
[-e pattern]
[-f file]
[--binary-files=value]
[--color=when]
[--context=num]
[--directories=action]
[--lable]
[--line-buffered]
[pattern]                             [file...]
指定文件中搜索特定的內容,並將含有這些內容的行標準輸出
mkdir -p,-parents 創建目錄
-p,--parents:遞歸創建目錄
touch touch [-alm] [-t YYYYMMDD [.HHMMSS]] < file > 創建文件
rm rm [-f\|-i][-dPRrvWx]file 刪除文件
-f:強制刪除文件,系統不提示
-i:互動式刪除,刪除前提示
-d:改變硬連接數據刪成0,刪除該文件
-r:強制刪除文件夾包括裡面的文件
mv mv[-fiv]source target 移動文件(相當於剪切)
-f:強制移動,若文件已經存在目標則直接覆蓋
-i:若目標文件已經存在,會詢問是否覆蓋
rmdir rmdir[-p] directory 刪除目錄
-p:遞歸刪除目錄,只能刪除空目錄
dd dd[operand...]
dd if =source of=targe
複製文件

2.文件許可權命令與其他文件命令

子命令參數說明
chomd chomd[OPTION]< MODE > < FILE > 文件許可權修改
-R:遞歸改變文件和目錄
-h:不遵循符號連接
chown chown[-R[-H\|-L\|-P]] [-fhv]
owner : group | owner | : group file
更改某個文件或目錄的屬主和屬組
md5 md5 file... 查詢文件的MD5值
mount mount [-r] [-w] [-o options] [-t type] device directory 掛載設備信息
umount umount < path > 卸載分區掛載
cmp cmp[-b][-l][-n count] file1 file2 要指出兩個文件是否存在差異
ln ln [-fhinsv] file1 file2
ln [-fhinsv] file...directory
用來在文件之間創建連接,創建連接後兩個文件中任意一個文件改變文件內容另一文件都會相應進行同步改變

3.命令使用實例:


//進入設備
adb shell
//進入指定目錄"/data/local/tmp"
cd /data/local/tmp
//查看目錄
ls
//進入根目錄
cd /
//進入指定目錄"/data/local/tmp"
cd /data/local/tmp
//查看分區列表
df
//在當前目錄下創建名為1的.txt文件(再創建個兩個,命名為2和3,方便後面繼續學習使用)
touch 1.txt
//列出所有文件(包括隱藏文件)的詳細信息,此時可以查看剛剛的1.txt是否創建成功
ls -al
//在當前目錄下創建一個名為1的文件夾
mkdir1
//列出所有文件(包括隱藏文件)的詳細信息,此時可以查看剛剛的目錄文件夾是否創建成功
ls -al
//在當前目錄下創建遞歸目錄,2下麵包含3,3下麵包含4
mkdir -p 2/3/4
//回到上一級目錄,連續操作兩次讓他回到cd /data/local/tmp目錄下
cd ..
//將1.txt文件移動到1目錄中(剪切效果)
mv 1.txt 1
//進入1目錄cd 1
//查看1.txt是否移動進去了
ls
//返回上一級目錄
cd ..
//將當前目錄下的2.txt文件複製到名為2的目錄下並命名為2.txt
dd if=2.txtof=2/22.txt
//進入到目錄2中
cd 2
//查看上個文件操作是否操作成功
ls
//回到上一級目錄
cd ..
//進入1目錄
cd 1
//刪除當前目錄下的1.txt文件
rm 1.txt
//回到上一級目
cd ..
//刪除名為1的目錄
rmdir 1
//查看刪除操作是否刪除成功
ls
//查看文件許可權信息
la -al
//修改2.txt的文件許可權為最高
chomd 777 2.txt
//查看剛剛修改的文件許可權信息是否成功
la -al
//查看2.txt文件的md5
md5 2.txt
//查看掛載設備信息
mount
//將system分區變成可讀可寫"mount -o [option] devices directory"
mount -o remount,rw /dev/block/sda6 /system
//查看剛剛的修改是否成功
mount
//查看分區列表
df
//卸載掉"/storage/sdcard"分區掛載
umount /storage/sdcard
//查看剛剛的卸載是否成功
df
//輸入點內容到2.txt中
echo 333 >>2.txt
echo 222 >>2.txt
//查看2.txt文件
cat 2.txt
//指出兩個文件是否存在差異
cmp 2.txt 3.txt
//複製2.txt文件夾並粘貼到當前目錄中,命名為22.txt
dd if=2.txt of=22.txt
//指出兩個文件是否存在差異
cmp 2.txt 3.txt
cd
//在2目錄下創建一個名為2o.txt的2的硬連接文件(因為2的目錄下已經存在2.txt文件,不然使用"ln 2.txt 2"命令就可以了)
ln 2.txt 2/2o.txt
//進入到2目錄
cd 2
//查看2o.txt文件內容
cat 2o.txt
//在2o.txt文件中加入內容
echo >>2o.txt
//返回上一級目錄
cd ..
//查看連接文件2.txt的文件內容是否與2o.txt一致
cat 2.txt

二、信息查詢相關命令

1.log 相關命令

子命令參數說明
dumpstate - 系統狀態信息(需要root許可權)
包括手機當前的記憶體信息、CPU信息、logcat緩存,kenel緩存等等
adb bugreport包含這個信息
bugreport - 裡面含有dmesg,dumpstate和dumpsysy
demsg - kenel的log
logcat 參數較多 列印日誌緩衝區日誌
dumpsys meminfo [processName]
activity [processName]
獲取系統各項服務信息

2.獲取系統信息相關命令

子命令參數說明
getevent - 獲取按鍵信息
getprop - 獲取系統屬性
setprop - 設置系統屬性(需要root許可權)
pm - 安裝包管理,查詢安裝包的各種信息
ps - 查看進程信息
top -m num 最大顯示條數
-n num 更新次數
-d num 兩者更新時間
-s col按哪列排序(cpu,vss,rss,thr)
-t顯示線程信息而不是進程
-h顯示幫助文檔
獲取CPU使用情況
procrank - 查詢各進行記憶體消耗情況(需要root許可權)
wm size 獲取屏幕解析度

3.命令使用實例


//輸出系統狀態信息至F:\test\dumpstate.txt,由於需要root許可權,所以沒root的過的手機輸出為空
adb shell dumptate >F:\test\dumpstate.txt
//輸出過去系統的狀態,log,一般操作過程中未抓取log的時候一旦出現問題就使用這個命令來查看
adb shell bugreport >F:\test\bugreport.txt
//輸出內核信息
adb shell dmesg
//輸出當前緩衝區日誌 並保存
adb shell logcat >F:\test\bugreport.txt
//輸出記憶體信息
adb shell dumpsys meminfo
//輸出當前CPU使用情況信息
adb shell dumpsys cpuinfo
//輸出當前activity使用情況信息
adb shell dumpsys activity
//相當於過濾,只找名為"mF"的activity使用情況信息
adb shell dumpsys activity | find "mF"
//獲取按鍵信息,在手機沒有按鍵 信息的情況下會先提示你每個設備的ID代表的設備信息,按鍵過程中會實時刷新
adb shell getevent
//獲取系統屬性
adb shell getprop
//查看pm幫助信息
adb shell pm
//查看手機內的安裝包列表
adb shell pm list packages
//查看當前手機進程信息
adb shell ps
//獲取cpu使用情況,只查看一次,不實時刷新
adb shell top -n 1
//獲取前十的cpu使用情況,只查看一次,不實時刷新
adb shell top -n 1 -m 10
//查詢各進行記憶體消耗情況
adb shell procrank
//詳細查詢某個包的記憶體使用情況
adb shell dumpsys meminfo packageName

三、操作手機相關命令

1.相關命令

子命令參數說明
bmgr [backup | restore | list | transport | run]
bmgr backup PACKAGE
bmgr restore
......
數據備份與還原
kill kill [-s signame | -signu | -signame]{job | pid | pgrp}...
kill -l [exit_status...]
結束進程
reboot 重啟手機
svc power 控制電源管理
data 控制數據連接
控制wifi管理
控制USB狀態
控制電源、網路、USB
wipe wipe system | data | all 擦除分區,恢復出廠設置
am am [subcommand] [options]
am start
......
antivyty管理器
用於開啟應用,廣播,服務等功能

2.命令使用實例


//查詢已安裝包名列表
adb shell pm list package
//對com.tencent.mm包使用monkey命令
adb shell monkey -p com.tencent.mm --throttle 200 50000
//查找monkey進程信息
adb shell ps | find "monkey"
//殺掉monkey進程,例子中的數字是monkey的PID進程號
adb shell kill 23770
//重啟手機
adb shell reboot
//打開svc幫助界面
adb shell svc
//查詢wifi操作幫助
adb shell svc wifi
//關閉wifi
adb shell svc wifi disable
//打開wifi
adb shell svc wifi enable
//擦除data,即恢復出廠設置
adb shell wipe data
//指定查詢"mF"的activity信息
adb shell dumpsys activity | find "mF"
//啟動指定activity
adb shell am start -n com.android.browser/.BrowserActivyty
//查看am命令的幫助信息
adb shell am

四、測試用途相關命令

1.測試信息相關命令

子命令參數說明
iftop iftop [-r repeats] [-d delay] 列出網路傳輸包情況
Monkey Monkey [options] count 執行Monkey命令
netstat - 顯示各種網路相關信息
ping ping [option] ipv4 網際網路包探測器,用於測試網路連接量的程式
ping6 ping6 [option] ipv6 網際網路包探測器,用於測試網路連接量的程式
screenrecord screenrecord [options] < filename > 屏幕錄像(只支持android4.4以上的設備)
screencap [-hp] [-d display-id] [FILENAME]
-p 文件保存路徑
屏幕截圖
uiautomator uiautomator [options] 執行uiautomator腳本
  • 命令使用實例:

//進入交互模式
adb shell
//列出網路傳輸包情況
iftop
//顯示各種網路相關信息
netstat
//實時查看網路連接量
ping www.baidu.com
//實時查看網路連接量
ping6 www.baidu.com
//屏幕錄像,保存路徑為/mnt/sdcard/1.mp4,需要註意的是屏幕錄像只支持android4.4以上的設備使用ctrl+c停止錄像
screenrecord /mnt/sdcard/1.mp4
//將sd卡路徑下的1.mp4導出到F盤(先退出交互模式)
adb pull /mnt/sdcard/1.mp4 f:\
//截圖
screencap /mnt/sdcard/1.png

2.輸入信息命令

1)input


作用:模擬硬體設備的輸入
格式:input []  [...]
參數:
test(Defalt;touchscreen)
keyevent [--longpress] ...(Default:keyboard)
tap (Default:touchscreen)
swipe [duration(ms)] (Default:touchscreen)
press (Default:trackball)
roll (Default:trackball)

2)命令使用實例


//進入交互模式
adb shell
//輸入文本123456
input text 123456
//使用keycode num輸入,keycode表可百度查詢
input keyevent 7
//使用keycode name輸入1
input keyevent KEYCODE_1
//使用keycode name按空格鍵
input keyevent KEYCODE_HOME
//點擊坐標367 1277
input tap 367 1277
//從(1024,945)滑動到(134,968)200毫秒內
input swipe 1024 945 134 968 200

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 分散式項目的常見問題:對於首頁每天有大量的人訪問,對資料庫造成很大的訪問壓力,甚至是癱瘓。那如何解決呢?我們通常的做法有兩種:一種是數據緩存、一種是網頁靜態化。 redis是一款開源的Key-Value資料庫,運行在記憶體中,由ANSIC編寫。企業開發通常採用redis來實現緩存。同類的產品有Memc ...
  • sqlserver 使用函數獲取一個字元串的拼音首字母 create function dbo.fn_getpinyin ( @str nvarchar(max) ) returns nvarchar(max) as begin declare @word nchar(1),@PY nvarchar ...
  • sqlserver 單表(視圖)通用分頁存儲過程 create procedure proc_getpage @table_name varchar(100), --表名(視圖) @select_fields varchar(1000)=' * ', --需要返回的列 @page_size int= ...
  • oracle體繫結構簡介 一、物理存儲結構 1、數據文件 存放資料庫數據,以dbf為擴展名。將數據放在多個數據文件中, 再將數據文件分放在不同的硬碟中,可以提高存取速度。數據文 件由數據塊構成,塊大小由資料庫創建時確定。 2、重做日誌文件,以rdo為擴展名。含對資料庫所做的更改記錄, 這樣萬一齣現故 ...
  • Hive的文件存儲格式: textFile textFile為預設格式 存儲方式:行存儲 缺點:磁碟開銷大;數據解析開銷大;壓縮的text文件,hive無法進行合併和拆分 sequencefile 二進位文件,以<key,value>的形式序列化到文件中 存儲方式:行存儲 優點:可分割、壓縮,一般選 ...
  • 文中Zookeeper分散式集群搭建在Linux CentOS7系統之上。搭建大數據分散式集群,不建議使用root用戶直接操作,故文中使用bigdata用戶進行集群的搭建。 一、環境準備 軟體 版本 Linux系統 CentOS7 JDK jdk-8u221-linux-x64.tar.gz Zoo ...
  • centos7線上yum安裝mysql時官方鏡像下載過慢的一個解決方案 ...
  • sqlserver 用於刷新當前資料庫所有視圖的存儲過程 create procedure dbo.proc_refreshview as begin declare @viewname varchar(100) declare cur_view cursor for select [name] f ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...