1、打開了scrcpy,那么點(diǎn)擊投屏上的X。
創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專業(yè)網(wǎng)站制作公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)上千。
2、那么可以退出scrcpy,如圖。
3、或點(diǎn)擊終端,快捷鍵:Ctrl+c,那么可以退出應(yīng)用。
4、或是點(diǎn)擊終端的X,點(diǎn)擊close terminal。
5、那么應(yīng)用一樣可以退出或者關(guān)閉,如圖。
常用指令
ls 顯示文件或目錄
-l 列出文件詳細(xì)信息l(list)
-a 列出當(dāng)前目錄下所有文件及目錄,包括隱藏的a(all)
mkdir 創(chuàng)建目錄
-p 創(chuàng)建目錄,若無(wú)父目錄,則創(chuàng)建p(parent)
cd 切換目錄
touch 創(chuàng)建空文件
echo 創(chuàng)建帶有內(nèi)容的文件。
cat 查看文件內(nèi)容
cp 拷貝
mv 移動(dòng)或重命名
rm 刪除文件
-r 遞歸刪除,可刪除子目錄及文件
-f 強(qiáng)制刪除
find 在文件系統(tǒng)中搜索某文件
wc 統(tǒng)計(jì)文本中行數(shù)、字?jǐn)?shù)、字符數(shù)
grep 在文本文件中查找某個(gè)字符串
rmdir 刪除空目錄
tree 樹形結(jié)構(gòu)顯示目錄,需要安裝tree包
pwd 顯示當(dāng)前目錄
ln 創(chuàng)建鏈接文件
more、less 分頁(yè)顯示文本文件內(nèi)容
head、tail 顯示文件頭、尾內(nèi)容
ctrl+alt+F1 命令行全屏模式
系統(tǒng)管理命令
stat 顯示指定文件的詳細(xì)信息,比ls更詳細(xì)
who 顯示在線登陸用戶
whoami 顯示當(dāng)前操作用戶
hostname 顯示主機(jī)名
uname 顯示系統(tǒng)信息
top 動(dòng)態(tài)顯示當(dāng)前耗費(fèi)資源最多進(jìn)程信息
ps 顯示瞬間進(jìn)程狀態(tài) ps -aux
du 查看目錄大小 du -h /home帶有單位顯示目錄信息
df 查看磁盤大小 df -h 帶有單位顯示磁盤信息
ifconfig 查看網(wǎng)絡(luò)情況
ping 測(cè)試網(wǎng)絡(luò)連通
netstat 顯示網(wǎng)絡(luò)狀態(tài)信息
man 命令不會(huì)用了,找男人 如:man ls
clear 清屏
alias 對(duì)命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 殺死進(jìn)程,可以先用ps 或 top命令查看進(jìn)程的id,然后再用kill命令殺死進(jìn)程。
打包壓縮相關(guān)命令
gzip:
bzip2:
tar: 打包壓縮
-c 歸檔文件
-x 壓縮文件
-z gzip壓縮文件
-j bzip2壓縮文件
-v 顯示壓縮或解壓縮過程 v(view)
-f 使用檔名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不壓縮
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip壓縮
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2壓縮
當(dāng)然,如果想解壓縮,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 換成“x” 就可以了。
關(guān)機(jī)/重啟機(jī)器
shutdown
-r 關(guān)機(jī)重啟
-h 關(guān)機(jī)不重啟
now 立刻關(guān)機(jī)
halt 關(guān)機(jī)
reboot 重啟
先鍵盤左上角的esc切換到指令模式 ,如果沒有修改過東西可以輸入:q退出,如果修改后不想保留就輸入:q!退出,保留可以輸入:wq 或者 :zz 和:x 都可以
列出當(dāng)前目錄的文件
常用參數(shù):?
-a: 顯示當(dāng)前目錄的所有文件,包含隱藏文件;?
-l: 顯示文件詳情;?
-Z: 顯示文件的 SE Linux context。?
示例:ls -laZ [if !vml] [endif] 以 acct 為例: drwxr-xr-x:其中 d 代表該文件為目錄,若為 l 則為軟鏈接,軟連接后又箭頭代表其實(shí)際指向的文件,如etc - /system/etc 則訪問 etc 實(shí)際等同訪問/system/etc,留空則代表該文件為一個(gè)文件;rwxr-xr-x 代表其權(quán)限為 755,具體算法為將上述字段每 3 個(gè)分為 1 組得 rwx,r-x,r-x,凡是有字母標(biāo)記的皆計(jì)數(shù) 1,反之為 0,得二進(jìn)制 111,101,101,轉(zhuǎn)為 10 進(jìn)制數(shù)字即得7, 5,5 ,即為該文件權(quán)限; root root :依次代表該文件的所有者(owner)為 root,用戶組(group)為 root,上述屬性可通過 chown 命令修改,日常替換文件需與原文件該屬性維持一致; unlabeled:代表 SE Linux context。
前往指定目錄
更改文件所有者和用戶組? ?示例:chown root:root temfile?將 tmpfile文件 的所有者和用戶組從 meidia:media 更改為 root:root
將文件內(nèi)容顯示出來(lái)。
注意不要隨便去 cat 一個(gè)很大的文件或與 log 驅(qū)動(dòng)節(jié)點(diǎn)無(wú)關(guān)的文件,否則將造成串口輸出亂碼或死機(jī)?。?!示例:cat /proc/kmsg 將打印出所有 kernel log。
用于抓取 android logcat 打印。
常用參數(shù):
-v : 設(shè)置打印格式,可用選項(xiàng)為 brief process tag thread raw time threadtime long,我們比較常用 logcat -v time,此時(shí)抓的 log 將在每一行開頭添加時(shí)間信息;
-s : 設(shè)置過濾器,過濾器的選擇取決于軟件中打印 log 時(shí)使用的 TAG ,如
ActivityManagerService.java 中的打印使用的 TAG = ActivityManager,則抓相關(guān)打印方法為 logcat -s ActivityManager;
-c : 清除 log 緩存,常用于清除之前的打印緩存,如復(fù)現(xiàn)某個(gè)必現(xiàn)問題,則可先執(zhí)行 logcat -c 再抓 logcat 重現(xiàn)必現(xiàn)手法以排除無(wú)關(guān) log 冗余信息影響問題定位; pm
包管理命令,用于管理安卓 app 應(yīng)用。
常用參數(shù):
-l : 顯示所有安裝包應(yīng)用,等同于 pm list packages
以 package:/system/priv-app/Launcher2.apk=com.android.launcher 為例:
Apk Launcher2 路徑位于/system/priv-app/Launcher2.apk,其包名為 com.android.launcher
path : 根據(jù)報(bào)名返回所在 apk 路徑
install : 安裝 apk
-r :安裝一個(gè)已經(jīng)存在的 apk 并保留其數(shù)據(jù);
-d : 允許降級(jí)安裝
如:pm install -r xxx.apk
uninstall : 卸載 apk,命令僅支持卸載 data/app,后接包名;
如:pm uninstall com.sys.migusmartlink.ott.tv //卸載包名為 com.sys.migusmartlink.ott.tv 的 apk
隨機(jī)測(cè)試指令,會(huì)自動(dòng)模擬一些用戶操作對(duì) APP 進(jìn)行壓力測(cè)試。
常用參數(shù):
-p :指定啟動(dòng)的 APK,我們比較常用的是 monkey -p com.xxx.yyy 1 來(lái)啟動(dòng)一個(gè) apk 的隨機(jī)頁(yè)面。
用于啟動(dòng)和管理 activity 和 service
常用參數(shù):
start : 后接 intent 啟動(dòng)一個(gè)頁(yè)面;
startservice : 后接 intent 啟動(dòng)一個(gè) service; stopservice :后接 intent 停止一個(gè) service; broadcast :后接一個(gè) intent 發(fā)送一個(gè)廣播; kill :后接一個(gè) app 包名,殺掉該 app 所有進(jìn)程;在 shell 環(huán)境下用如下參數(shù)表述一個(gè) intent:
[-a ACTION] [-d DATA_URI] [-t MIME_TYPE]
[-c CATEGORY [-c CATEGORY] ...]
[-e|--es EXTRA_KEY EXTRA_STRING_VALUE ...]
[--esn EXTRA_KEY ...]
[--ez EXTRA_KEY EXTRA_BOOLEAN_VALUE ...]
[--ei EXTRA_KEY EXTRA_INT_VALUE ...]
[--el EXTRA_KEY EXTRA_LONG_VALUE ...]
[--ef EXTRA_KEY EXTRA_FLOAT_VALUE ...]
[--eu EXTRA_KEY EXTRA_URI_VALUE ...]
[--ecn EXTRA_KEY EXTRA_COMPONENT_NAME_VALUE]
[--eia EXTRA_KEY EXTRA_INT_VALUE[,EXTRA_INT_VALUE...]]
[--ela EXTRA_KEY EXTRA_LONG_VALUE[,EXTRA_LONG_VALUE...]]
[--efa EXTRA_KEY EXTRA_FLOAT_VALUE[,EXTRA_FLOAT_VALUE...]]
[-n COMPONENT] [-f FLAGS]
示例:
如我們?cè)?logcat 抓到如下打印啟動(dòng)了播放器:
START u0 {act=android.intent.action.VIEW dat=[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 typ=video/* flg=0x13000000 cmp=com.meson.videoplayer/.VideoPlayer} from pid 15204
則我們可以使用如下 am 指令來(lái)啟動(dòng)它:
am start -a android.intent.action.VIEW -d [4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 -t video/* -f 0x13000000 -n com.meson.videoplayer/.VideoPlayer am start -n com.android.settings/.Settings //啟動(dòng)原生安卓設(shè)置主頁(yè)
am broadcast -a com.chinamobile.action.KEY_PRESS_DOWN --ei keyCode 11 am broadcast -a com.chinamobile.action.IR_TEST --es irphycode "0x008EDD22" //發(fā)送廣播
查找命令,查找文件中是否包含指定字符串并輸出該行示例:
grep -rns "repeat" /system/etc/remote1.conf //找出/system/etc/remote1.conf 所有包含 repeat 的行并展示行號(hào)
參數(shù)說明:
-a:此選項(xiàng)通常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并復(fù)制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合。
-d:復(fù)制時(shí)保留鏈接。這里所說的鏈接相當(dāng)于Windows系統(tǒng)中的快捷方式。
-f:覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示。
-i:與-f選項(xiàng)相反,在覆蓋目標(biāo)文件之前給出提示,要求用戶確認(rèn)是否覆蓋,回答"y"時(shí)目標(biāo)文件將被覆蓋。
-p:除復(fù)制文件的內(nèi)容外,還把修改時(shí)間和訪問權(quán)限也復(fù)制到新文件中。
-r:若給出的源文件是一個(gè)目錄文件,此時(shí)將復(fù)制該目錄下所有的子目錄和文件。
-l:不復(fù)制文件,只是生成鏈接文件。
命令示例:cp -a a? parentPath/sonPath/ a對(duì)應(yīng)當(dāng)前文件夾下目錄或文件名? 可替換為絕對(duì)路徑?
移動(dòng)指令,等效于 windows 的移動(dòng)和重命名。
示例:
mv /data/tmp1 /data/local/tmp2 //將 data/tmp1移動(dòng)到/data/local/ 并重命名為 tmp2
刪除指令,用于刪除文件和文件夾,示例:
rm -rf tmp // 刪除 tmp,建議加上-rf參數(shù),其會(huì)刪除 tmp 所有的目錄和文件。
創(chuàng)建目錄。常用參數(shù):
-p :若 mkdir -p 后接路徑包含不存在路徑則一并創(chuàng)建。
同步命令,常用于 cp 替換文件或指令結(jié)束后同步狀態(tài),有益無(wú)害。
重定向,即將一個(gè)命令的輸出指向另外路徑的文件,使用覆蓋模式,即重定向到的文件若存在將覆蓋里面的內(nèi)容。
示例:
logcat /data/xxx.log; //將 logcat輸出到/data/xxx.log;
cat /proc/kmsg /data/kmsg.log; //將 kmsg 打印輸出重定向到/data/kmsg.log
重定向,即將一個(gè)命令的輸出指向另外路徑的文件,使用拼接模式,即重定向到的文件若存在則將輸出拼接到原文件的后面。
示例:
logcat /data/xxx.log; //例如我們做 netreboot的時(shí)候需要每一次開關(guān)機(jī)的 log,則會(huì)用拼接模式記錄log。
將指令放至后臺(tái)靜默執(zhí)行。
依次執(zhí)行指令,若有指令執(zhí)行失敗,則后續(xù)指令不會(huì)執(zhí)行。
示例:
logcat -c logcat //先清除 logcat 緩存再抓取 log
[1] 每?jī)尚泻喜⒃谝黄?/p>
@dahuawk 'ORS=NR%2?" ":"\n"{print}'
[2] 每三行合并在一起
@dahuawk 'ORS=NR%3?" ":"\n"{print}'
[3] 每四行合并在一起
@dahuawk 'ORS=NR%4?" ":"\n"{print}'
[4] 統(tǒng)計(jì)std cell和sRam占的面積
@dahusummaryReport
[5] 找出drc的port相關(guān)的數(shù)量
@dahucat postroute_opt.drc | grep -B1 Type: | grep -v Type: | grep "\[" |-
[6] 獲得選中的pin的名字
@innovusdbget selected.name
[7]? 對(duì)一個(gè)文件,多目標(biāo)刪除
@dahused -i 's/MODE1\|MODE2\|MODE3\|MODE4\|MODE5//g'
[8] 獲得不規(guī)則fplan的坐標(biāo)組
@innovusdbget top.fplan.boxes
[9] 在某個(gè)目錄下找到帶某個(gè)字符的文件[區(qū)分大小寫]
@dahufind -iname "*tcic*"
[10] 在某個(gè)目錄下,遍歷所有文件內(nèi)容,得到含有某個(gè)字符/字符串的行
@dahugrep -r 'insertion delay' ./
[11] 查看當(dāng)前的INNOVUS版本號(hào)
@dahuecho $INVS_VER
[12] 替換某個(gè)目錄下所有文件內(nèi)容
@dahused -i"s/查找的內(nèi)容/替換后的內(nèi)容/g"`grep -rl"查找的內(nèi)容"./`
[13] 在gui界面下highlight某條path
@dahu ctd_trace?-from * ?-to * ?-color *
[14] 引用${REV},為什么采用大括號(hào){}
為了防止引用造成后面錯(cuò)亂。
如:/fs/omp_com_03/RELEASE/top2hlb/R1/HLB_DEF/${REV}/${top}.def.gz
[15] 解壓命令
gzip -d FileName.gz
[16] 換某個(gè)cell的坐標(biāo) {AAA, BBB}
@innovus dbset [dbget top.inst.name XXXXXXXX].pt_x AAA
@innovus dbset [dbget top.inst.name XXXXXXXX].pt_y BBB
@innovus zoomSelected
[17] 設(shè)置某一個(gè)cell不用
@innovus set_dont_touch BUFF false
@innovus set_dont_touch BUFF true
[18] 找某個(gè)性質(zhì)
@innovus dbSet [].?h
[19] 刪去空白行
vim 中:g/^s*$/d
簡(jiǎn)單解釋一下:
g :全區(qū)命令
/ :分隔符
^s*$ :匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重復(fù)0到n個(gè)前面的字符,$表示行尾。連起來(lái)就是匹配只有空字符的行,也就是空行。
/d :刪除該行
[20] echo 寫入帶有雙引號(hào)""的內(nèi)容。
echo ‘ “AAAbbb” ’ 1.tcl
[21] echo 寫入帶有單引號(hào)‘’的內(nèi)容。
echo “ ‘AAAbbb' ” 1.tcl
[22] keep CPU 數(shù)目
@innovussetMultiCpuUsage -localCpu 16
@innovushistory keep 999999
[23] 打開xlsm文件
openoffice.org 文件
[24] 顯示clock path路徑
@innovus report_timing -to XXX -path_type full_clock
[25]報(bào)出沒有被約束到的path
@innovus report_timing -to XXX -uncounstrained
[26]報(bào)出穿過path中的某一點(diǎn)
@innovus report_timing -to XXX -view
view = MODE + corner
[27] vim 全選(高亮顯示 ):按esc后,然后ggvG或者ggVG
[28]