歡迎您光臨本站 註冊首頁

詳解adb shell 常用命令

←手機掃碼閱讀     wooen @ 2020-05-10 , reply:0

一、文件操作相關命令
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: estdumpstate.txt,由於需要root權限,所以沒root的過的手機輸出為空 adb shell dumptate >F: estdumpstate.txt //輸出過去系統的狀態,log,一般操作過程中未抓取log的時候一旦出現問題就使用這個命令來查看 adb shell bugreport >F: estugreport.txt //輸出內核信息 adb shell dmesg //輸出當前緩衝區日誌 並保存 adb shell logcat >F: estugreport.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


[wooen ] 詳解adb shell 常用命令已經有263次圍觀

http://coctec.com/docs/linux/show-post-233586.html