仓酷云

标题: Linux教程之使用位运算完成权限把持仓酷云 [打印本页]

作者: 柔情似水    时间: 2015-1-18 11:29
标题: Linux教程之使用位运算完成权限把持仓酷云
学习linux,就意味着更快的开发效率,等更多关于软件本身或者说操作系统本身的理解。
比来项目中要把一批权限把持信息写进一个4字节的十进制数字中,接纳了位运算,基础道理在这里先容一下。
位运算的运算对象是二进制的位,速率快,效力高,并且节俭存储空间,位运举动当作权限把持又相称地天真。可是,位运算也有很年夜的范围,由于在32位盘算机上,位移不克不及凌驾32次,这就请求权限数目不凌驾32种。
以下完成了相似LINUX文件体系的权限把持。
-rwx-rwx-rwx这个在linux中暗示777,我们来看第一段7
x可实行1<<0
w可写1<<1
r可读1<<2
2^0=1,响应2进数为”0001&Prime;(2的0次方,下同)
2^1=2,响应2进数为”0010&Prime;
2^2=4,响应2进数为”0100&Prime;
2^3=8,响应2进数为”1000&Prime;
要判别一个数在某些数局限内就能够利用&运算符(数值从下面的表中得来)
如:7=4|2|1 (能够复杂了解成7=4+2+1),用&来操纵,能够晓得7&4、7&2、7&1都是真的,而假如7&8则是假的。
<?php
//界说权限
define(‘READ’,1<<2);//十进制4
define(‘WRITE’,1<<1);//十进制2
define(‘EXCUTE’,1<<0);//十进制1
//付与权限
$user_permission=READ|WRITE;
//考证权限
echo‘可读:’,($user_permission&READ)?‘Yes’:‘No’,“n”;
echo‘可写:’,($user_permission&WRITE)?‘Yes’:‘No’,“n”;
echo‘可实行:’,($user_permission&EXCUTE)?‘Yes’:‘No’,“n”;
?>
详解php位运算
$a&$b按位与把$a和$b中都为1的位设为1;
例:10&12=8
101010
121100
10008
$a|$b按位或把$a或$b中有一个为1的为设为1;
例:10|12=14
101010
121100
111014
$a^$b按位异或
例:10^12
101010
121100
01106
~a按位非把$a中的为0的为设为1,1的为设为0
例:~10=
1010101111111111111111111111111111111111111111111111111111111111110101-11
$a<<$b左移把$a中的为向左挪动$b次(每次挪动都暗示乘以2);
例:1<<10=1024
1(1)左移10位10000000000(1024)
相称于1*2的10次方。
$a>>$b右移把$a中的为向右挪动$b次(每次挪动都暗示除以2);
例:1024<<2=1256
10000000000(1024)右移2位就是100000000(256)

常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。
作者: 精灵巫婆    时间: 2015-1-21 07:46
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
作者: 小女巫    时间: 2015-1-23 19:04
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
作者: 若天明    时间: 2015-1-31 19:29
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
作者: admin    时间: 2015-2-3 18:46
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者: 谁可相欹    时间: 2015-2-5 05:10
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
作者: 再现理想    时间: 2015-2-11 04:53
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
作者: 深爱那片海    时间: 2015-2-28 17:01
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
作者: 飘飘悠悠    时间: 2015-3-7 09:32
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
作者: 海妖    时间: 2015-3-14 17:09
如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。
作者: 透明    时间: 2015-3-21 12:20
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2