一、文件操作相關(guān)命令
1.文件操作命令
子命令 | 參數(shù) | 說明 |
---|---|---|
cd | 無 | 進(jìn)入目錄 |
cat | [-beflnstuv] [-B bsize] [file...] | 查看文件內(nèi)容 -n:顯示行號 -b:顯示行號,但會忽略空行 -s:顯示行號,連續(xù)空行標(biāo)記為一行 |
df | 無 | 列出分區(qū)列表 |
du | [-H] [-L] [-P] [-a] [-d depth] [-s] [-cghikmnrx] [file...] | 查詢文件或目錄的磁盤使用空間 |
ls | [-a] [-i] [-l] [-n] [-s] | 列出目錄內(nèi)容 -a:列出所有文件,包括隱藏文件 -i:輸出文件的i節(jié)點(diǎn)的索引信息 -l列出文件的詳細(xì)信息 -n:用數(shù)字的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...] | 指定文件中搜索特定的內(nèi)容,并將含有這些內(nèi)容的行標(biāo)準(zhǔn)輸出 |
mkdir | -p,-parents | 創(chuàng)建目錄 -p,--parents:遞歸創(chuàng)建目錄 |
touch | touch [-alm] [-t YYYYMMDD [.HHMMSS]] < file > | 創(chuàng)建文件 |
rm | rm [-f/|-i][-dPRrvWx]file | 刪除文件 -f:強(qiáng)制刪除文件,系統(tǒng)不提示 -i:交互式刪除,刪除前提示 -d:改變硬連接數(shù)據(jù)刪成0,刪除該文件 -r:強(qiáng)制刪除文件夾包括里面的文件 |
mv | mv[-fiv]source target | 移動文件(相當(dāng)于剪切) -f:強(qiáng)制移動,若文件已經(jīng)存在目標(biāo)則直接覆蓋 -i:若目標(biāo)文件已經(jīng)存在,會詢問是否覆蓋 |
rmdir | rmdir[-p] directory | 刪除目錄 -p:遞歸刪除目錄,只能刪除空目錄 |
dd | dd[operand...] dd if =source of=targe | 復(fù)制文件 |
2.文件權(quán)限命令與其他文件命令
子命令 | 參數(shù) | 說明 |
---|---|---|
chomd | chomd[OPTION]< MODE > < FILE > | 文件權(quán)限修改 -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 | 掛載設(shè)備信息 |
umount | umount < path > | 卸載分區(qū)掛載 |
cmp | cmp[-b][-l][-n count] file1 file2 | 要指出兩個文件是否存在差異 |
ln | ln [-fhinsv] file1 file2 ln [-fhinsv] file...directory | 用來在文件之間創(chuàng)建連接,創(chuàng)建連接后兩個文件中任意一個文件改變文件內(nèi)容另一文件都會相應(yīng)進(jìn)行同步改變 |
3.命令使用實(shí)例:
//進(jìn)入設(shè)備adb shell//進(jìn)入指定目錄"/data/local/tmp"cd /data/local/tmp//查看目錄ls//進(jìn)入根目錄cd ///進(jìn)入指定目錄"/data/local/tmp"cd /data/local/tmp//查看分區(qū)列表df//在當(dāng)前目錄下創(chuàng)建名為1的.txt文件(再創(chuàng)建個兩個,命名為2和3,方便后面繼續(xù)學(xué)習(xí)使用)touch 1.txt//列出所有文件(包括隱藏文件)的詳細(xì)信息,此時可以查看剛剛的1.txt是否創(chuàng)建成功ls -al//在當(dāng)前目錄下創(chuàng)建一個名為1的文件夾mkdir1//列出所有文件(包括隱藏文件)的詳細(xì)信息,此時可以查看剛剛的目錄文件夾是否創(chuàng)建成功ls -al//在當(dāng)前目錄下創(chuàng)建遞歸目錄,2下面包含3,3下面包含4mkdir -p 2/3/4//回到上一級目錄,連續(xù)操作兩次讓他回到cd /data/local/tmp目錄下cd ..//將1.txt文件移動到1目錄中(剪切效果)mv 1.txt 1//進(jìn)入1目錄cd 1//查看1.txt是否移動進(jìn)去了ls//返回上一級目錄cd ..//將當(dāng)前目錄下的2.txt文件復(fù)制到名為2的目錄下并命名為2.txtdd if=2.txtof=2/22.txt//進(jìn)入到目錄2中cd 2//查看上個文件操作是否操作成功ls//回到上一級目錄cd ..//進(jìn)入1目錄cd 1//刪除當(dāng)前目錄下的1.txt文件rm 1.txt//回到上一級目cd ..//刪除名為1的目錄rmdir 1//查看刪除操作是否刪除成功ls//查看文件權(quán)限信息la -al//修改2.txt的文件權(quán)限為最高chomd 777 2.txt//查看剛剛修改的文件權(quán)限信息是否成功la -al//查看2.txt文件的md5md5 2.txt//查看掛載設(shè)備信息mount//將system分區(qū)變成可讀可寫"mount -o [option] devices directory"mount -o remount,rw /dev/block/sda6 /system//查看剛剛的修改是否成功mount//查看分區(qū)列表df//卸載掉"/storage/sdcard"分區(qū)掛載umount /storage/sdcard//查看剛剛的卸載是否成功df//輸入點(diǎn)內(nèi)容到2.txt中echo 333 >>2.txtecho 222 >>2.txt//查看2.txt文件cat 2.txt//指出兩個文件是否存在差異cmp 2.txt 3.txt//復(fù)制2.txt文件夾并粘貼到當(dāng)前目錄中,命名為22.txtdd if=2.txt of=22.txt//指出兩個文件是否存在差異cmp 2.txt 3.txtcd//在2目錄下創(chuàng)建一個名為2o.txt的2的硬連接文件(因?yàn)?的目錄下已經(jīng)存在2.txt文件,不然使用"ln 2.txt 2"命令就可以了)ln 2.txt 2/2o.txt//進(jìn)入到2目錄cd 2//查看2o.txt文件內(nèi)容cat 2o.txt//在2o.txt文件中加入內(nèi)容echo >>2o.txt//返回上一級目錄cd ..//查看連接文件2.txt的文件內(nèi)容是否與2o.txt一致cat 2.txt
二、信息查詢相關(guān)命令
1.log 相關(guān)命令
子命令 | 參數(shù) | 說明 |
---|---|---|
dumpstate | - | 系統(tǒng)狀態(tài)信息(需要root權(quán)限) 包括手機(jī)當(dāng)前的內(nèi)存信息、CPU信息、logcat緩存,kenel緩存等等 adb bugreport包含這個信息 |
bugreport | - | 里面含有dmesg,dumpstate和dumpsysy |
demsg | - | kenel的log |
logcat | 參數(shù)較多 | 打印日志緩沖區(qū)日志 |
dumpsys | meminfo [processName] activity [processName] | 獲取系統(tǒng)各項(xiàng)服務(wù)信息 |
2.獲取系統(tǒng)信息相關(guān)命令
子命令 | 參數(shù) | 說明 |
---|---|---|
getevent | - | 獲取按鍵信息 |
getprop | - | 獲取系統(tǒng)屬性 |
setprop | - | 設(shè)置系統(tǒng)屬性(需要root權(quán)限) |
pm | - | 安裝包管理,查詢安裝包的各種信息 |
ps | - | 查看進(jìn)程信息 |
top | -m num 最大顯示條數(shù) -n num 更新次數(shù) -d num 兩者更新時間 -s col按哪列排序(cpu,vss,rss,thr) -t顯示線程信息而不是進(jìn)程 -h顯示幫助文檔 | 獲取CPU使用情況 |
procrank | - | 查詢各進(jìn)行內(nèi)存消耗情況(需要root權(quán)限) |
wm | size | 獲取屏幕分辨率 |
3.命令使用實(shí)例
//輸出系統(tǒng)狀態(tài)信息至F:/test/dumpstate.txt,由于需要root權(quán)限,所以沒root的過的手機(jī)輸出為空adb shell dumptate >F:/test/dumpstate.txt//輸出過去系統(tǒng)的狀態(tài),log,一般操作過程中未抓取log的時候一旦出現(xiàn)問題就使用這個命令來查看adb shell bugreport >F:/test/bugreport.txt//輸出內(nèi)核信息adb shell dmesg//輸出當(dāng)前緩沖區(qū)日志 并保存adb shell logcat >F:/test/bugreport.txt//輸出內(nèi)存信息adb shell dumpsys meminfo//輸出當(dāng)前CPU使用情況信息adb shell dumpsys cpuinfo//輸出當(dāng)前activity使用情況信息adb shell dumpsys activity//相當(dāng)于過濾,只找名為"mF"的activity使用情況信息adb shell dumpsys activity | find "mF"http://獲取按鍵信息,在手機(jī)沒有按鍵 信息的情況下會先提示你每個設(shè)備的ID代表的設(shè)備信息,按鍵過程中會實(shí)時刷新adb shell getevent//獲取系統(tǒng)屬性adb shell getprop//查看pm幫助信息adb shell pm//查看手機(jī)內(nèi)的安裝包列表adb shell pm list packages//查看當(dāng)前手機(jī)進(jìn)程信息adb shell ps//獲取cpu使用情況,只查看一次,不實(shí)時刷新adb shell top -n 1//獲取前十的cpu使用情況,只查看一次,不實(shí)時刷新adb shell top -n 1 -m 10//查詢各進(jìn)行內(nèi)存消耗情況adb shell procrank//詳細(xì)查詢某個包的內(nèi)存使用情況adb shell dumpsys meminfo packageName
三、操作手機(jī)相關(guān)命令
1.相關(guān)命令
子命令 | 參數(shù) | 說明 |
---|---|---|
bmgr | [backup | restore | list | transport | run] bmgr backup PACKAGE bmgr restore ...... | 數(shù)據(jù)備份與還原 |
kill | kill [-s signame | -signu | -signame]{job | pid | pgrp}... kill -l [exit_status...] | 結(jié)束進(jìn)程 |
reboot | 無 | 重啟手機(jī) |
svc | power 控制電源管理 data 控制數(shù)據(jù)連接 控制wifi管理 控制USB狀態(tài) | 控制電源、網(wǎng)絡(luò)、USB |
wipe | wipe system | data | all | 擦除分區(qū),恢復(fù)出廠設(shè)置 |
am | am [subcommand] [options] am start ...... | antivyty管理器 用于開啟應(yīng)用,廣播,服務(wù)等功能 |
2.命令使用實(shí)例
//查詢已安裝包名列表adb shell pm list package//對com.tencent.mm包使用monkey命令adb shell monkey -p com.tencent.mm --throttle 200 50000//查找monkey進(jìn)程信息adb shell ps | find "monkey"http://殺掉monkey進(jìn)程,例子中的數(shù)字是monkey的PID進(jìn)程號adb shell kill 23770//重啟手機(jī)adb shell reboot//打開svc幫助界面adb shell svc//查詢wifi操作幫助adb shell svc wifi//關(guān)閉wifiadb shell svc wifi disable//打開wifiadb shell svc wifi enable//擦除data,即恢復(fù)出廠設(shè)置adb shell wipe data//指定查詢"mF"的activity信息adb shell dumpsys activity | find "mF"http://啟動指定activityadb shell am start -n com.android.browser/.BrowserActivyty//查看am命令的幫助信息adb shell am
四、測試用途相關(guān)命令
1.測試信息相關(guān)命令
子命令 | 參數(shù) | 說明 |
---|---|---|
iftop | iftop [-r repeats] [-d delay] | 列出網(wǎng)絡(luò)傳輸包情況 |
Monkey | Monkey [options] count | 執(zhí)行Monkey命令 |
netstat | - | 顯示各種網(wǎng)絡(luò)相關(guān)信息 |
ping | ping [option] ipv4 | 因特網(wǎng)包探測器,用于測試網(wǎng)絡(luò)連接量的程序 |
ping6 | ping6 [option] ipv6 | 因特網(wǎng)包探測器,用于測試網(wǎng)絡(luò)連接量的程序 |
screenrecord | screenrecord [options] < filename > | 屏幕錄像(只支持android4.4以上的設(shè)備) |
screencap | [-hp] [-d display-id] [FILENAME] -p 文件保存路徑 | 屏幕截圖 |
uiautomator | uiautomator [options] | 執(zhí)行uiautomator腳本 |
命令使用實(shí)例:
//進(jìn)入交互模式adb shell//列出網(wǎng)絡(luò)傳輸包情況iftop//顯示各種網(wǎng)絡(luò)相關(guān)信息netstat//實(shí)時查看網(wǎng)絡(luò)連接量ping www.baidu.com//實(shí)時查看網(wǎng)絡(luò)連接量ping6 www.baidu.com//屏幕錄像,保存路徑為/mnt/sdcard/1.mp4,需要注意的是屏幕錄像只支持android4.4以上的設(shè)備使用ctrl+c停止錄像screenrecord /mnt/sdcard/1.mp4//將sd卡路徑下的1.mp4導(dǎo)出到F盤(先退出交互模式)adb pull /mnt/sdcard/1.mp4 f:///截圖screencap /mnt/sdcard/1.png
2.輸入信息命令
1)input
作用:模擬硬件設(shè)備的輸入
格式:input [] [...]
參數(shù):
2)命令使用實(shí)例
//進(jìn)入交互模式adb shell//輸入文本123456input text 123456//使用keycode num輸入,keycode表可百度查詢input keyevent 7//使用keycode name輸入1input keyevent KEYCODE_1//使用keycode name按空格鍵input keyevent KEYCODE_HOME//點(diǎn)擊坐標(biāo)367 1277input tap 367 1277//從(1024,945)滑動到(134,968)200毫秒內(nèi)input swipe 1024 945 134 968 200
到此這篇關(guān)于詳解adb shell 常用命令的文章就介紹到這了,更多相關(guān)adb shell命令 內(nèi)容請搜索武林網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持武林網(wǎng)!
新聞熱點(diǎn)
疑難解答
圖片精選