android入门开发之linux文件权限(六)
2016-10-24 14:01
381 查看
前言
说到权限,相信大部分人都用的还是windows系统,既然说到了权限这一块,我就不得不吐槽windows权限做的真是垃圾中的战斗机,没有比windows权限做的更垃圾的了。相反,linux系统下的权限控制就做的比较好,所以呼吁广大小伙伴们,特别是深受windows荼毒的小伙伴,赶紧弃win选linux吧。反正我是等到买了mac后,宁愿用mac os都不用windows了。真的是太恶心,太垃圾了。当然windows也有做的比较好的一面,像图形用户界面的交互做的就比较好,要是哪天能够把权限做的像linux一样,我估计我还是会选择windows的,不过我估计是不可能了,我还是安安心心用我的linux去了。可能有小伙伴会有疑问,为什么要把权限这点小知识点单独拎出来讲,我个人认为android是在linux的基础上进行开发的,本质其实还是linux,我觉得既然作为一个android开发者,连linux文件权限都不清除的话,好像有点说不过去。
生成不同权限的文件
既然我们要看linux下的权限说明,我们就从基础入手,我们先用代码在我们之前创建的HelloWorld中写上如下代码:这几行代码执行完成之后,我们利用adb shell指令进入当前模拟器的linux环境
执行 adb shell
执行 cd data/data/com.selfassu.helloworld 注意:后面的com.selfassu.helloworld换成你自己的应用包名
执行ls -l 显示当前目录所有文件列表
执行cd files 进入files目录
执行ls -l
以上几步做完之后,你就可以看到在files(路径:data/data/package/files)文件夹下,有一下四个文件,名字分别为append.txt, private.txt, readable.txt, writable.txt, 创建的文件对应不同的数据权限。或许你现在看不懂-rw-rw—-是什么意思,但是别着急,我们马上就来给你分析分析这一串数据代表的意义。
注意:
执行adb shell指令时候,出现error: more than one device/emulator
错误,出现这个错误的原因主要是因为设备不止一台,我们要进入某一台的设备shell环境下,必须指定需要进入的shell环境的设备序列号:
adb -s 设备序列号 shell
linux权限详解
权限字符串解释
linux文件权限一共有十位,第一位是单独一组,后面的九位是每三位一组。第1位代表的是文件的类型:
如果是”d”,就是文件夹
如果是”l”,文件快捷方式
如果是”-“, 就是文件
第2到4位是所属用户对文本的权限
r 读权限
w 写权限
x 执行权限
第5到7位 是该文件所属用户组对该文件的权限
r 读权限
w 写权限
x 执行权限
第8到10位 是其他用户对该文件的权限
r 读权限
w 写权限
x 执行权限
将字母转换成二进制
用二进制表示:规则
如果是-,就用0来表示,
如果不是-,就用1表示。
将二进制的数字转换成十进制
换成十进制后,可以用linux指令更改文件权限这样说是不是太抽象了。那么可以,我们举个栗子:
-rwxrw-r– 换成二进制数字为111110100(注意第一位不需要换算成二进制的数字)
第一位的“-”, 可能是“d” 或者“l”,这一位是没有办法改变的,这个是文件的固有属性,就像人出生一样,有的人一出生就是男性,而有的人一出生就是女性,比喻不太恰当,但是我觉得正好可以说明这个问题。
按照上面的分法,将二进制数字每三位换成十进制数字就是:764
下面你们自己做做 -rw-rw–w- 这个对应的十进制的权限数字是多少呢?
好啦,这样是不是看起来更容易理解一点?
使用指令chmod更改linux文件权限
linux中更改文件权限的指令是chmod,是change mode的简写然后使用linux指令更改权限
chmod 764 文件名称
我已经更改了private.txt文件的权限,细心的小伙伴可以仔细看看,private.txt的权限是不是和之前不一样了?是不是so easy?你没有猜错,linux下更改文件权限就是这么简单。比windows强多了,在权限这点上。
linux权限的详细图解
详细图解如图所示总结
android中的文件权限大致就是这样吧,当然,权限肯定不止这些,更深入的还需要你们自己去挖掘。下一节我们来一起学习一下android开发中的UI设计。相关文章推荐
- Linux 入门常用命令 — 改变文件或目录的访问权限
- linux入门2-文件权限管理
- Android入门进阶教程(3)-linux 开发环境的搭建
- java程序员菜鸟进阶(十七)linux基础入门(五)linux文件/目录的权限和归属管理
- Linux新手入门:通过chmod改变文件权限
- 新手入门——Ophone(Android)开发项目文件结构
- Linux命令(shell)从入门到精通 学习笔记之1:文件安全与权限
- Android开发环境搭建 for windows (linux类似) 详细可参考“文件”中“Android开发环境搭建.pdf ”
- Linux 入门常用命令 — 改变文件或目录的访问权限
- Linux新手入门:通过chmod改变文件权限
- linux文件权限查看及修改-chmod ------入门的一些常识
- Linux 入门常用命令-8.Linux改变文件或目录的访问权限命令
- 获得Android Linux系统增删文件的权限
- Linux 入门常用命令 — 改变文件或目录的访问权限
- ok6410中搭建linux/Android开发环境遇到reading u-boot.bin error found:0010、tftp传送文件遇到问题
- Linux 入门常用命令-8.Linux改变文件或目录的访问权限命令
- Android--入门---15---(文件保存 & 读取 & 权限)
- linux文件权限查看及修改-chmod ------入门的一些常识 .
- Android开发入门之网络通信(通过HTTP协议实现文件上传)
- Android开发入门之把文件存放在SDCard