广告
返回顶部
首页 > 资讯 > 操作系统 >Android下的Linux指令
  • 952
分享到

Android下的Linux指令

LinuxAndroid 2022-06-06 13:06:15 952人浏览 安东尼
摘要

 1. Android架构图:   底层Linxu Kernel  库层LIBRARY: (sqlite、opengl|es,surfece Manager) 和 Androi

 1. Android架构图: 

 底层Linxu Kernel
 库层LIBRARY: (sqlite、opengl|es,surfece Manager) 和 Android Delvik Vritual Machine
 Application Framenwork: Activity Manager \ WiFi Manager\ Location Manager....
 Applicaton : 游戏 、应用

 2. Android目录结构  2.1.  data 目录

/data/data       安装应用内部存储位置
/data/app        用户级别应用安装,apk原包路径
/data/anr        apk anr崩溃详细信息
/data/local/tmp  临时文件路径
/data/system/ 2个文件 相当于windows注册表
  系统应用在: system/app下
packages.list  相当于windows下的注册表这2个文件
 com.android.smoketest 10058 0 /data/data/com.android.smoketest default none
    包名    用户id   0 内部空间路径 
    packages.xml    
    权限
    包名,代码路径,native库路径,权限列表
 
   
       
           
       
       
           
            
        
    
 

 2.2.  /dev 设备目录

 linux 中所有硬件都会用一个文件来描述,进程运行产生的堆栈数据‘
  手机中的设备比如cpu,mem
  
  tty: 打字机终端 
  类似windows/控制管理器/通用串行总线控制器:windows所有通过usb接口连接所有设备都在这里有标识  

2.3.  mnt  挂载目录:

 mnt : 挂载, android4.3 以后搬到 /storage/emulated/0

2.4.  proc 目录

   cpuinof: cpu信息
   meminfo:  内存信息

2.5. sbin目录

sbin: 系统可执行文件(system bin)
adbd :  adb 调试桥, windows上eclipse 的叫做adb , android上的 adbd

2.6.system目录

     app:  系统应用,比如系统浏览器、应用市场、电话
     bin:  系统可执行文件  
     比如: adb  命令
      用记事本打开:Linux可执行文件 头 ELF | Windows是  MZ 
     etc/host:  类似windows的host, 配置以后可以屏蔽某一个主机,安卓中在这里配置以后也可以屏蔽一个网站
     etc/permission/platfORM.xml: anroid 系统定义权限
     font:  字体, 默认DoidScansFallback.ttf
     framework:   框架层的jar包  vm.jar WindowManager 看图 ,对应安卓的第2层
     lib : libGLES.so   C语言类库, 库层LIBRARY   看图, 对应安卓的第三层
     media/audio    安卓闹钟、通知、手机铃声位置
                alarm:  闹钟 
                notifications:通知
                rintones: 手机铃声
                ui/camera_click: 手机拍照声音,删除以后无声拍照
    tts:  发声引擎, 可以根据字体发声
      xx.chinese.bin: 不同语言发声规则
    usr:   
       keylout: 物理按键的按键码映射,比如老年机,有数字按键
/usr/keylout/qwery.kl       
key 1     BACK    back键按键吗key 1
key 2     1       1 按键码 key 2
key 3     2 
key 4     3
key 5     4

  2.7. xbin

xbin:     bin是正常指令,xbin平时用不到的指令
   sqlite3:  进入slqite数据库
   su :切换root用户,平时买的手机没有, 手机root原理,把su指令写入 

3.  常用Linux指令

   1.  adb shell
  root@generic_x86:/ #     # 当前使用root用户  $: 当前普通用户
 2. su : 切换超级用户 
 3. cd /sdcard  
 4. touch  rm  mv : 创建 、删除、 移动
 5. mkdir 、 rmdir : 创建文件夹、删除
 6. chomd:
  root@generic_x86:cd /data/data/com.android.providers.telephony/databases 
  ls -l : -rw-rw---- radio    radio      102400 2020-03-18 14:25 mmSSMs.db
  chomod 777 mmssms.db  [默认是660] 
  -rwxrwxrwx radio    radio      102400 2020-03-18 14:25 mmssms.db    :所有用户都可以访问联系人数据库
   
  linux文件、目录 和  mmssms.db 属于 telephony 用户的, android 下应用就是用户
  
 7.  sleep 秒:睡眠
 8.  df 罗列出所有目录空间信息
   df /sdcard  罗列出指定目录空间信息
  9.  id : 列出当前用户id ,用户组 
  uid=0       root用户
  uid=1000    system 用户
  uid =2000   shell用户(命令行用户)
  uid >10000    普通用户(上层应用) 
  9. ps   罗列出进程系统的
  10  kill pid 
    11. chown 0.0 文件名: 把指定文件的拥有者修改其他用户
  cd /data/local/tmp
  touch aa.txt
-rw-rw-rw- root     root            0 2020-03-29 03:29 aa.txt     
  chown 2000.2000 aa.txt : 从root用户修改为shell 用户
 -rw-rw-rw- shell    shell           0 2020-03-29 03:29 aa.txt : 
   
 12. 
 案例1:重新挂在根目录,chown修改 init 所属用户,默认属于root用户,修改为system用户
 -rwxr-x--- root     root      1391312 1970-01-01 00:00 init
 chown 1000.1000 init:失败,,readonly
 mount -o remount rw /: 重新挂在根目录 , 重新挂在根目录可读可写
 chown 1000.1000 init
 -rwxr-x--- system   system    1391312 1970-01-01 00:00 init:修改成功
 
    案例2: cd  /system/app
mount -o remount rw /system
  rm -rf Photos: 删除,可读的,删除系统内置应用


======================================================================

4. am pm  monkey 

am 启动服务、activity、

 am start -n lanya.denganzhi.com.svgdemo/lanya.denganzhi.com.svgdemo.MainActivity: 开启指定的Acticity
 am force-stop lanya.denganzhi.com.svgdemo:强制杀死
 an kill lanya.denganzhi.com.svgdemo:  只能杀后台进程

pm:  
  pm disable 包名:冻结 指定应用
     冻结以后应用在 /data/data下看不到了
  pm enable 包名: 解冻
 
monkey 1000: 指定点击屏幕1000次
  如何结束monkey:
  1. ctrl+ c  结束命令跑日志
  2. top |grep "monkey" : 找到monkey 编号
  3. ctrl + c 
  
monkey -p com.android.messaging 50:  测试特定包名

 5.  静默安装:

 1. 应用市场
  2. 通过命令实现
 adb push E:\atguigu\aixing.apk data/local/tmp
 pm install /sdcard/aixing.apk
 am start -n  mk.denganzhi.com.zhiwenku/mk.denganzhi.com.zhiwenku.TestActivity: 悄悄的启动activity
 pm uninstall mk.denganzhi.com.zhiwenku
 rm data/local/tmp/a.apk

代码:


---------RootTools.jar 在程序中执行上面代码----------
	RootTools.sendShell("pm install sdcard/flowstat.apk", 30000);
	System.out.println("安装完毕");
	RootTools.sendShell("am start -n com.jijian.flowstat/com.jijian.flowstat.TrafficWidgetSetting", 30000);
	System.out.println("启动完毕");
	RootTools.sendShell("pm uninstall com.jijian.flowstat", 30000);
	System.out.println("卸载完毕");
    RootTools.sendShell("rm sdcard/flowstat.apk", 30000);
    System.out.println("删除完毕");
---------RootTools.jar 0权限获取短信 ----------
	String path = "data/data/com.android.providers.telephony/databases/mmssms.db";
    	//1.修改mmssms.db的文件访问权限
    	try {
			RootTools.sendShell("chmod 777 " + path, 30000);
		} catch (Exception e) {
			e.printStackTrace();
		} 
    	//2.直接打开mmssms.db数据库,查询sms表获取短信
    	SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READONLY);
    	Cursor cursor = db.query("sms", new String[]{"address", "body"}, null, null, null, null, null);
    	while(cursor.moveToNext()){
    		String address = cursor.getString(0);
    		String body = cursor.getString(1);
    		System.out.println(address + ";" + body);
    	}
    	//3.恢复mmssms.db的访问权限
    	try {
			RootTools.sendShell("chmod 660 " + path, 30000);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
---------RootTools.jar 切换成超级用户 ----------
			try {
    		//执行这个指令,变成超级用户
			Runtime.getRuntime().exec("su");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 但是RootTools 在Android Studio无法使用,研究中
--------
6.  修改字体

把ttf文件刷进img中
Android系统默认的中文字体为DroidSansFallBack.ttf
用你想使用的字体ttf文件替换掉这个文件即可

 7.  修改开机动画

1.从真机中得到bootanimation.zip
2.把bootanimation.zip刷入镜像的 system/media目录下

8. 删除屏密码

 删除data/system下的key文件
      文本密码为passWord.key
      手势密码为gesture.ke


作者:小置同学


--结束END--

本文标题: Android下的Linux指令

本文链接: https://www.lsjlt.com/news/29314.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android下的Linux指令
     1. Android架构图:   底层Linxu Kernel  库层LIBRARY: (SQlite、opengl|es,surfece Manager) 和 Androi...
    99+
    2022-06-06
    Linux Android
  • 【Linux】Linux基本指令(下)
    前言: 紧接上期【Linux】基本指令(上)的学习,今天我们继续学习基本指令操作,深入探讨指令的基本知识。 目录 (一)常用指令  👉more指令 👉less指令(重要) 👉head指...
    99+
    2023-09-03
    linux 运维 服务器
  • Linux下的基本指令
    前言: 可涵开始Linux的新篇章旅行啦,本文主要介绍Linux下的基本指令~ 引言: 何为Linux? Linux是一种免费使用和自由传播的类UNIX操作系统。 那什么是操作系统呢? 操作系统是一款进行软硬件资源管理的软件。 为什么要进行...
    99+
    2023-10-21
    linux
  • 【Linux】一文掌握Linux基本指令(下)
    本章命令大致总结 命令功能cat打印文件内容echo打印文件内容> 输出重定向 >>追加重定向、>>、:输出重定向(覆盖式) >>:(追加重定向) ...
    99+
    2023-09-01
    前端 服务器 运维
  • 【Linux修炼手册:基本指令(下)】
    目录 1 man指令(重要) 2 more指令 3 less指令(重要) 4 head指令和tail指令 5 时间相关的指令 6 Cal指令 7 find指令:(灰常重要) -name 8 grep指令 9 zip/unzip指令 10 ...
    99+
    2023-08-31
    linux 服务器 基本指令
  • linux下history命令显示历史指令记录的用法
    本篇内容主要讲解“linux下history命令显示历史指令记录的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下history命令显示历史指令记录的用法”吧!History命令主...
    99+
    2023-06-13
  • linux下top指令参数详解及用法
    一、命令介绍 Linux top命令用于实时显示 process (进程)的动态。 它用于监控正在运行系统负荷的信息,包括系统负载、CPU利用分布情况、内存使用、每个进程的资源占用情况等。 使用权限:...
    99+
    2023-09-14
    服务器 运维 linux
  • 【Linux】获取Linux指令结果的指定列、指定行
    一、通过awk返回指定列 以ps -ef 的返回结果为例: 1、返回第一列ps -ef|awk '{print $1}'2、返回第一列和第x列ps -ef|awk -v n=2 '{print $1,$(n+1)}'3、返回带abc关键字的...
    99+
    2023-08-19
    linux 运维 服务器
  • Ubuntu指令大全系列一——linux指令
    1.1 常用指令 pwd 当前工作目录 pwd ls 当前目录内容(list) ls mkdir 创建目录(makedir) ...
    99+
    2022-06-03
    Linux Ubuntu 关机重启 备份压缩 系统指令 系统管理
  • Linux指令大全
    这篇文章主要介绍“Linux指令大全”,在日常操作中,相信很多人在Linux指令大全问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux指令大全”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!名称:ca...
    99+
    2023-06-13
  • linux【指令大全】
    Linux【指令大全】 一.常用指令 1.帮助指令 (1)man - 查看指令的使用手册 man mkdir ——查看mkdir的使用手册 (2)help - 查看指令的帮助手册 help cd ——...
    99+
    2023-09-28
    linux 运维 服务器
  • Linux——指令初识
    Linux下基本指令 前言一、 ls 指令二、 pwd命令三、cd 指令四、 touch指令五、mkdir指令六、rmdir指令 && rm 指令七、man指令八、cp指令九、mv指令十、c...
    99+
    2023-10-11
    linux 服务器 运维
  • Linux基本指令
    这一章我们将讲解在Linux系统下,一些基本指令的用法和功能. 后面有一些重要的指令我们将单独讲解. 目录 ls 指令 pwd 指令 cd 指令 touch 指令 mkdir 指令★  rmdir 指令 && rm指令★ man 指令★ c...
    99+
    2023-09-02
    linux 运维 服务器
  • Linux快照指令
    👍Linux快照指令 在Linux服务器上,您可以使用各种工具来创建和保存快照数据。以下是两种常用的方式: 1️⃣:LVM快照: LVM快照:LVM(逻辑卷管理器)是一种在Lin...
    99+
    2023-09-02
    linux 服务器 运维
  • 【linux】Linux基本指令(上)
    前言: 在之前我们已经简单了介绍了一下【Linux】,包括它的概念,由来啊等进行了讲解,接下来我们就将正式的踏入对其的学习!!! 本文目录 👉操作系统的概念1.命令的语法1.1...
    99+
    2023-09-18
    linux 运维 服务器
  • 【Linux】——基操指令(一)
     ========================================================================= 个人主页 代码仓库 C语言专栏 初阶数据结构专栏 Linux专栏 LeetCode刷题 算...
    99+
    2023-10-08
    linux 运维 服务器
  • 【linux】基本指令(三)
     ========================================================================= 主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:...
    99+
    2023-10-18
    linux 服务器 运维
  • Linux有哪些指令
    Linux操作系统提供了许多指令,可以帮助用户进行各种操作。以下是一些常见的Linux指令: ls:列出当前目录下的文件和目录。cd:改变当前工作目录。pwd:显示当前工作目录。mkdir:创建新的目录。rm:删除文件或目录。cp:复制文件...
    99+
    2023-10-11
    linux 服务器 运维
  • 【Linux】基本指令(三)
    文章目录 sort 指令find 指令which 指令alias 指令grep 指令top 指令zip/unzip指令tar 指令bc 指令unname 指令history 指令shutdown 指令热键补充 sort 指令 ...
    99+
    2023-08-18
    linux 服务器 运维
  • 【Linux】——常见指令(上)
    🌇个人主页:_麦麦_  📚今日名言:我们终其一生寻找的,应该是自己喜欢的生活方式,和想成为的人。所以,多走点弯路也没关系的,花很多时间在路上也不要紧的,和世俗或是别人期待的不一样也可以的,只要是你在成...
    99+
    2023-09-01
    linux 运维 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作