当前位置: 首页 > news >正文

Android toybox常用工具介绍

Android toybox常用工具介绍

源码路径:external/toybox

一、支持的工具:

acpi, base64, basename, bc, blockdev, cal, cat, chcon, chgrp, chmod, chown, chroot, chrt, cksum, clear, comm, cmp, cp, cpio, cut, date, dd, devmem, df, diff, dirname, dmesg, dos2unix, du, echo, env, expand, expr, fallocate, false, file, find, flock, fmt, free, fsync, getconf, getenforce, groups, gunzip, gzip, head, hostname, hwclock, i2cdetect, i2cdump, i2cget, i2cset, iconv, id, ifconfig, inotifyd, insmod, install, ionice, iorenice, kill, killall, load_policy, ln, log, logname, losetup, ls, lsmod, lsof, lspci, lsusb, md5sum, mkdir, mkfifo, mknod, mkswap, mktemp, microcom, modinfo, modprobe, more, mount, mountpoint, mv, nc, netcat, netstat, nice, nl, nohup, nproc, nsenter, od, paste, patch, pgrep, pidof, pkill, pmap, printenv, printf, ps, pwd, readlink, realpath, renice, restorecon, rm, rmdir, rmmod, runcon, sed, sendevent, seq, setenforce, setprop, setsid, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, sleep, sort, split, start, stat, stop, strings, stty, swapoff, swapon, sync, sysctl, tac, tail, tar, taskset, tee, time, timeout, top, touch, tr, true, truncate, tty, ulimit, umount, uname, uniq, unix2dos, unlink, unshare, uptime, usleep, uudecode, uuencode, uuidgen, vmstat, watch, wc, which, whoami, xargs, xxd, yes, zcat

二、常用工具介绍(太常用的也不介绍):

1. watch:用于周期性监控文件或设备状态的变化,支持简单命令,help如下
msm8953_64:/ # watch --help
usage: watch [-teb] [-n SEC] PROG ARGSRun PROG every -n seconds, showing output. Hit q to quit.-n      Loop period in seconds (default 2)
-t      Don't print header
-e      Exit on error
-b      Beep on command error
-x      Exec command directly (vs "sh -c")msm8953_64:/ #

如:watch -n 5 ps -A,间隔5S执行一次ps -A命令

2. **acpi :**监控电池状态变化
msm8953_64:/ # acpi --help
usage: acpi [-abctV]
Show status of power sources and thermal devices.
-a      Show power adapters
-b      Show batteries
-c      Show cooling device state
-t      Show temperatures
-V      Show everything
msm8953_64:/ #
3. base64:对数据进行Base64编码或解码操作
130|msm8953_64:/ # base64 --help
usage: base64 [-di] [-w COLUMNS] [FILE...]
Encode or decode in base64.
-d      Decode
-i      Ignore non-alphabetic characters
-w      Wrap output at COLUMNS (default 76 or 0 for no wrap)
msm8953_64:/ #
4. pkill:通过进程名或其他属性发送信号终止进程的命令行工具
msm8953_64:/ # pkill --help
usage: pkill [-fnovx] [-SIGNAL|-l SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]
-l      Send SIGNAL (default SIGTERM)
-V      Verbose
-f      Check full command line for PATTERN
-G      Match real Group ID(s)
-g      Match Process Group(s) (0 is current user)
-n      Newest match only
-o      Oldest match only
-P      Match Parent Process ID(s)
-s      Match Session ID(s) (0 for current)
-t      Match Terminal(s)
-U      Match real User ID(s)
-u      Match effective User ID(s)
-v      Negate the match
-x      Match whole command (not substring)
msm8953_64:/ #
5. dmesg:查看kernel 日志
msm8953_64:/ # dmesg --help
usage: dmesg [-Cc] [-r|-t|-T] [-n LEVEL] [-s SIZE] [-w]
Print or control the kernel ring buffer.
-C      Clear ring buffer without printing
-c      Clear ring buffer after printing
-n      Set kernel logging LEVEL (1-9)
-r      Raw output (with <level markers>)
-S      Use syslog(2) rather than /dev/kmsg
-s      Show the last SIZE many bytes
-T      Human readable timestamps
-t      Don't print timestamps
-w      Keep waiting for more output (aka --follow)
msm8953_64:/ #
6. hostname:系统中用于‌查看或设置主机名(hostname)‌的命令行工具
msm8953_64:/ # hostname --help
usage: hostname [-bdsf] [-F FILENAME] [newname]
Get/set the current hostname.
-b      Set hostname to 'localhost' if otherwise unset
-d      Show DNS domain name (no host)
-f      Show fully-qualified name (host+domain, FQDN)
-F      Set hostname to contents of FILENAME
-s      Show short host name (no domain)
msm8953_64:
7. i2cdetect:系统中用于‌检测 I2C 总线设备‌的命令行工具
msm8953_64:/ # i2cdetect --help
usage: i2cdetect [-ary] BUS [FIRST LAST]
usage: i2cdetect -F BUS
usage: i2cdetect -l
Detect i2c devices.
-a      All addresses (0x00-0x7f rather than 0x03-0x77)
-F      Show functionality
-l      List all buses #列出所有设备
-r      Probe with SMBus Read Byte
-y      Answer "yes" to confirmation prompts (for script use)
msm8953_64:/ # i2cdetect -l
i2c-2   i2c             MSM-I2C-v2-adapter                      I2C Adapter
msm8953_64:/ # i2cdetect -y 2  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- UU
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- UU -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
msm8953_64:/ #

UU 表示该地址存在设备‌

8. i2cdump:读取 I2C 设备寄存器内容的命令行工具
1|msm8953_64:/ # i2cdump --help
usage: i2cdump [-fy] BUS CHIP
Dump i2c registers.
-f      Force access to busy devices
-y      Answer "yes" to confirmation prompts (for script use)
msm8953_64:

如:i2cdump -y 2 0x0F

9. i2cget:读取 I2C 设备指定寄存器数据‌的命令行工具
msm8953_64:/ # i2cget --help
usage: i2cget [-fy] BUS CHIP ADDR
Read an i2c register.
-f      Force access to busy devices
-y      Answer "yes" to confirmation prompts (for script use)
msm8953_64:

如:i2cget -y 2 0x0F 0x02

10. lsmod:系统中用于‌列出当前加载的内核模块‌的命令行工具
msm8953_64:/ # lsmod --help
usage: lsmod
Display the currently loaded modules, their sizes and their dependencies.
msm8953_64:lsmod
Module                  Size  Used by
machine_ext_dlkm      122880  0
machine_dlkm           86016  0
wcd9335_dlkm          364544  1 machine_ext_dlkm
cpe_lsm_dlkm           49152  0
wcd_cpe_dlkm           94208  2 wcd9335_dlkm,cpe_lsm_dlkm
analog_cdc_dlkm       585728  2 machine_dlkm
digital_cdc_dlkm       77824  2 machine_dlkm
stub_dlkm              16384  1
mbhc_dlkm              49152  2 wcd9335_dlkm,analog_cdc_dlkm
wsa881x_analog_dlkm    40960  1 machine_dlkm
wsa881x_dlkm           49152  2 machine_ext_dlkm,wsa881x_analog_dlkm
wcd9xxx_dlkm           69632  2 wcd9335_dlkm,analog_cdc_dlkm
wcd_core_dlkm         143360  8 machine_ext_dlkm,machine_dlkm,wcd9335_dlkm,wcd_cpe_dlkm,mbhc_dlkm,wsa881x_analog_dlkm,wsa881x_dlkm,wcd9xxx_dlkm
hdmi_dlkm              16384  0
swr_ctrl_dlkm          32768  1 wcd9335_dlkm
swr_dlkm               28672  2 wsa881x_dlkm,swr_ctrl_dlkm
pinctrl_wcd_dlkm       16384  0
native_dlkm           184320  0
platform_dlkm        1798144  33 native_dlkm
usf_dlkm               65536  0
q6_dlkm               933888  11 machine_ext_dlkm,machine_dlkm,wcd_cpe_dlkm,analog_cdc_dlkm,digital_cdc_dlkm,wcd9xxx_dlkm,native_dlkm,platform_dlkm,usf_dlkm
adsp_loader_dlkm       16384  0
apr_dlkm              266240  7 wcd9335_dlkm,analog_cdc_dlkm,digital_cdc_dlkm,platform_dlkm,usf_dlkm,q6_dlkm,adsp_loader_dlkm
q6_notifier_dlkm       16384  2 analog_cdc_dlkm,apr_dlkm
11. whoami:显示当前执行用户的用户名
msm8953_64:/ # whoami
root
msm8953_64:
12. iconv:字符编码转换
msm8953_64:/ # iconv --help
usage: iconv [-f FROM] [-t TO] [FILE...]
Convert character encoding of files.
-c      Omit invalid chars
-f      Convert from (default utf8)
-t      Convert to   (default utf8)
msm8953_64:
13. **hwclock:**管理硬件时钟
msm8953_64:/ # hwclock --help
usage: hwclock [-rswtluf]
Get/set the hardware clock.
-f FILE Use specified device file instead of /dev/rtc (--rtc)
-l      Hardware clock uses localtime (--localtime)
-r      Show hardware clock time (--show)
-s      Set system time from hardware clock (--hctosys)
-t      Set the system time based on the current timezone (--systz)
-u      Hardware clock uses UTC (--utc)
-w      Set hardware clock from system time (--systohc)
msm8953_64:/ # hwclock -r
Tue Jan 20 23:13:59 1970  0.000000 seconds
msm8953_64:
14. sysctl:动态配置内核运行时参数(kernel 常用)
1|msm8953_64:/ # sysctl --help
usage: sysctl [-aAeNnqw] [-p [FILE] | KEY[=VALUE]...]
Read/write system control data (under /proc/sys).
-a,A    Show all values 
-e      Don't warn about unknown keys
-N      Don't print key values
-n      Don't print key names
-p      Read values from FILE (default /etc/sysctl.conf)
-q      Don't show value after write
-w      Only write values (object to reading)
msm8953_64:
15. uptime:快速查看系统运行状态的核心工具
msm8953_64:/ # uptime --help
usage: uptime [-ps]
Tell the current time, how long the system has been running, the number
of users, and the system load averages for the past 1, 5 and 15 minutes.
-p      Pretty (human readable) uptime #简洁显示运行时间
-s      Since when has the system been up? #显示系统启动的具体时间戳
msm8953_64:

如下:

msm8953_64:/ # uptime -p
up 0 weeks, 0 days, 3 hours, 19 minutes
msm8953_64:/ # uptime -s
2025-07-23 03:29:03
msm8953_64:/ # uptime06:49:09 up  3:20,  0 users,  load average: 8.73, 8.62, 8.62 #当前时间:06:49:09#up  3:20:已经运行3小时20分钟#load average: 8.73, 8.62, 8.62 :过去 1/5/15 分钟CPU的平均负载值
msm8953_64:/ #
16. vmstat:系统中用于‌实时监控系统资源状态的核心工具,通过读取 /proc 虚拟文件系统提供内存、CPU、I/O 等关键指标的动态统计‌
msm8953_64:/ # vmstat --help
usage: vmstat [-n] [DELAY [COUNT]]
Print virtual memory statistics, repeating each DELAY seconds, COUNT times.
(With no DELAY, prints one line. With no COUNT, repeats until killed.)
Show processes running and blocked, kilobytes swapped, free, buffered, and
cached, kilobytes swapped in and out per second, file disk blocks input and
output per second, interrupts and context switches per second, percent
of CPU time spent running user code, system code, idle, and awaiting I/O.
First line is since system started, later lines are since last line.
-n      Display the header only once
msm8953_64:
msm8953_64:/ # vmstat -n 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
17  0  83268  32076  45524 625956    1    3    31   332    0 3689 21 15 64  0
msm8953_64:/ # vmstat -n 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa8  0  83268  22464  45720 624456    1    3    31   333    0 3689 21 15 64  02  0  83268  33628  45728 624188    0    0     0    16    0 18754 22 16 62 04  0  83268  23684  45732 627652    0    0     0  4341    0 18625 22 14 64 09  0  83268  22888  45740 623524    0    0     0    18    0 18697 22 16 62 07  0  83268  28724  45740 626932    0    0     0     0    0 18916 22 16 62 0
msm8953_64:/ #
#swpd:虚拟内存 free:空闲内存 buff:缓冲区 cache:缓存 
17. renice:动态调整运行中进程优先级
renice --help
usage: renice [-gpu] -n increment ID ...
msm8953_64:/ #
-n:指定新的 nice 值(必填-20~19)
-p:针对特定 PID 的进程
-u:调整某用户的所有进
-g:调整某进程组的所有成员
http://www.xdnf.cn/news/1173961.html

相关文章:

  • ES6 标签模板:前端框架的灵活利器
  • mongodb的备份和还原(精简)
  • 微算法科技(NASDAQ: MLGO)研究量子机器学习算法 (Quantum Machine Learning Algorithms),加速机器学习任务
  • opencv学习(视频读取)
  • HF86611_VB1/HF86611Q_VB1:多通道USB HiFi音频解码器固件技术解析
  • 架构师--基于常见组件的微服务场景实战
  • 华为云ELB(弹性负载均衡)持续报异常
  • 博图 V18 --> 修改面板实例
  • 51c大模型~合集158
  • day21-定时表白
  • 网络--VLAN技术
  • platform平台驱动、gpio单总线通信
  • Java 爬虫实战指南:获取淘宝商品详情
  • Nacos 封装与 Docker 部署实践
  • STP 的原理
  • 《计算机网络》实验报告六 电子邮件
  • string类
  • 深度智能 基座跃迁 | 鸿道Intewell,面向“AI+智造”的新型工业操作系统
  • OpenHarmony BUILD.gn中执行脚本
  • 论文笔记:Tuning Language Models by Proxy
  • 简单理解现代Web应用架构:从简单到企业级
  • 解决Spring事务中RPC调用无法回滚的问题
  • 使用idea 将一个git分支的部分记录合并到git另一个分支
  • Elasticsearch(ES)安装
  • 系统架构师:软件工程-思维导图
  • 通用表格识别技术的应用,深刻改变人们处理表格数据的方式
  • 【读代码】Facebook Denoiser:开源端到端语音降噪系统原理与实战
  • 红宝书单词学习笔记 list 76-100
  • 开源 Arkts 鸿蒙应用 开发(十)通讯--Http数据传输
  • Oracle物化视图详解