Linux命令之Android开发高频使用

2021-07-11  本文已影响0人  放羊娃华振

1、查看内存使用情况(需要debug环境或者root手机)

taldeMacBook-Pro:~ tal$ adb shell
skywalker:/ $ which procrank
/system/bin/procrank

2、实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.

adb shell top -m 10

3、dumpsys相关

Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息
命令格式: adb shell dumpsys [system serbices]
常用dumpsys命令如下:
包信息查询
子命令格式:adb shell dumpsys package [-h] [-f] [—checkin] [cmd]…
activity信息查询
子命令格式:adb shell dumpsys activity [-a] [-c]…
网络信息查询
网络连接 adb shell dumpsys connectivity
网络策略 adb shell dumpsys netpolicy
网络状态adb shell dumpsys netstats
网络管理adb shell dumpsys network_management
其他常用服务信息查询
内存 adn shell dumpsys meminfo
CPU adn shell dumpsys cpuinfo
帧率 adn shell dumpsys gfxinfo
显示 adn shell dumpsys display
电源 adn shell dumpsys power
电池状态 adn shell dumpsys batterystats
电池 adn shell dumpsys battery
闹钟 adn shell dumpsys alarm
位置 adn shell dumpsys location
//该命令就能查看一个app的内存使用情况
adb shell dumpsys meminfo  com.test.demo

4、查看连接的安卓设备

adb devices

5、杀掉adb连接

adb kill-server

6、重新启动adb连接

adb start-server

7、网络连接安卓设备

adb connect 127.0.0.2:5555

8、重启Android设备

adb reboot  

9、查看日志

adb logcat -s "Test"

选项解析 : 
-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
-- "-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
-- "-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
-- "-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
-- "-v"选项 : 设置日志的输出格式, 注意只能设置一项;
-- "-c"选项 : 清空所有的日志缓存信息;
-- "-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
-- "-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
-- "-g"选项 : 查看日志缓冲区信息;
-- "-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
-- "-B"选项 : 以二进制形式输出日志;
//https://blog.csdn.net/coslay/article/details/42776529

10、进入recovery模式-刷机使用

adb reboot recovery

11、adb命令使用帮助

adb help     可以查看所有命令

12、基本知识

“/”,这个英文字母斜杠指的是根目录,类似Windows的C:\,但是Linux下只有一个根目录,所有的文件系统、设备都会挂载在这个目录或者它的子目录之下。
“~”,这个符号指的是当前用户的家目录,比如root用户的家目录是“/root”,而一般用户的家目录是“/home/用户名”。
命令行头部有个标记是“$”或者“#”,前者表示普通用户,后者表示root用户,这就是为什么输入“su”得到最高权限之后命令行头会变成“#”,其实就是以root用户登录,如果某个程序获得最高权限,就是指这个程序是以root帐户启动的。
“|”,被称作管道,比如“cat /proc/cpuinfo | more”,即将前面命令的输出作为第二个命令的输入。
“/”目录下会有很多目录,这些目录其实是通用的,在各个版本的Linux下都有一样的名称,Android有部分文件夹有区别。每个文件夹都有特殊用途,以下是常见例子:
“/bin”里面放了很多应用程序,这些应用程序就是下面列举的众多命令,因为这些命令本质上就是一个一个的应用程序。
“/sbin”和/bin目录类似,两者区别要视具体情况。
“/etc”是Linux系统的配置文件,安卓社区里最常用的例子莫过修改“/etc/hosts”,这是etc目录下的一个文件名叫hosts,是一个简单的DNS。你可以用命令“vi”或者“vim”来修改(vi /etc/hosts)
“/root”是root用户的家目录,root用户会将自己的文件放在这里。
“/sdcard”是安卓(Android)特有的一个目录,它会将SD卡挂载在这个目录下,即SD卡的所有内容都在这个目录里。
”/tmp“是临时目录,给程序临时使用的。
“/proc”也是每个Linux系统都有的目录,但是作用我说不清楚,里面有两个文件需要注意:“/proc/cpuinfo”和“/proc/meminfo”,前者保存了CPU特性和参数,后者保存内存当前状态,可以用命令“cat /proc/cpuinfo”查看。

13、查看目录下的所有问题

ls (当前目录的文件及文件夹列表,ls -l 是详细列举资料,包括权限,ls -i 查看文件的inode信息)

14、切换目录

cd (切换至目录,比如cd ~ 是切换到当前用户的家目录比如/root,/home/username,cd /etc )

15、显示命令行当前所在目录

pwd (显示命令行当前所在目录) 

16、创建文件夹

mkdir (创建文件夹,mkdir temp:创建temp文件夹)

17、删除文件

rm (删除文件或者文件夹,用法:rm 文件名,rm -f是强制删除,不提示,rm -r 是以recursive的方式删除,就是删除文件夹及文件夹里所有的文件及所有子文件及目录,比如“rm -f -r /”——你就彻底Happy了,因为这个命令可以把整个文件系统都给删了)

18、拷贝文件

cp /Users/dzh/a.txt /Users/dzh/b.txt

19、移动文件

mv /Users/dzh/a.txt /Users/dzh/b.txt

20、文件链接

ln [参数][源文件或目录][目标文件或目录]
ln (创建符号链接,即快捷方式)

21、创建文件

touch (这个命令比较特殊,有两个作用,一个是创建一个文件,touch 文件路径,前提是这个文件不存在,如果存在,即第二个作用,更新文件,更新修改日期等等,不更改文件内容)
touch a.txt

22、查看文件

cat (文件内容查看)
//https://www.runoob.com/linux/linux-comm-cat.html

23、分页

more (分页显示)
less (也是分页显示)
head (显示文件的头10行内容)
tail (显示文件的最后10行内容,tail -f 是显示最后10行内容外还持续显示当前新添加的内容,前提是文件被别的程序以append方式添加进去)
stat (显示文件的inode信息,关于inode请参考本文最后的文献)
find (搜索文件,比如“find -maxdepth=1 -size 0 -exec rm {} \;”,这个是搜索当前文件夹,不包含子文件夹 (深度为1),文件大小为0字节,把搜索到的文件列表作为参数逐条执行删除操作,“{}”指代搜索到的文件,“\;”其实就是“;”,命令行下需要转义(不明白不要紧)

24、进程管理

ps (显示当前活动的进程)
top (查看进程,类似任务管理器的进程页,以CPU消耗排序,通常由于位置不够,显示不全,这里面有很多重要信息,以后补全说明)
kill (杀死进程)
killall (杀死进程,比如killall firefox,杀死以“firefox”为名字的进程)
bg (列表被暂停的进程)
fg (继续执行被Ctrl+Z按钮暂停掉的进程)

25、文件权限

chmod (修改权限,比如“chmod 777 -R /sdcard”,对sdcard文件夹及其包含的所有文件及文件夹赋予所有权限)
ssh (连接远程服务器命令行)
grep(一种强大的文本搜索工具,它能使用正则表达式搜索文本)
locate(配合数据库查看文件位置 )

26、系统信息

date (显示当前日期)
cal (打印日历)
uptime (显示开机多久了)
w(显示目前登入系统的用户信息)
whoami(显示登录名)
finger (“finger root”,显示root用户的相关信息,该命令作用不大)
uname -a (显示Linux版本)
cat (在命令行打印文件内容,比如“cat /etc/hosts”)
man (man是Linux一个特殊命令,用以显示命令的参考资料,“man 命令”,比如“man cat”,就是显示cat命令的用法和资料,类似的还有“命令 --help”,比如“cat --help”)
df (显示文件系统用了多少空间,还剩多少空间,还有存储设备的挂载情况)
du (查询文件和文件夹大小,比如“du -h --max-depth=1 /”,显示根目录下各个目录的大小)
free (内存使用情况)

27、压缩(简单介绍下,c是create(创建),x是extract(取出,解包),f是file(文件),z是zip(以zip方式压缩),j是以Bzip2方式压缩)

tar cf file.tar files 
tar xf file.tar
tar czf file.tar.gz files
tar xzf file.tar.gz
tar cjf file.tar.gz2
tar xjf file.tar.gz2
gzip file
gzip -d file.gz (d是decompress,即解压缩)

28、网络

ping (测试连接到远程服务器的耗时和连通性,比如ping zydroid.com,100ms以内属于正常,美国到中国的耗时大概是150-250ms,国内都在100ms以内,全国范围电信内部访问一般少于50ms,电信和网通间大概在300-500ms,严重的时候上1000ms,相当于饶了地球一两圈。局域网内访问一般都在1-3ms,ping自己电脑都是0.000几ms)
whois(查询域名IP及所有者信息)
dig(域名解析工具)
wget (下载程序,wget URL,比如wget http://www.zydroid.com)

29、安装

./configure (配置)
make (编译)
make install (安装)
9、快捷键
Ctrl+C (终止当前命令的执行)
Ctrl+Z (暂停当前命令行的执行(将进程转入停止的状态),可以使用fg恢复继续执行。)
Ctrl+D (退出命令行,退出当前登录)
Ctrl+W (删除命令行当前输入的一个单词)
Ctrl+U (删除用户输入的一整行文字)
Ctrl+R (搜索最近执行的命令)
!! (重复上一条命令)
exit (退出命令行和Ctrl+Z类似)

30、which、whereis、locate、find 命令的区别

which       查看可执行文件的位置 
//which java
whereis    查看文件的位置 
//whereis java
locate       配合数据库查看文件位置 
find          实际搜寻硬盘查询文件名称
//find test
上一篇下一篇

猜你喜欢

热点阅读