Android中常用的Linux指令以及Root原理浅析

Android操作系统底层linux

2.6.x内核

Linux文件的访问权限:

rwx rwx rwx
111 111 111
r: 可读
w:可写
x:可执行

7 7 7
600
4755
755

Android操作系统的目录结构

  • data目录: 保存应用程序的数据

    • /data/app目录 用户安装的应用程序的apk
    • /data/anr目录 开发人员使用定位anr异常
    • /data/system目录 系统配置信息,注册表
  • dev目录 : devices英文单词的缩写

    linux操作系统所有的设备都是用文件表示的

  • mnt 外置的挂载上来的设备

    sdcard u盘

  • proc 虚拟的文件系统 目录 配置(进程的信息),状态信息(cpuinfo meminfo)

  • sys 类似 /proc ,也是虚拟的文件系统 .里面主要表示硬件设备信息和设备驱动信息

  • sbin

    system bin系统重要的二进制文件
    adbd: adb调试桥的服务器端进程

  • system 系统目录文件夹(重要) Android系统标准目录结构

    • /system/app目录 系统应用程序目录 默认卸载不掉
    • /system/bin目录 可执行的二进制程序
    • /system/etc 扩展目录
    • /system/fonts 字体目录
    • /system/framework 框架平台中间件
    • /system/lib 类库 c/c++代码
    • /system/media 媒体资源
    • /system/tts 语音发声引擎 不支持中文
    • /system/usr 用户设备的配置信息 按键编码映射
    • /system/xbin 二进制文件,为开发人员提供的二进制文件

常见的linux指令

建议大家在练习操作指令时在:/data/local/tmp 临时目录中练习。目录里面的文件都是可以任意操作


  • su

superuser 切换到超级管理员,无所不能的
# 超级管理员
$ 一般用户

  • rm
    remove 删除一个文件
    rm 文件名
    rm *.txt
  • ls
    list
    列出来所有的文件和文件夹
    ls -l 列出来文件的详细信息 c驱动 d文件夹 -文件
    ls -a 显示隐藏文件 文件名前缀带. 就是隐藏文件
  • cd
    切换到某个目录 cd .. 切换到上级目录
  • cat
    猫,好奇害死猫
    查看文件详细内容的指令
    cat 文件名
    注意: 一定不要cat 二进制程序
  • mv
    move 移动
    move 源地址 – > 目标地址
    常用于文件的重命名 move 源文件名称 目标文件名称
  • cp
    copy 拷贝文件 在Android操作系统并没有被引入进来,用cat命令代替
  • mkdir
    make dir 创建文件夹
  • rmdir

删除文件夹
rm -f xxxx 删除一个非空文件夹的命令

  • chmod

    change mode
    更改文件的模式,权限
    修改为最高权限 chmod 777 文件名

  • touch

    创建文件 操作文件的指令
    touch 文件名 如果文件不存在,直接创建文件,如果文件存在,什么事情都不发生

  • echo

    回显数据, 数据的重定向
    echo ‘abcdef’ > gaga.txt
    向gaga.txt 文件里面写入内容 abcdef
    可以利用重定向符号去实现文件的拷贝

    cat gaga.txt > hoho.txt 将gaga.txt文件的内容复制到 hoho.txt文件中,如果没有hoho.txt文件,将会自动创建

  • sleep

    .sh linux系统的下的批处理文件
    sleep 睡眠函数 用于延迟多久执行命令

  • df

    df /mnt/sdcard 列出来一个目录的空间状态信息

  • id

    打印获取当前的用户组
    android系统给不同的应用分配了不同的用户
    uid, user id,用户id
    uid=0(root) 无所不能,非常强大 如来佛祖
    uid=1000(system) 系统用户 比较强大 玉皇大帝
    uid=2000(shell) 命令行窗体 执行adb指令
    uid=(10000+) 一般应用程序的id 如果不声明权限,什么危险的操作都干不了

  • ps

    列出来操作系统运行的所有的进程

  • kill
    杀掉进程
    kill 进程pid
  • reboot
    重启 root权限下
  • chown
    change owner 更改所有者
    chown 当前文件所有者.当前文件所有者组(0.0 1000.1000 2000.2000 ) 文件名
  • mount
    挂载,只有文件系统被挂载才可读可写
    mount -o remount rw / 挂载当前目录为可读可写权限
    mount -o remount ,rw /system 删除任意的文件
  • Android下特有的linux指令

    • am

      activity manager
      am start -n top.lengzheng.linuxcommand/top.lengzheng.linuxcommand.MainActivity 开启一个应用程序
      am force-stop top.lengzheng.linuxcommand 强行停止应用
      am startservice 开启服务 am startservice -a xxxx (xxx表示action的值-a表示动作,就是你在Androidmanifest里定义的)
      am broadcast 发送广播 am broadcast –a XXX (xxx表示action的值)

    • pm

      package manager 包管理器
      pm clear PACKAGE 清除应用程序数据
      pm disable PACKAGE_OR_COMPONENT 冻结应用程序(深度冻结)
      pm enable PACKAGE_OR_COMPONENT 解冻应用程序(深度解冻)
      pm install xxxxxx.apk
      pm unstall 包名

    • monkey

      猴子 自动化压力暴力测试
      monkey -p top.lengzheng.linuxcommand 1000

    • sendevent

      sendevent /dev/input/event0 3 0 +pointX 水平方向坐标
      sendevent /dev/input/event0 3 1 +pointY 垂直方向坐标

    如果想让真实的手机执行这些指令

    前提条件: 手机必须要root权限,手机要刷root

    刷root的原理

    就是把su二进制文件拷贝到 /system/bin 或者/system/xbin

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值