超实用的adb与adb shell常用命令汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超实用的adb与adb shell常用命令汇总相关的知识,希望对你有一定的参考价值。

参考技术A adb(android Debug Bridge),SDK自带的工具,可实现桥接功能,实现PC和android设备的交互

adb shell:基于Android linux系统操作,放在安卓设备的system/bin目录下,手机端的命令

一:adb常用命令

1. PC连接android设备

(PC与android设备连接同一个wifi,或处于同一个局域网)

连接:adb connect ip:5555

断开连接:adb disconnect ip

查看连接设备的信息:adb devices

获取设备的状态:adb get-state

2. 重启adb server

打开adb服务:adb start-service

关闭adb服务:adb kill-service

3. 安装卸载软件

安装:adb install apkpath(某个apk)

adb install -r :强制安装

卸载: adb uninstall package(可用adb shell pm list packages查看包名)

4. 打印日志

打印android系统日志:adb logcat

将日志打印并保存指定文件夹:adb logcat > /Users/apple/Desktop/log.txt

终止进程:control+C

打印dumpsys,dumpstate,logcat的输出,用于分析错误:adb bugreport

5. PC与android设备上文件复制

android设备上文件复制到PC上:adb pull

PC上文件推至android设备:adb push 

6.重新挂载system分区为可写,需要root权限./system分区默认挂载为只读,但有些操作比如给android系统添加命令,删除自带应用等需对系统进行写操作,得重新挂载为可写

adb shell

su

或:adb root

adb remount 重新挂载文件系统,获得可写的权限(默认情况是只有可读权限的),使用adb remount 的前提是要有root权限

7. 删除系统应用

adb root

adb remount

adb shell

cd system/app

rm *apk

二:adb shell命令

adb shell 进入系统子目录,exit 退出

1. pm命令

列出系统应用的所有包名:adb shell pm list packages 可用grep来过滤:adb shell pm list packages | grep 关键字

清除应用数据与缓存:adb shell pm clear <packagename>

2. am命令

启动应用:adb shell am start -n com.xxx.xxxxxxx|xxx.Activity(可通过adb shell dumpsys activity activities | grep mFocusedActivity查看

强制停止应用:adb shell am force-stop <packagename>

3. input命令

模拟点击事件,点击坐标点(x,y):adb shell input tap x y

模拟滑动事件,从(x1,y1)到(x2,y2):adb shell input swipe x1 y1 x2 y2

发送文本内容:adb shell input text

模拟按下home:adb shell input keyevent KRYCODE_HOME

4. screencap命令

截屏:adb shell screencap

5. 查看网络状态命令

查看当前网络状态:adb shell netstat

通过配置文件配置和管理网络连接:adb shell netcfg

查看网络信息:ifconfig

测试网络联网状态:ping

5.其它相关命令

查看当前终端中进程:adb shell ps

获取cpu信息:adb shell cat /proc/cpuinfo

查看内存信息:adb shell cat /proc/meminfo

查看屏幕分辨率:adb shell wm size

查看设备ip地址:adb shell ifconfig | grep Mask

查看实时资源占用情况:adb shell top

超实用 Linux 常用命令


Shell 详解

Shell 简介


  • Linux精髓在于命令行操作
  • Shell是一种特殊的程序
  • 是内核与用户的一种接口
  • Shell命令解释器
  • Shell一种解释性的语言(内部命令/外部命令)
  • 内部命令:系统自带的,随系统内核一起启动(56)
  • 外部命令:一些额外的软件或者程序
  • sh (Borurne Shell)
  • csh
  • ksh
  • BASH: 是rhel中默认的一种
  • shell命令规范
  • 命令字 [选项] [参数]
  • 选项
  • 作用:用于调节命令的具体功能
  • “-” 引导短格式选项(单个字符)ex: “-l”
  • “–” 引导长格式选项(多个字符) ex: “–color”
  • 多个短格式选项可以写在一起
  • -a -l -z -x --> -alzx
  • 参数
  • 命令操作的对象
  • 有文件、目录等
  • ex: ls -l /home

在Liunx当中严格区分大小写
在Linux当中一切皆文本

常用命令


  • su [-] username 切换当前登陆
  • 有 - : 代表切换bash
  • 无 - : 代表不切换bash
  • exit:退出
  • 查看系统当前主机名
  • hostname
  • 修改主机名并生效
  • hostnamectl set-hostname yourhostname
  • 关机操作
  • poweroff
  • init 0
  • shutdown -h now
  • halt
  • 重启命令
  • reboot
  • shutdown -r now # 现在重启
  • shutdown -r now # 15分钟后重启
  • 查看当前系统时间
  • date
  • 查看日历
  • cal
  • cal 年份 # 查看全年日历
  • cal 月份 年份 # 查看某年某月的日历
  • 查看系统当前IP地址
  • ifconfig
  • ip addr show (rhel7)
  • 测试网络连通性
  • ping 127.0.0.1
  • ping 127.0.0.1 -c 4 # 限制ping包次数

BASH 常用快捷方式


  • 中断当前操作
  • CTRL + c
  • 清屏
  • CTRL + l = clear
  • 换行
  • \\
  • 光标跳到行首
  • CTRL + a
  • 光标跳到行尾
  • CTRL + e
  • 清空到光标所在位置的前面所有内容
  • CTRL + u
  • 清空到光标所在位置的后面所有内容
  • CTRL + k
  • 查看历史命令 (默认保留1000行)
  • history
  • 调用历史命令
  • !n (ex: !22)
  • 清空历史命令
  • history -c
  • 字体放大
  • CTRL + SHIFT + +
  • 字体缩小
  • CTRL + -

Linux 目录结构


  • boot:存放系统引导文件和内核文件
  • bin:存放可执行文件(二进制文件)(ls,cat,mkdir)
  • sbin:root用户执行命令
  • home:普通用户的家目录
  • root:root用户的家目录
  • dev:放置所有设备文件(外设 u盘、磁盘、光驱)/dev/md* /dev/sd* /dev/hd*
  • etc: 放置所有配置文件(服务)
  • lib/lib64:动态链接库文件(共享库) 类似于 .dll
  • media:媒体库文件
  • opt:文件安装目录,安装软件就在opt目录下
  • mnt:挂载点目录 mount * *
  • var: 存放一些需要改变数据的文件 日志,某些大文件的溢出区
  • proc:虚拟文件系统目录,放的是内存的一个映射
  • cat /proc/cpuinfo # 查看CPU运行状态
  • cat /proc/meminfo # 参看内存运行状态
  • cat /proc/version # 查看系统版本
  • uname -m # 查看CPU架构
  • uname -r # 查看内核版本
  • usr: 最大的目录 只要用到的目录或者文件都在这儿 /usr/sbin  /usr/doclinux
  • tmp: 共享文件夹,临时目录
  • lost+found:平时为空,只有系统在非正常关机时才会有,保存意外掉电内存数据

Linux中,如何获得命令帮助

  • help (内部命令) cd,kill 56条
    - ex:help cd
  • –help (适用于大多数外部命令查找) ls
    - ls --help
  • 使用man手册进行命令查看(man:命令阅读手册)
  • “男人没有什么搞不定的”
  • man 命令字
  • 上下键滚动文本
  • Page down & Page Up 上下翻页
  • 空格也支持翻页,回车键走一行
  • 输入 / ,可以查找
  • info 也可进行命令帮助查找(使用与man接近)
  • pinfo 命令字 以浏览器的形式查看详细的GUN信息
  • /usr/share/doc # 所有已安装软件的说明文件
  • firefox file:///usr/share/doc

Linux 常用命令

目录操作命名


  • cd命令: 切换工作目录
  • cd [目录位置]
  • 绝对路径: cd /home/ruochen
  • 相对路径:
  • cd . 切换到当前目录
  • cd … 返回到上一级目录
  • cd - 返回上一次所在的工作路径
  • cd …/…/ 返回到上一级目录的上一级目录
  • cd ~ 返回到用户的家目录
  • pwd: 查看当前所在的工作目录
  • ls: 列出当前目录下的文件或者目录

在Liunx中,以.开头的文件是隐藏文件

- 格式: ls [选项] [目录或文件名]
- 选项:
- -l 以长格式显示
- -a 显示所有文件目录信息,包括隐藏文件
- -d 显示目录本身的属性
- -h 显示详情信息,变换了统计单位
- --color 以颜色区分不同类型的文件
- ll == ls -l
  • mkdir: 创建一个新目录
  • 格式: mkdir [选项-p] [路径] 目录名
  • -p: 递归创建多级目录
  • mkdir -p b/c/e/f/g
  • rmdir: 删除一个空目录
  • -p: 递归删除

文件操作命令


  • touch,cp,mv,rm,find
  • touch: 创建一个空文件,更新文件时间标记
  • 格式: touch filename

在Linux中,不以后缀区分文件

  • echo: 打印某个东西
  • 重定向写
  • echo “hello world” > a.txt
  • cp: 复制文件或者目录
  • 格式: cp [选项] 源文件/目录 目标文件/目录
  • -r: 递归复制整个目录树
  • cp /root/aa/a.txt /root/bb
  • cp …/aa/a.txt .
  • rm: 删除文件或目录

rm -rf * 从删库到跑路

- 格式: rm [选项] 文件或者目录
- -r: 递归删除整个目录树
- -f: 强制删除不给任何提示
  • mv:移动文件或者目录
  • 格式: mv [选项] 源文件/目录 目标文件/目录
  • mv text/b.txt text-2/
  • 注: 若移动目标位置与原位置相同(当前下操作),则此操作相当于重命名
  • mv text text-1
  • find: 用于查找文件或者目录
  • 格式: find [查找范围] [查找条件]
  • 查找条件
  • -name: 按文件名查找
 [root@localhost ~]# find / -name initial-setup-ks.cfg
/root/initial-setup-ks.cfg
[root@localhost ~]# find / -name initial-*
/root/initial-setup-ks.cfg
[root@localhost ~]# find / -name initial-*-*
/root/initial-setup-ks.cfg
[root@localhost ~]#
  • -type: 按文件类型查找
  • f: 普通文件
  • d: 目录
  • b: 块设备文件
  • c: 字符设备文件
 [root@localhost ~]# find / -name text -type d
  • -user: 按文件属主查找(这个文件是谁的)
 [root@localhost ~]# find / -user ruochen -name initial-setup-ks.cfg -type f
[root@localhost ~]# find / -user ruochen -type f -name ruochen.initial-setup-ks.cfg
  • -size: 按文件大小进行查找
 [root@localhost ~]# find /var/ -size +10k -type f
[root@localhost ~]# find /var/ -size -1k -type f
[root@localhost ~]# find /var/ -size +10k -size -11k -type f
  • -a: 逻辑与
  • -o: 逻辑或
 [root@localhost ~]# find / -name anaconda-ks.cfg -o -name initial-setup-ks.cfg 
/root/anaconda-ks.cfg
/root/initial-setup-ks.cfg
  • !: 逻辑非
 [root@localhost ~]# find / ! -name temp -type f
  • alias 别名; 为使用频率较高的命令设置简短的调用名称
  • 查看当前用户所有别名
    alias [别名]
  • 设置别名
    alias 别名=“实际执行的命令”
  grep -c boot initial-setup-ks.cfg 
7
[root@localhost ~]# alias aa="grep -c boot initial-setup-ks.cfg "
[root@localhost ~]# alias aa
alias aa=grep -c \\boot\\ initial-setup-ks.cfg
[root@localhost ~]# aa
7
  • 取消别名: unalias [别名/-a]
  • -a: 取消所有别名
  [root@localhost ~]# unalias aa
  • 让别名永久生效
  • 将别名设置在~/.bashrc文件中
  • vim .bashrc

cd cd. cd…
针对目录来说 . 当前位置/目录 pwd
针对文件来讲 . 在Linux中代表隐藏文件

cd

cd.

cd …

什么都不跟,代表切换到当前用户家目录

当前目录

代表切换到上级目录

~ 代表用户家目录
- 上次所操作的目录

文件内容操作命令


  • cat,less,head,tail,grep,wc
  • cat: 文件内容查看,显示出文件的全部内容
  • 格式: cat filename
  • less(more): 全屏方式分页显示文件内容
  • 格式: less/more filename
  • 按回车Enter逐行滚动
  • 按空格键向下翻页
  • 按b键向上翻页
  • 按q键退出
  • more用法与less一致,只是多了一个百分比显示
  • head(头部): 显示文件头部若干行,默认10行
  • 格式: head [选项] filename
  [root@localhost ~]# head -n 5 initial-setup-ks.cfg 
  • tail(尾部): 显示文件尾部若干行,默认10行
  • 格式: tail [选项] filename
  [root@localhost ~]# tail -n 5 initial-setup-ks.cfg 
  • wc: 统计文件内容的,默认情况下统计结果为: 行数 词数 字节数
  • 格式: wc [选项] filename
  [root@localhost ~]# wc initial-setup-ks.cfg 
  • 选项:
  • -w: 统计字数 一个字被定义为由空白,跳格(制表符),换行以这些为分割字符串
  • -l: 行数
  • -c: 字节数
  • -m: 字符数 -m -c不能一起使用
  • -L: 打印最长行的长度
  [root@localhost ~]# wc -l -c -w -L initial-setup-ks.cfg 
  • grep: 在文件中查找并显示包含指定字符串的行
  • 格式: grep [选项] 查找条件 目标文件
  • 选项:
  • -c: 显示匹配行的数量
  • -i: 查找时不区分大小写
  • -v: 反转查找
  [root@localhost ~]# grep -c boot initial-setup-ks.cfg 
7
[root@localhost ~]# grep -c -v boot initial-setup-ks.cfg
42
[root@localhost ~]# grep -i agent initial-setup-ks.cfg
  • 查找条件设置:
  1. 查找条件用引号引起来
  2. “^…”: 表示以… 开头
  3. “…$”: 表示以… 结尾
  4. “^$”: 匹配空行
 [root@localhost ~]# grep -c ^$ anaconda-ks.cfg 
[root@localhost ~]# grep -cv ^$ anaconda-ks.cfg
[root@localhost ~]# grep -c ^# anaconda-ks.cfg
12
[root@localhost ~]# grep -c ation$ anaconda-ks.cfg
5

归档及压缩命令


  • tar: 压缩与解压缩 制作归档文件和释放归档文件
  • 格式:
  • 制作归档文件
    tar [选项] [目录]/归档文件名 原文件/目录
  • 释放归档文件
    tar [选项] 归档文件 [-C 目标文件]
  • 命令:
  • 压缩:
  • tar -czvf [存放路径]归档文件名.tar.gz 原文件/目录
  • tar -cjvf [存放路径]归档文件名.tar.bz2 原文件/目录
  • -c 压缩
  • -z 压缩为.gz 格式
  • vf 显示详情信息
  • -j 压缩为.bz2格式
  • 解压缩:
  • tar -xzvf [存放路径]归档文件名.tar.gz [-C 解压目录]
  • tar -xjvf [存放路径]归档文件名.tar.bz2 [-C 解压目录]
  • -x 解压
  tar -czvf text.tar.gz text
tar -cjvf text.tar.bz2 text
tar -czvf /root/var.tar.gz /var/
tar -cjvf /root/var.tar.bz2 /var/
tar -czvf a.tar.gz text-1 text-2

[root@localhost ~]# tar -xzvf text.tar.gz
[root@localhost ~]# tar -xjvf text.tar.bz2
[root@localhost ~]# tar -xjvf text.tar.bz2 -C test

.gz格式
.bz2格式
.bz2格式压缩率比.gz格式压缩率高


以上是关于超实用的adb与adb shell常用命令汇总的主要内容,如果未能解决你的问题,请参考以下文章

Android 中常用的 adb shell 命令

adb 简介及常用命令

ADB常用命令

Android 常用adb命令

adb测试常用命令

常用的adb命令