使用adb相关命令,获取文件的读写权限以及修改文件权限

在用adb 调试时,输入adb shell进入文件系统,有这样一个目录:/system;如果想从/system/framework中读取一个文件,可以在cmd窗口输入:

adb pull /system/framework/am.jar /sdcard,运行结果如下:

        查看X盘下,确实存在am.jar文件,这里就不展示了。

        那如果想向/system中写入一个a.txt文件呢,于是在cmd窗口输入:adb push X:\a.txt /system/a.txt,运行结果如下:

        从提示来看push失败了,Read-only file system表示只有可读权限。想要向push文件到/system中,需要获取/system文件的读写权限。于是,做如下操作输入命令:

1: adb root(前提是:手机root了)

2:adb remount,重新挂载系统分区(前提是:adb root)

3:adb shell "mount -o rw,remount /system"

       运行结果如下:

        运行之后,什么结果也没有,那就是命令执行正确了。可以在文件系统(adb shell)窗口,再输入:mount;查看获取/system的读写权限,运行结果如下:

        倒数第4行有这样的一段命令:/dev/block/mtdblock0 /system yaffs2 rw 0 0 , 说明获取了/system的读,写权限了。若不进行上面操作,输入mount之后就不是rw,而是ro(read only)。需要注意的是,在手机重启后,/system文件变为read only,输入adb shell-> mount可以验证,这里不再展示。接下来cmd窗口中输入:adb push X:\a.txt /system/a.txt,就可以成功的对/system目录进行写操作。

      查看文件的权限,在文件系统(adb shell)中输入:ls -al   进行查看(后面不再阐述)

      简单介绍下android的文件访问权限,先看这样一张图,如下:

d:目录;           -: 文件;             l: 指向(link)。

后面9位,分为三组,以drwxr-xr-x为例进行说明:

d:表示目录;

rwx:该文件/目录所在的用户,也就是该用户具有的权限:可读,可写,可执行;

r-x:与该用户同组的其他用户,具有权限:可读,不可写,可执行;(linux系统中,用户会被分在某一个组中)

r-x:与该用户不同组的其他用户,具有权限:可读,不可写,可执行;

通过drwxr-xr-x,这样就可以知道system的访问权限了。

        如何修改一个文件的访问权限呢?例如上面将a.txt文件push到system目录下,查看其权限为:-rw-rw-rw-,在cmd窗口中输入:adb shell chmod 644 /system/a.txt。查看其文件读写权限为:-rw-r--r-- ,644分别为上面三组的值,6二进制:110,对应rw-;4二进制:100,对应r--。

       通过上面的学习,若需要向一个目录执行写操作,而该目录是read only,不可写,那么可以执行adb shell "mount -o rw,remount /system"获取目录的读写权限。若需要修改文件的权限,例如上面/system/a.txt的文件权限,可以执行adb shell chmod 644 /system/a.txt (644可以根据需求设置其他值,例如777)修改文件的读写权限。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用于安卓手自我的一个好友偷摸搬运过来、刷机精灵、甜辣椒什么的有时对机型支持并不是那么完善的、关键时刻还的需要通用的adb命令自己动手、把adb完整工具包放在系统system32下、打开cmd、输入adb shell测试通过即可、当然了、在这些之前驱动安装什么的都是必须的哦~~】 adb devices 查看连接在电脑上的设备及其sn码 adb shell 进入手机的超级终端Terminal(远程登陆到手机上的android系统) 在shell中的命令: su 以root权限进行操作 mount * 挂载对应分区 rm * 删除对应文件 ls 例出当前的文件目录 映射出目录 mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system exit 退出 重新挂载文件系统 adb remount adb reboot 重启 adb reboot-bootloader 重启到bootloader adb reboot recovery 重启到recovery 安装软件 adb install apk文件名称.apk 重新安装该软件 adb install -r apk文件名称.apk 卸载apk软件 adb uninstall apk包名.apk 查看手机上的运行日志,此项可以用来查错 adb logcat A为手机路径,B为电脑路径,意思为:把文件从手机中复制到电脑上 adb pull A为手机路径,B为电脑路径,意思为:把文件从电脑复制到手机上 adb push 重启手机 adb reboot 重启到Recovery界面 adb reboot recovery 重启到bootloader界面 adb reboot bootloader 增加flash_image文件到手机上 adb push flash_image.zip /system/bin/flash_image recovery先复制到卡上 adb push *.img /sdcard 修改文件属性 chmod 0755 /system/bin/flash_image fastboot getvar all 获取手机所有信息 fastboot getvar product 获取手机内部版本号(一般为vle或villec2) fastboot getvar cid 获取cid (刷RUU必备啊) fastboot oem get_identifier_token 获取用户标识码(官解用) fastboot flash boot boot.img 刷boot(boot文件放在同目录下) fastboot boot boot.superboot.img s3获取root(root文件boot.superboot.img放在同目录下) fastboot flash unlocktoken Unlock_code.bin(解锁文件Unlock_code.bin放在同目录下) fastboot flash recovery * 刷入rec(rec文件放在同目录下) fastboot oem writecid 11111111 刷入超级cid,soff后使用 HTC解锁 (LZ就是火腿肠用户没办法~) http://www.htcdev.com/注册账号 http://www.htcdev.com/bootloader/unlock-instructions/page-3 登陆,使用用户标识码获取Unlock_code.bin fastboot flash unlocktoken Unlock_code.bin 刷入Unlock_code.bin 手机上按音量上后电源键 线刷zip版的ruu(慎用) 打开任意ruu 打开%temp% 找到以{*}的几个文件夹 找到有rom.zip文件文件夹 把zip包改名为rom.zip,复制到对应文件夹中,解压android-info.txt到同样的文件夹中 操作同刷普通ruu一样 rec操作(以twrp为准) install 刷入zip格式的卡刷包 wipe 清除对应分区内的文件: cache 缓存 factory reset 恢复出厂设置 以上为刷机必须 internal storage 内部储存 external storage 外部储存 mount 挂载对应分区 sdcard sd卡分区(外部储存) data data分区(外部储存) system 系统分区 cache 缓存分区 机与
本帖最后由 591691826 于 2013-4-10 13:32 编辑 0.我只说些常用的以及目前用的到的 1.下载附件。解压后拷到c:windows\system32里面。 2.打开运行(快捷键windows键+R)输入cmd 回车。 3.输入adb devices 可以获取当前连接的设备。 4.输入adb shell 回车 接着输入su。这时候$变成#。说明你已经取得权限了,可以进行各项调试命令了。 5.如果要从电脑上传送文件到手机的话,使用adb push命令。格式:adb push 本地路径 手机路径 ;举例:把c盘根目录下的456.txt传送到system。则:adb push c:\456.txt /system/ 传送文件到system文件夹的话。需要先挂载system分区。再改读写权限。 如下:mount -o rw,remount -t yaffs2 /dev/block/mtdblock1 /system回车 (这是挂载分区) chmod 777 /system回车 (修改权限为可读) 这两步做完后退出shell指令端(exit回车 exit回车)就可以push文件到system里面去了。 如果push文件到sdcard卡的话。一般来说直接push就行。如果出现premission denied 的话,需要修改sdcard权限为可读写。即chmod 777 sdcard。 6。adb pull 是从手机传送文件到电脑上。格式: adb pull 手机路径 电脑路径 。会push的话pull很简单。大同小异嘛。 7.关于这个地方的权限,具体说下: 在Unix和Linux的各种操作系统下,每个文件文件夹也被看作是文件)都按读、写、运行设定权限。例如我用ls -l命令文件表时,得到如下输出: -rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm 从第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个html文件,不必运行。这在Novell的directory services之前很先进。 读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,rw-r--r--用数字表示成644。 反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。 再多说一句。我用chmod o-r tt.htm命令权限,o-r是others的权限中减掉读。结果是 -rw-r----- 1 bu users 2254 2006-05-20 13:47 tt.htm 如果用命令chmod 777 tt.htm,结果是 -rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm 任何人都有读、写、运行三项权限。8。以后比如替换系统文件神马的不能开机。可以通过救援模式下adb命令替换系统文件并该权限即可。 .想写的就是这么多了。仅把我的心得告诉大家。内容编辑可能有些混乱。不好意思。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值