利用ADB shell赋予强大的Linux内核功能(1)
ADB还可以被用作与Android操作系统的直接连接,从而赋予强大的Linux内核功能。能够在操作系统 shell内运行的命令多种多样。
adb shell命令会开放你的Android设备,并允许你在设备上直接运行命令。在改动Android操作系统基本文件时会经常用到 shell。
当你使用ADB shell连接到Android设备时,电脑上的命令提示符会改变,这也就意味着你的本地电脑将不会接收并解析输入的命令了。取而代之,你已经处于Android操作系统下,而你在提示符处输入的命令会被该操作系统接收并解析。
要加载shell,需要输入命令adb shell。我们熟悉的命令提示符将会改变成神秘的$或#符号。美元符号($)说明Android系统正等待接收你的输入,但在系统内乱逛时不会对其造成什么破坏,因为你并不是"特权"用户。只有当看到井字符号(#)时,你才是Android操作系统中的超级用户。井字符号对于Hacker来说是美妙的:它意味着你对Android文件系统拥有了***的支配权。
在ADB shell中,你需要输入Linux(而不是DOS)命令。例如,若想要得到一个文件夹中的所有文件和子文件夹的列表,要输入ls,而不是dir。
在无须启动交互 shell的情况下,你就可以向Android设备发送 shell命令。例如,如果输入了以下命令:
adb?shell?cp?/sdcard/sample.txt
/sdcard/sample2.txt
其运行效果和在shell命令行中输入命令一样。很多获取超级权限的指导说明都会要求你以这种方式运行ADB shell。这是一个在不真正进入Android shell的情况下执行交互命令的快捷方式。
文件系统导航
在这个例子中,我们将打开ADB shell并使用少量Linux命令来导航文件系统。在此,我们所用到的命令包含于默认的Android系统中。因为Android是一个精简的定制化的Linux版本,它只能使用Linux命令中的很小一部分。后面的一个章节将讲述在安装了优秀的BusyBox程序包后,你可以使用的更复杂的Linux命令。
在本节中,我们将打开ADB shell提示符、进行文件系统导航并最终从文件系统中退出。
访问ADB shell提示符
根据以下步骤来打开ADB shell提示符:
1.在你的本地电脑上打开一个命令提示符窗口。
2.输入命令adb shell。
如果正确设置了你的ADB环境,就会进入Android shell。如果收到错误信息的话,检查连接状态(别忘了DUCK问题解决方法)。
如果你的手机目前尚未获得超级权限,就应该能够看到提示符变为美元符号($),其后跟着一个闪烁的光标(见图3-9)。
你的命令提示符窗口已经不再是在本地电脑环境中操作了,它变成了一个映射Android操作系统的"壳"。
列出文件夹中的文件
下面,看看你当前的Android文件夹中所包含的文件和文件夹吧。输入ls命令,并按下Enter键(记住,命令在你按下Enter之后才会被执行)。
查看列出的文件和文件夹。目前还并不容易分辨出哪个是文件而哪个是文件夹。除非你在ls命令后增加了标识。Linux(当然也就包括了Android)不会在视觉上区分出文件和文件夹。在Android中四处探索的过程中,有时需要你输入更高级的列表命令来观察某个特定文件夹列表中的文件类型。
任何时候,当你看到一个文件或文件夹的名称前有一个"."符号时,那么它就是一个隐形文件或文件夹。目前为止,你不太可能看得到隐形文件或文件夹。ls -s命令才能使你看到这些不太明显的文件。
导航文件系统
接下来的操作将会带你详细走一遍浏览当前文件夹所包含的内容以及在文件夹之间导航的步骤。
1.在ADB shell窗口中,输入cd /命令以进入文件系统根文件夹。
2.输入命令ls。现在你应该能看到文件夹列表中显示的文件,例如system和etc文件。
3.输入命令cd system以将活动文件夹更改为system文件夹。
4.输入命令ls。应该能看到位于system文件夹中的文件和文件夹。
5.接着,使用cd /命令来导航至文件系统根文件夹。
【责任编辑:book TEL:(010)68476606】
点赞 0