[CM311-1A]-Android 分区管理以及系统启动流程和目录解析 - Go语言中文社区

[CM311-1A]-Android 分区管理以及系统启动流程和目录解析


##################################################

目录

Android 启动流程解析

安卓设备硬件简介

手机处理器 SoC

CPU 中央处理器

GPU 图形处理器

ISP 图像信号处理器

MODEM 通信处理器

基带处理器

ROM 内存容量与 ROM 固件概念

RAM 运行内存

安卓分区扫盲

分区的概念

Bootloader 引导加载器分区

Fastboot 线刷模式

Recovery 分区以及 Recovery 恢复出厂模式

Modem 分区

安卓系统简要启动流程

Android 正常启动流程

Android 软件系统架构

安卓系统架构一览

安卓软件系统架构详解

Android 操作系统常见目录解析

system 分区常见目录

/system/bin 与 /system/xbin 目录

/system/media 和  /system/media/audio 目录

/system/app 跟 /system/priv-app 目录

/system/etc

/system/fonts

/system/lib

/system/framework

/system/build.prop

data 分区和 cache 分区

/data/data 目录

/data/app 目录

/data/misc 目录

/data/local/tmp 目录

/data/anr/traces.txt 文件与 /data/system/dropbox/*.txt 文件们

/data/location/gps 目录和 /data/system/location/ 目录以及 /data/property/ 目录

SD 卡目录

安卓系统分区操作

安卓系统查看磁盘使用情况

查看根分区目录

df -h 常用查看存储情况

df -ah 查看所有存储情况

查看分区数量

df 的 h 参数单独查看加载节点

查看分区表和分区名称的匹配关系

查看各分区容量

查看硬件信息和系统属性

查看设备

安卓系统对分区进行格式化及挂载操作

fdisk 命令竟然报错

lsusb 或 lsusb2 命令查看 usb 设备

格式化分区命令 mkfs.文件系统

mount 挂载 U 盘设备后就能操作了

umount 卸载 USB 设备


##################################################

Android 启动流程解析

——————————

安卓设备硬件简介

        手机的硬件设备和电脑一样 都需要不同的零部件拼装而成 只不过手机零部件相比于电脑零部件来说更精密

        手机必备的零部件包括:

CPU 处理器
RAM 运存
ROM 内存
GPU 处理器
屏幕
摄像头
电池容量
网络模块

        等等

%%%%%

手机处理器 SoC

        手机芯片名为 SoC/System on Chip/系统级芯片 也有称片上系统

        意指它是一个产品 是一个有专用目标的集成电路

可能很多人平时将她称为 CPU/中央处理器

        其实手机的处理器并不只是 CPU 而是一个片上系统

        一颗手机处理器包括了

CPU

GPU

基带

ISP

        等众多单元 而这些单元集成在一起便是 SoC !!!

        手机上的 soc 一般使用 ARM 架构
        ARM 架构由 ARM 公司研发
        ARM 公司会将 ARM 公版架构授权给芯片设计公司
        由芯片设计公司对公版架构进行定制、改进以及最后的发布

%%%%%

CPU 中央处理器

        就是跟电脑一样的中央处理器

        手机 soc 的 CPU 一般会有 6 个或 8 个核心
        分为性能核心和能效核心

性能核心频率较高 架构较先进 主要应对手机需要处理大型任务的时候 同时耗电较多
能效核心一般频率较低 架构较低级 主要用于日常的用户使用

        现在来看几组 CPU 常用的丛集 常用为

1+3+4

4+4

2+6

2+4

    CPU 和电脑的 CPU 概念也差不多
    手机 CPU 好坏对系统是否能够流畅运行影响很大

    CPU 的功能包括
顺序控制
操作控制
时间控制
数据处理
计算机指令解释
计算机软件中的数据处理
    计算机中的所有操作都由 CPU 读取解码并执行指令

    很多 CPU 都可以超频工作 需刷机 root

%%%%%

GPU 图形处理器


        CPU 主要负责逻辑指令的执行和处理

        但是当 CPU 遇到大量的简单计算时复杂的逻辑处理反而会降低运行效率
        那这大量的简单计算究竟交给谁呢 那就是 GPU

GPU 主要负责图形渲染等计算工作 减轻 CPU 负担 增强游戏体验

%%%%%

ISP 图像信号处理器


        我们平时用手机拍照录像的图像信号都会由 Image Signal Processing/ISP 进行处理
        目前 ISP 芯片分为两种

一种是集成式 她跟 CPU、GPU 基带等一起集成在 soc 中
另一种是独立式 其拥有明显的优势 在图像处理能力和成像质量上都更加优秀

        而且独立 ISP 一般是手机厂商根据不同机型的摄像硬件定制 也能更好的发挥出手机相机的实力

%%%%%

MODEM 通信处理器

        手机除了普通的 CPU 芯片以外 还有 MODEM 处理器芯片

        该芯片的功能就是实现手机必需的通信功能

%%%%%

基带处理器

        手机基带又称为 Radio 是手机中的一块电路

        主要的作用是负责完成移动网络中无线信号的解调、解扰、解扩和解码的工作

        手机通常由两大部分电路组成
        一部分是高层处理部分 另一部分就是基带

基带英文全称 Baseband/信源 信息源也称 发终端

        发出的没有经过 调制/进行频谱搬移和变换 的原始电信号所固有的 频带/频率带宽 称为基本频带 简称基带

        简单来说手机处理器负责处理信息

        而我们上网或通话时无线信号的收发均由基带完成

        基带也分为集成式和外挂式

在骁龙 888 之前 高通骁龙 8 系一直使用的是外挂基带
这是因为骁龙 865 及以前的处理器均使用的是 7nm 以上制程 处理器内部寸土寸金
如果要保证 soc 的面积大小不变强行把基带集成进 soc 那必然会带来性能的牺牲
而如今的骁龙 888 使用了 5nm 制程 使得 soc 在相同面积内能容纳下更多的晶体管
所以高通这次就把基带集成进了 soc

    基带芯片是指用来合成即将发射的基带信号或对接收到的基带信号进行解码的芯片
    具体地说 就是发射时 把语音或其她数据信号编码成用来发射的基带码
    接收时 把收到的基带码解码为语音或其她数据信号
    主要完成通信终端的信息处理功能

%%%%%

ROM 内存容量与 ROM 固件概念


        ROM 手机内存容量即手机内部存储空间 和电脑的硬盘可以说是一个概念

ROM 的大小 影响手机内部可以放多少东西

        个人觉得最好软件装 ROM 里 媒体文件等等放手机内存卡里

        ROM 固件和 ROM 内存不是一个概念

        就是各大论坛上说的固件 可以简单理解为刷入的系统 就像从网上下的 .iso 系统镜像

        在 Android 系统领域里有原生的 Android 系统 现在大多数 Android 手机厂商的出厂手机都是原生的
        还有基于原生系统上的优化系统 OS 等等

        可以这样理解 原生的 Android 系统就像原版的 XP

        优化系统就相当于 雨林木风版、深度版 XP 等等

        一般而言 后者都要比原生的 Android 系统具有更良好的性能

        而且有些差别很大 要比官方的系统在性能上好很多

        当然也有其她的一些缺点,比如没有原生系统稳定 这点在中低端手机会特别明显

%%%%%

RAM 运行内存

        简称运存

这个和电脑的内存差不多

        RAM 的大小影响手机可以同时运行多少软件 尤其是特别占运存的软件

——————————

安卓分区扫盲

        如果没有安卓分区知识 建议看一下这篇文章:

[探索 Android 设备分区]-安卓手机分区扫盲!折腾狂必看~~_燃吹的博客-CSDN博客_手机分区安卓系统是怎么分区的?用户权限扫盲/为什么需要 root 手机示例获取安卓 5.0.2手机信息以及系统分区详解安卓 6.0 系统分区传统安卓的 non-A/B 分区传统分区介绍传统系统升级方案安卓 7.0 之后的A/B 和 VAB 分区结构A/B 主备分区A/B 分区的系统升级方式以及优缺点A/B 分区结构虚拟 AB 分区安卓 10 之后的动态分区Shared System Image/SSI 概念动态分区和super 概念示例一个 Android 10 的默认分区方案...https://blog.csdn.net/m0_67268286/article/details/125128226

        下面主要是介绍了一下 Android 手机的硬软件结构以及主要分区的内容并简要的介绍了一些开机启动的过程

%%%%%

分区的概念

        可以简单的把手机的 ROM 存储类比为我们电脑上的硬盘

        这个硬盘被分成了几个分区:

bootloader 分区
boot 分区
system 分区

        等等

        所谓的刷机我们可以简单的理解成把软件安装在手机的某些分区中类似于我们在电脑上安装 Windows 系统到 C 盘

        注意盘符的概念是微软创造的 盘符那一套在这里不适用 而是 Android 是基于 Linux 的挂载概念

        Android 的主要分区:

BootLoader 分区
Boot 分区
Recoverty 分区
System 分区
Data 分区
Modem 分区

%%%%%

Bootloader 引导加载器分区

        当按下电源键手机上电启动后,首先从 bootloader 分区中一个固定的地址开始执行指令

        bootloader 就是 Android 版本的的 BIOS !!!

        bootloader 分区分成两个部分,分别叫做

primary bootloader/主引导加载程序

secondary stage bootloader/二级引导加载程序

        bootloader 的 primary bootloader 部分主要执行硬件检测 确保硬件能正常工作
        然后将 secondary stage bootloader 拷贝到 内存/RAM 相应位置开始执行

Secondary stage bootloader 会进行一些硬件初始化工作 例如获取内存大小信息等 然后根据用户的按键进入到某种启动模式

        比如说大家所熟知的通过电源键和其她一些按键的组合进入到 recovery、fastboot、 或者选择启动模式的启动界面以及进入工厂模式等等

        我们在各大论坛上看到的 bootloader 通常指的就是 secondary stage bootloader
        不过我们不需要关心太多的细节 可以简单的理解为 bootloader 就是一段启动代码 根据用户按键有选择的进入某种启动模式

%%%%%

Fastboot 线刷模式

        fastboot 是 Android 定义的一种简单的刷机协议

        用户可以通过 fastboot 命令行工具通过 USB 来进行刷机

        例如:

fastboot flash boot boot.img    /* 把 boot.img 的内容刷写到 boot 分区中 */

        一般的手机厂商不直接提供 fastboot 模式刷机 而为了显示她们的 NB 之处总是会提供自己专有的刷机工具和刷机方法

        比如说三星的 Odin 摩托的 RSD 华为的粉屏等等

        但是其本质实际上是相同的 都是将软件直接 flash 到各个分区中
        这种通常称为线刷 是比较原始的方法

        当手机处于开不了机的情况下 可以使用相应厂家提供的工具进行刷入

        不过需要注意的是 有一些机型无法修改 boot 分区!

%%%%%

Recovery 分区以及 Recovery 恢复出厂模式

        recovery 是 Android 定义的一个标准刷机协议

        当进入 recovery 模式时 Secondary stage bootloader 从 recovery 分区开始启动

        recovery 分区实际上是一个简单的 Linux 系统

    当内核启动完毕后 开始执行第一个程序 init
init 程序是 Linux 系统所有程序的老祖宗
    init 会启动一个叫做 recovery 的程序
recovery 模式的名称也由此而来

        通过 recovery 程序用户可以执行清除数据、安装刷机包等操作

    一般的手机厂商都提供一个简单的 recovery 刷机 多数只能进行 upate 的操作 不能进行卡刷
    如果想要自已卡刷 则需要事先刷入第三方的 Recovery 然后选择刷机包

    大名鼎鼎的 CWM Recovery 就是一个加入了很多增强功能的 recovery
    要想用上 CWM Recovery 前提是 recovery 分区可以被刷写
    大家在论坛上看到的解锁 bootloader 通常指的就是解锁 recovery 或 fastboot 允许刷写 recovery 分区
    这样大家就可以用上喜爱的 CWM Recovery 了!

%%%%%

Modem 分区


        实现手机必需的通信功能

        大家通常所刷的 RADIO 就是刷写 modem 分区

        在所有适配的 ROM 中这部分是不动 否则会造成通话不稳定

——————————

安卓系统简要启动流程

    你有没有想过当我们按下电源键开机到进入到桌面到底是个什么样的过程呢?

%%%%%

Android 正常启动流程

        当我们只是按下电源键开机时 会进入正常启动模式

        Secondary stage bootloader/二级引导加载程序 会从 boot 分区开始启动

        Boot 分区的格式是固定的

首先是一个头部

然后是 Linux 内核

最后是用作根文件系统的 ramdisk

    一般针对每个机型的完整刷机包中会有一个 boot.img 文件 这就是 boot 分区镜像文件

        当 Linux 内核启动完毕后 就开始执行根文件系统中的 init 程序

        init 程序会读取启动脚本文件

init.rc
init.*.rc

    下面是我安卓中的 init 文件:
-rwxr-x---   1 root   root   1.4M 1970-01-01 08:00 init
-rwxr-x---   1 root   root   1.1K 1970-01-01 08:00 init.environ.rc
-rwxr-x---   1 root   root    29K 1970-01-01 08:00 init.rc
-rwxr-x---   1 root   root    15K 1970-01-01 08:00 init.recovery.amlogic.rc
-rwxr-x---   1 root   root   7.5K 1970-01-01 08:00 init.usb.configfs.rc
-rwxr-x---   1 root   root   5.5K 1970-01-01 08:00 init.usb.rc
-rwxr-x---   1 root   root    511 1970-01-01 08:00 init.zygote32.rc

        Android 内核挂载到

/nfsroot/androidfs

        之后根据

init.rc
init.goldfish.rc

        来初始化并装载系统库和相应程序等 直到开机完成

    init.rc 脚本包括了文件系统初始化、装载的许多过程

    init.rc 的工作主要是:
设置一些环境变量
创建 system、sdcard、data、cache 等目录
把一些文件系统 mount 到一些目录去
设置一些文件的用户群组、权限
设置一些线程参数
设置 TCP 缓存大小

        启动脚本文件的格式大家可以在网上找到很多参考资料 这里就不列出了

        根文件系统中有一个重要的配置文件

cmcc_jiangsu:/ # ls default.prop  -alh
lrwxrwxrwx 1 root root 23 1970-01-01 08:00 default.prop -> system/etc/prop.default
cmcc_jiangsu:/ #

        该文件的内容如下:

cmcc_jiangsu:/ # cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.build.version.release=9
ro.actionable_compatible_property.enabled=true
ro.secure=0
security.perf_harden=1
ro.allow.mock.location=0
ro.debuggable=1
tombstoned.max_tombstone_count=50
dalvik.vm.image-dex2oat-Xms=64m
dalvik.vm.image-dex2oat-Xmx=64m
dalvik.vm.dex2oat-Xms=64m
dalvik.vm.dex2oat-Xmx=512m
dalvik.vm.usejit=true
dalvik.vm.usejitprofiles=true
dalvik.vm.dexopt.secondary=true
dalvik.vm.appimageformat=lz4
pm.dexopt.first-boot=quicken
pm.dexopt.boot=verify
pm.dexopt.install=speed-profile
pm.dexopt.bg-dexopt=speed-profile
pm.dexopt.ab-ota=speed-profile
pm.dexopt.inactive=verify
pm.dexopt.shared=speed
dalvik.vm.dex2oat-minidebuginfo=true
debug.atrace.tags.enableflags=0
#
# BOOTIMAGE_BUILD_PROPERTIES
#
ro.bootimage.build.date=/* ... ... */
ro.bootimage.build.date.utc=/* ... ... */
ro.bootimage.build.fingerprint=/* ... ... */
persist.sys.usb.config=none
cmcc_jiangsu:/ #

        文件中的每一行对某个属性赋值

    需要注意的两个属性:
ro.secure
ro.debuggable

    如果
ro.secure=0
    允许我们运行 adbroot 命令
	通常大家说的内核 ROOT 指的就是 ro.secure=0
	ROOT 权限只是手机上有一个名为授权管理的程序 Superuser.apk 可以授予程序 root 用户的权限

    如果
ro.debuggable=1
	允许调试系统 APP

        init 程序读取启动脚本 执行脚本中指定的动作和命令

        脚本中的一部分是运行 system 分区的程序:

    system 的 bin 目录下存放的都是可执行程序
    其中有一个重要的可执行文件叫 app_process 一般称之为 Zygote
Zygote 是卵的意思 所有的 Android 进程都是由她生出来的

    Zygote 首先会加载 dalvik 虚拟机 然后产生一个叫做 system_server 的进程
system_server 顾名思义被称作 Android的 系统服务程序
    system_server 主要管理整个 android 系统

    示例:
cmcc_jiangsu:/ # ls /system
app                      etc       lib        priv-app             vendor
bin                      fake-libs lost+found product              xbin
build.prop               fonts     media      recovery-from-boot.p
compatibility_matrix.xml framework preinstall usr
cmcc_jiangsu:/ # ls /system -alh
total 2.2M
drwxr-xr-x 15 root root  4.0K 1970-01-01 08:00 .
drwxr-xr-x 23 root root     0 2015-01-01 08:00 ..
drwxr-xr-x 17 root root  4.0K 2022-06-26 11:03 app
drwxr-xr-x  3 root shell 8.0K 2022-06-26 11:03 bin
-rw-------  1 root root   14K 2022-06-26 10:21 build.prop
-rw-r--r--  1 root root   87K 2022-06-26 10:21 compatibility_matrix.xml
drwxr-xr-x 14 root root  4.0K 2022-06-26 11:03 etc
drwxr-xr-x  2 root root  4.0K 2022-06-26 11:03 fake-libs
drwxr-xr-x  2 root root   12K 2022-06-26 11:03 fonts
drwxr-xr-x  4 root root  4.0K 2022-06-26 11:03 framework
drwxr-xr-x  8 root root   16K 2022-06-28 15:29 lib
drwx------  2 root root  4.0K 1970-01-01 08:00 lost+found
drwxr-xr-x  3 root root  4.0K 2022-06-26 11:03 media
drwxr-xr-x  2 root root  4.0K 2022-07-10 17:17 preinstall
drwxr-xr-x 21 root root  4.0K 2022-06-26 11:03 priv-app
lrw-r--r--  1 root root     8 2022-06-26 10:22 product -> /product
-rw-r--r--  1 root root  4.4M 2022-06-26 10:22 recovery-from-boot.p
drwxr-xr-x  8 root root  4.0K 2022-06-26 11:03 usr
lrw-r--r--  1 root root     7 2022-06-26 10:22 vendor -> /vendor
drwxr-xr-x  2 root shell 4.0K 2022-06-26 11:03 xbin
cmcc_jiangsu:/ # ls /system/bin/app* -alh
lrwxr-xr-x 1 root shell  13 2022-06-26 10:21 /system/bin/app_process -> app_process32
-rwxr-xr-x 1 root shell 28K 2022-06-26 10:21 /system/bin/app_process32
-rwxr-xr-x 1 root shell 71K 2022-06-26 10:21 /system/bin/applypatch
-rwxr-xr-x 1 root shell  33 2022-06-26 10:21 /system/bin/appops
-rwxr-xr-x 1 root shell 232 2022-06-26 10:21 /system/bin/appwidget
cmcc_jiangsu:/ # ps -A | grep system_server
system        3612  2600 1426196 195968 SyS_epoll_wait      0 S system_server
cmcc_jiangsu:/ #

        system_server 启动完成后开始寻找一个叫做启动器的程序

        找到之后由 zygote 开始启动执行启动器 这就是我们常见到的桌面程序!

        至此我们总算弄明白了从电源键到桌面程序经历了什么!

##################################################

Android 软件系统架构

——————————

安卓系统架构一览

        除了内核是放在 boot 分区之外 其她层的代码都是在 system 分区之中的

Boot 分区
	Linux Kernel/Linux 内核
		例如 WiFi、Audio 等驱动
System 分区
	Library/动态链接库文件
		例如各种 .so 文件
	Android Runtime/安卓运行时环境
		例如核心 lib 库
		例如 Dalvik 虚拟机
	Application Framework/应用框架
		例如窗口管理
		再例如程序安装包管理
	Application/应用程序
		例如 Home、Phone、Browser 等等

——————————

安卓软件系统架构详解

        了解 system 分区必看的 Android 软件系统架构:

核心应用层

框架层
JNI 层
Dalvik 虚拟机层
本地库层
HAL 硬件抽象层
厂家适配层

Linux 内核

        核心应用层:

        这一层就是大家平常所接触的各种各样的系统自带应用
        比如

联系人

电话

音乐

        等
        应用层往下就是开发人员所接触的

        框架层:

        这一层是 Android 系统的核心

        她提供了整个 Android 系统运作的机制
        像

窗口管理

程序安装包管理

        还有开发人员所接触的

Activity

Service

broadcast

        等等

        JNI 层:

        JNI 层是 Java 程序和底层操作系统通信的一个机制
        她使得 Java 代码可以调用 C/C++ 代码来访问底层操作系统的 API

        Dalvik 虚拟机:

        Android 开发使用 Java 语言
        应用程序的 Java 代码会被编译成 dalvik 虚拟机字节码
        这些字节码由 dalvik 虚拟机解释执行

        本地库:

        本地库一般是由 C/C++ 语言所开发 直接编译成相应 CPU 的机器码
        这其中包含标准 C 库 例如

用以绘制图形的 skia 库

浏览器核心引擎 webkit

        等

        HAL 硬件抽象层:

        为了和各个厂家的不同硬件工作 Android 定义了一套硬件接口
        比如说为了使用相机 厂家的相机驱动必须提供的接口方法
        这样使得上层的代码可以独立于不同的硬件运行

        厂家适配层:

        本来 Android 定义的 HAL 层是直接和厂家提供的设备驱动打交道的
        但是目前厂家不想开源 HAL 部分的代码 因此很多厂家都提供了一个厂家适配层的代码
        这样在 HAL 层接口的实现只是一个简单的对厂家适配层接口函数的调用

        内核:

        这一层就是大家熟悉的 Linux 内核
        内核中包含有各种硬件驱动 这些驱动不同的手机厂商不同的手机是不一样的
        Linux 内核是支持驱动模块化机制的
        简单的说就是允许用户动态的加载或者卸载某个硬件驱动
        但是目前来看手机厂商除了提供 WIFI 驱动单独加载外 其她驱动都是和内核绑定在一起的

	Android 把对硬件的支持分成了两层
一层放在用户空间 User Space
一层放在内核空间 Kernel Space
	其中硬件抽象层运行在用户空间 而 Linux 内核驱动程序运行在内核空间

	为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?
	从技术实现的角度来看 是可以的
	然而从商业的角度来看 把对硬件的支持逻辑都放在内核空间 可能会损害厂家的利益

	我们知道 Linux 内核源代码版权遵循 GNU License
	而 Android 源代码版权遵循 Apache License
	这两个许可证有些不同:
前者在发布产品时 必须公布源代码 而后者无须发布源代码

	如果把对硬件支持的所有代码都放在 Linux 驱动层 那就意味着发布时要公开驱动程序的源代码
	而公开源代码就意味着把硬件的相关参数和实现都公开了
	在手机市场竞争激烈的今天 这对厂家来说 损害是非常大的

	因此 Android 才会想到把对硬件的支持分成硬件抽象层和内核驱动层
内核驱动层只提供简单的访问硬件逻辑 例如读写硬件寄存器的通道
至于从硬件中读到了什么值或者写了什么值到硬件中的逻辑 都放在硬件抽象层中去了
	这样就可以把商业秘密隐藏起来了

##################################################

Android 操作系统常见目录解析

——————————

system 分区常见目录

%%%%%

/system/bin 与 /system/xbin 目录

        我们常见的  shell 命令虽然都是放在 /system/bin 和 /system/xbin 目录下的

        但是 bin 目录下存放的是一些可执行文件

基本上是由 C/C++ 编写的

cmcc_jiangsu:/ # ls /system/bin | wc -l
358
cmcc_jiangsu:/ # ls /system/bin
Android.mk       insmod                 rgbtest
acpi             install-recovery.sh    rm
adbd             installd               rmdir
am               ionice                 rmmod
amctcTest        iorenice               rtwpriv
app_process      iotop                  run-as
app_process32    ip                     runcon
applypatch       ip6tables              schedtest
appops           ip6tables-restore      schedulecmd.sh
appwidget        ip6tables-save         screencap
arping           ipd                    screencontrol
atrace           iptables               screenrecord
audioserver      iptables-restore       sdcard
awk              iptables-save          secdiscard
base64           iptvd                  secilc
basename         iptvdc                 sed
bcc              ipv6-android-script.sh sendevent
blank_screen     iw                     sensorservice
blkid            karaok_recorder        seq
blockdev         keystore               service
bmgr             keystore_cli_v2        servicemanager
bootanimation    kill                   setenforce
bootplayer       killall                setprop
bootstat         ld.mc                  setsid
bpfloader        libpcapcmcc.so         settings
bu               linker                 sgdisk
bugreport        linker_asan            sh
bugreportz       lmkd                   sha1sum
bunzip2          ln                     sha224sum
busybox_ft       load_policy            sha256sum
bzcat            locksettings           sha384sum
bzip2            log                    sha512sum
cal              logcapture.sh          sleep
cameraserver     logcat                 sload_f2fs
cat              logcatd                sm
chcon            logd                   sort
chgrp            logname                split
chmod            logpersist.cat         sqlite3
chown            logpersist.start       ss
chroot           logpersist.stop        start
chrt             logwrapper             startsoftdetector.sh
cksum            losetup                stat
clatd            ls                     statsd
clear            lshal                  stop
cmd              lsmod                  storaged
cmp              lsof                   strace
comm             lspci                  strings
content          lsusb                  stty
cp               make_f2fs              su
cpio             md5sum                 surfaceflinger
crash_dump32     mdnsd                  svc
csrctctest       media                  swapoff
ctctest          mediadrmserver         swapon
cut              mediaextractor         sync
dalvikvm         mediametrics           sysctl
dalvikvm32       mediaserver            tac
date             memory_replay32        tail
dd               memtest                tar
debuggerd        microcom               taskset
dex2oat          mkdir                  tc
dex2oatd         mke2fs                 tee
dexdiag          mkfifo                 telecom
dexdump          mkfs.exfat             terminal_info_main
dexlist          mkfs.ext2              terminal_write_test
dexoptanalyzer   mkfs.ext3              thermalserviced
dexoptanalyzerd  mkfs.ext4              time
df               mknod                  timeout
diff             mkntfs                 tinycap
dirname          mkswap                 tinymix
dmesg            mktemp                 tinyplay
dnsmasq          modinfo                tombstoned
dos2unix         modprobe               toolbox
dpm              monkey                 top
drmserver        more                   touch
du               mount                  touchwifi.sh
dumpstate        mountpoint             toybox
dumpsys          mtpd                   tr
e2fsck           mv                     traced
e2fsdroid        ndc                    traced_probes
echo             netd                   tracepath
egrep            netstat                tracepath6
env              newfs_msdos            traceroute
execmd.sh        nice                   traceroute6
expand           nl                     true
expr             nohup                  truncate
fallocate        ntfs-3g                tspacktest
false            ntfsfix                tty
fgrep            oatdump                tune2fs
file             od                     tzdatacheck
find             odhcp6c                uiautomator
flock            paste                  ulimit
fmt              patch                  umount
free             patchoat               uname
fsck.exfat       patchoatd              uncrypt
fsck.f2fs        perfetto               unifiedctctest
fsck_msdos       perfprofd              uniq
gdbserver        pgrep                  unix2dos
getenforce       pidof                  uptime
getevent         ping                   usbd
getprop          ping6                  usleep
grep             pkill                  uudecode
groups           pm                     uuencode
gunzip           pmap                   vdc
gzip             pngtest                videomediaconvertortest
head             pppd                   vmstat
hid              printenv               vold
hostname         printf                 vold_prepare_subdirs
hw               profman                wait_for_keymaster
hwclock          profmand               wc
hwservicemanager ps                     which
id               pwd                    whoami
idmap            racoon                 wificond
ifconfig         readlink               wm
imageserver      realpath               xargs
ime              reboot                 xiriservice_All
incident         renice                 xxd
incident_helper  requestsync            yes
incidentd        resize2fs              zcat
inotifyd         restorecon
input            revertuserdata.sh
cmcc_jiangsu:/ # ls -alh /system/bin
total 15M
drwxr-xr-x  3 root   shell    8.0K 2022-06-26 11:03 .
drwxr-xr-x 15 root   root     4.0K 1970-01-01 08:00 ..
-rwxr-xr-x  1 root   shell     727 2022-06-26 10:21 Android.mk
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 acpi -> toybox
-rwxr-xr-x  1 root   shell    1.2M 2022-06-26 10:21 adbd
-rwxr-xr-x  1 root   shell     207 2022-06-26 10:21 am
-rwxr-xr-x  1 root   shell     20K 2022-06-26 10:21 amctcTest
lrwxr-xr-x  1 root   shell      13 2022-06-26 10:21 app_process -> app_process32
-rwxr-xr-x  1 root   shell     28K 2022-06-26 10:21 app_process32
-rwxr-xr-x  1 root   shell     71K 2022-06-26 10:21 applypatch
-rwxr-xr-x  1 root   shell      33 2022-06-26 10:21 appops
-rwxr-xr-x  1 root   shell     232 2022-06-26 10:21 appwidget
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 arping
-rwxr-xr-x  1 root   shell     57K 2022-06-26 10:21 atrace
-rwxr-xr-x  1 root   shell     36K 2022-06-26 10:21 audioserver
-rwxr-xr-x  1 root   shell    124K 2022-06-26 10:21 awk
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 base64 -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 basename -> toybox
-rwxr-xr-x  1 root   shell     41K 2022-06-26 10:21 bcc
-rwxr-xr-x  1 root   shell     20K 2022-06-26 10:21 blank_screen
-rwxr-xr-x  1 root   shell     20K 2022-06-26 10:21 blkid
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 blockdev -> toybox
-rwxr-xr-x  1 root   shell     216 2022-06-26 10:21 bmgr
-rwxr-xr-x  1 root   shell     32K 2022-06-26 10:21 bootanimation
-rwxr-xr-x  1 root   shell    6.5M 2022-06-26 10:21 bootplayer
-r-xr-x---  1 system log       61K 2022-06-26 10:21 bootstat
-rwxr-xr-x  1 root   shell     29K 2022-06-26 10:21 bpfloader
-rwxr-xr-x  1 root   shell     173 2022-06-26 10:21 bu
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 bugreport
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 bugreportz
lrwxr-xr-x  1 root   shell       5 2022-06-26 10:21 bunzip2 -> bzip2
-rwxr-xr-x  1 root   shell    743K 2022-06-26 10:21 busybox_ft
lrwxr-xr-x  1 root   shell       5 2022-06-26 10:21 bzcat -> bzip2
-rwxr-xr-x  1 root   shell     39K 2022-06-26 10:21 bzip2
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 cal -> toybox
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 cameraserver
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 cat -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 chcon -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 chgrp -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 chmod -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 chown -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 chroot -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 chrt -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 cksum -> toybox
-rwxr-xr-x  1 root   shell     51K 2022-06-26 10:21 clatd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 clear -> toybox
-rwxr-xr-x  1 root   shell     45K 2022-06-26 10:21 cmd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 cmp -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 comm -> toybox
-rwxr-xr-x  1 root   shell     224 2022-06-26 10:21 content
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 cp -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 cpio -> toybox
-rwxr-xr-x  1 root   shell    104K 2022-06-26 10:21 crash_dump32
-rwxr-xr-x  1 root   shell     55K 2022-06-26 10:21 csrctctest
-rwxr-xr-x  1 root   shell     50K 2022-06-26 10:21 ctctest
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 cut -> toybox
lrwxr-xr-x  1 root   shell      10 2022-06-26 10:21 dalvikvm -> dalvikvm32
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 dalvikvm32
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 date -> toybox
lrwxr-xr-x  1 root   shell       7 2022-06-26 10:21 dd -> toolbox
-rwxr-xr-x  1 root   shell     20K 2022-06-26 10:21 debuggerd
-rwxr-xr-x  1 root   shell    534K 2022-06-26 10:21 dex2oat
-rwxr-xr-x  1 root   shell    790K 2022-06-26 10:21 dex2oatd
-rwxr-xr-x  1 root   shell     32K 2022-06-26 10:21 dexdiag
-rwxr-xr-x  1 root   shell    105K 2022-06-26 10:21 dexdump
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 dexlist
-rwxr-xr-x  1 root   shell     28K 2022-06-26 10:21 dexoptanalyzer
-rwxr-xr-x  1 root   shell     36K 2022-06-26 10:21 dexoptanalyzerd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 df -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 diff -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 dirname -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 dmesg -> toybox
-rwxr-xr-x  1 root   shell    137K 2022-06-26 10:21 dnsmasq
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 dos2unix -> toybox
-rwxr-xr-x  1 root   shell     173 2022-06-26 10:21 dpm
-rwxr-xr-x  1 root   shell     68K 2022-06-26 10:21 drmserver
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 du -> toybox
-rwxr-xr-x  1 root   shell    250K 2022-06-26 10:21 dumpstate
-rwxr-xr-x  1 root   shell     41K 2022-06-26 10:21 dumpsys
-rwxr-xr-x  1 root   shell    194K 2022-06-26 10:21 e2fsck
-rwxr-xr-x  1 root   shell     28K 2022-06-26 10:21 e2fsdroid
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 echo -> toybox
lrwxr-xr-x  1 root   shell       4 2022-06-26 10:21 egrep -> grep
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 env -> toybox
-rwxr-xr-x  1 root   shell    1.6K 2022-06-26 10:21 execmd.sh
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 expand -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 expr -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 fallocate -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 false -> toybox
lrwxr-xr-x  1 root   shell       4 2022-06-26 10:21 fgrep -> grep
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 file -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 find -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 flock -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 fmt -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 free -> toybox
-rwxr-xr-x  1 root   shell     41K 2022-06-26 10:21 fsck.exfat
-rwxr-xr-x  1 root   shell    107K 2022-06-26 10:21 fsck.f2fs
-rwxr-xr-x  1 root   shell     36K 2022-06-26 10:21 fsck_msdos
-rwxr-xr-x  1 root   shell    583K 2022-06-26 10:21 gdbserver
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 getenforce -> toybox
lrwxr-xr-x  1 root   shell       7 2022-06-26 10:21 getevent -> toolbox
lrwxr-xr-x  1 root   shell       7 2022-06-26 10:21 getprop -> toolbox
-rwxr-xr-x  1 root   shell     33K 2022-06-26 10:21 grep
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 groups -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 gunzip -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 gzip -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 head -> toybox
-rwxr-xr-x  1 root   shell     213 2022-06-26 10:21 hid
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 hostname -> toybox
drwxr-xr-x  2 root   shell    4.0K 2022-06-26 11:03 hw
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 hwclock -> toybox
-rwxr-xr-x  1 root   shell     71K 2022-06-26 10:21 hwservicemanager
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 id -> toybox
-rwxr-xr-x  1 root   shell     36K 2022-06-26 10:21 idmap
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 ifconfig -> toybox
-rwxr-xr-x  1 root   shell    346K 2022-06-26 10:21 imageserver
-rwxr-xr-x  1 root   shell      48 2022-06-26 10:21 ime
-rwxr-xr-x  1 root   shell     28K 2022-06-26 10:21 incident
-rwxr-xr-x  1 root   shell    138K 2022-06-26 10:21 incident_helper
-rwxr-xr-x  1 root   shell    128K 2022-06-26 10:21 incidentd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 inotifyd -> toybox
-rwxr-xr-x  1 root   shell     220 2022-06-26 10:21 input
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 insmod -> toybox
-rwxr-x---  1 root   root      822 2022-06-26 10:21 install-recovery.sh
-rwxr-xr-x  1 root   shell    228K 2022-06-26 10:21 installd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 ionice -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 iorenice -> toybox
-rwxr-xr-x  1 root   shell     49K 2022-06-26 10:21 iotop
-rwxr-xr-x  1 root   shell    281K 2022-06-26 10:21 ip
-rwxr-xr-x  1 root   shell    293K 2022-06-26 10:21 ip6tables
lrwxr-xr-x  1 root   shell       9 2022-06-26 10:21 ip6tables-restore -> ip6tables
lrwxr-xr-x  1 root   shell       9 2022-06-26 10:21 ip6tables-save -> ip6tables
-rwxr-xr-x  1 root   shell     162 2022-06-26 10:21 ipd
-rwxr-xr-x  1 root   shell    284K 2022-06-26 10:21 iptables
lrwxr-xr-x  1 root   shell       8 2022-06-26 10:21 iptables-restore -> iptables
lrwxr-xr-x  1 root   shell       8 2022-06-26 10:21 iptables-save -> iptables
-rwxr-xr-x  1 root   shell     67K 2022-06-26 10:21 iptvd
-rwxr-xr-x  1 root   shell     33K 2022-06-26 10:21 iptvdc
-rwxr-xr-x  1 root   shell    7.7K 2022-06-26 10:21 ipv6-android-script.sh
-rwxr-xr-x  1 root   shell    183K 2022-06-26 10:21 iw
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 karaok_recorder
-rwxr-xr-x  1 root   shell    233K 2022-06-26 10:21 keystore
-rwxr-xr-x  1 root   shell     65K 2022-06-26 10:21 keystore_cli_v2
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 kill -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 killall -> toybox
-rwxr-xr-x  1 root   shell    505K 2022-06-26 10:21 ld.mc
-rwxr-xr-x  1 root   shell    619K 2022-06-26 10:21 libpcapcmcc.so
-rwxr-xr-x  1 root   shell    1.1M 2022-06-26 10:21 linker
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 linker_asan -> linker
-rwxr-xr-x  1 root   shell     32K 2022-06-26 10:21 lmkd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 ln -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 load_policy -> toybox
-rwxr-xr-x  1 root   shell     211 2022-06-26 10:21 locksettings
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 log -> toybox
-rwxr-xr-x  1 root   shell     307 2022-06-26 10:21 logcapture.sh
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 logcat
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 logcatd
-r-xr-x---  1 logd   logd     129K 2022-06-26 10:21 logd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 logname -> toybox
lrwxr-xr-x  1 root   shell      16 2022-06-26 10:21 logpersist.cat -> logpersist.start
-rwxr-xr-x  1 root   shell    5.4K 2022-06-26 10:21 logpersist.start
lrwxr-xr-x  1 root   shell      16 2022-06-26 10:21 logpersist.stop -> logpersist.start
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 logwrapper
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 losetup -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 ls -> toybox
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 lshal
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 lsmod -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 lsof -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 lspci -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 lsusb -> toybox
-rwxr-xr-x  1 root   shell     49K 2022-06-26 10:21 make_f2fs
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 md5sum -> toybox
-rwxr-xr-x  1 root   shell    769K 2022-06-26 10:21 mdnsd
-rwxr-xr-x  1 root   shell     227 2022-06-26 10:21 media
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 mediadrmserver
-rwxr-xr-x  1 root   shell     20K 2022-06-26 10:21 mediaextractor
-rwxr-xr-x  1 root   shell     37K 2022-06-26 10:21 mediametrics
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 mediaserver
-rwxr-xr-x  1 root   shell     25K 2022-06-26 10:21 memory_replay32
-rwxr-xr-x  1 root   shell     38K 2022-06-26 10:21 memtest
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 microcom -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mkdir -> toybox
-rwxr-xr-x  1 root   shell     72K 2022-06-26 10:21 mke2fs
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mkfifo -> toybox
-rwxr-xr-x  1 root   shell     35K 2022-06-26 10:21 mkfs.exfat
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mkfs.ext2 -> mke2fs
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mkfs.ext3 -> mke2fs
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mkfs.ext4 -> mke2fs
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mknod -> toybox
-rwxr-xr-x  1 root   shell    107K 2022-06-26 10:21 mkntfs
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mkswap -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mktemp -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 modinfo -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 modprobe -> toybox
-rwxr-xr-x  1 root   shell     268 2022-06-26 10:21 monkey
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 more -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mount -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mountpoint -> toybox
-rwxr-xr-x  1 root   shell     28K 2022-06-26 10:21 mtpd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 mv -> toybox
-rwxr-xr-x  1 root   shell     20K 2022-06-26 10:21 ndc
-rwxr-xr-x  1 root   shell    403K 2022-06-26 10:21 netd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 netstat -> toybox
lrwxr-xr-x  1 root   shell       7 2022-06-26 10:21 newfs_msdos -> toolbox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 nice -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 nl -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 nohup -> toybox
-rwxr-xr-x  1 root   shell    245K 2022-06-26 10:21 ntfs-3g
-rwxr-xr-x  1 root   shell    152K 2022-06-26 10:21 ntfsfix
-rwxr-xr-x  1 root   shell    201K 2022-06-26 10:21 oatdump
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 od -> toybox
-rwxr-xr-x  1 root   shell    441K 2022-06-26 10:21 odhcp6c
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 paste -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 patch -> toybox
-rwxr-xr-x  1 root   shell     61K 2022-06-26 10:21 patchoat
-rwxr-xr-x  1 root   shell    104K 2022-06-26 10:21 patchoatd
-rwxr-xr-x  1 root   shell    183K 2022-06-26 10:21 perfetto
-rwxr-xr-x  1 root   shell    1.5M 2022-06-26 10:21 perfprofd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 pgrep -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 pidof -> toybox
-rwxr-xr-x  1 root   shell     41K 2022-06-26 10:21 ping
-rwxr-xr-x  1 root   shell     45K 2022-06-26 10:21 ping6
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 pkill -> toybox
-rwxr-xr-x  1 root   shell      34 2022-06-26 10:21 pm
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 pmap -> toybox
-rwxr-xr-x  1 root   shell     20K 2022-06-26 10:21 pngtest
-rwxr-xr-x  1 root   shell    231K 2022-06-26 10:21 pppd
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 printenv -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 printf -> toybox
-rwxr-xr-x  1 root   shell     82K 2022-06-26 10:21 profman
-rwxr-xr-x  1 root   shell     91K 2022-06-26 10:21 profmand
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 ps -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 pwd -> toybox
-rwxr-xr-x  1 root   shell    189K 2022-06-26 10:21 racoon
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 readlink -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 realpath -> toybox
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 reboot
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 renice -> toybox
-rwxr-xr-x  1 root   shell     205 2022-06-26 10:21 requestsync
-rwxr-xr-x  1 root   shell     56K 2022-06-26 10:21 resize2fs
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 restorecon -> toybox
-rwxr-xr-x  1 root   shell    1.3K 2022-06-26 10:21 revertuserdata.sh
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 rgbtest
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 rm -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 rmdir -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 rmmod -> toybox
-rwxr-xr-x  1 root   shell    1.6M 2022-06-26 10:21 rtwpriv
-rwxr-x---  1 root   shell     20K 2022-06-26 10:21 run-as
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 runcon -> toybox
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 schedtest
-rwxr-xr-x  1 root   shell    1.0K 2022-06-26 10:21 schedulecmd.sh
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 screencap
-rwxr-xr-x  1 root   shell     37K 2022-06-26 10:21 screencontrol
-rwxr-xr-x  1 root   shell    110K 2022-06-26 10:21 screenrecord
-rwxr-xr-x  1 root   shell     33K 2022-06-26 10:21 sdcard
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 secdiscard
-rwx------  1 root   root     230K 2022-06-26 10:21 secilc
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 sed -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 sendevent -> toybox
-rwxr-xr-x  1 root   shell     16K 2022-06-26 10:21 sensorservice
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 seq -> toybox
-rwxr-xr-x  1 root   shell     32K 2022-06-26 10:21 service
-rwxr-xr-x  1 root   shell     24K 2022-06-26 10:21 servicemanager
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 setenforce -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 setprop -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 setsid -> toybox
-rwxr-xr-x  1 root   shell      35 2022-06-26 10:21 settings
-rwxr-xr-x  1 root   shell    118K 2022-06-26 10:21 sgdisk
-rwxr-xr-x  1 root   shell    231K 2022-06-26 10:21 sh
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 sha1sum -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 sha224sum -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 sha256sum -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 sha384sum -> toybox
lrwxr-xr-x  1 root   shell       6 2022-06-26 10:21 sha51
                        
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_67268286/article/details/125903749
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-03 12:06:20
  • 阅读 ( 364 )
  • 分类:研发管理

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢