在日常的Linux中,我们常常会执行 ll命令,这个是查看当前目录下的所有文件的信息;大致如下
其中的drwxr-xr-x ,总共10位,每一位表示什么意义呢???
第一位d:表示的是文件类型,d表示文件夹,l表示连接文件,-表示普通文件
后面的9个字符表示的是权限
权限分为4中:
- r表示读取权限
- w表示写入权限
- x表示执行权限
- -表示没有此权限
9个字符共分为3组,每组3个字符
- 第一组3位表示:创建这个文件的用户对这个文件的权限;
- 第二组3位表示:创建这个文件的用户所在组对这个文件的权限;
- 第三组3位表示:其他用户对这个文件的权限;
在每组中的3个字符里,第1个字符表示的是读取权限,第2个字符表示的是写入权限,第3个字符表示的是执行权限,如果这3个都有权限则是:“rwx”,没有权限是“---”;
所以说创建一个普通文件后,默认生成的权限都是-rw-r--r--,表示是一个普通文件,创建文件的用户的权限是rw-,创建文件的用户所在的组的权限是r--,其他用户的权限是r--;
在修改权限的时候,是用不通的数字来表示不同的权限的,4(2的2次方)表示读取权限,2(2的1次方)表示写入权限,1(2的0次方)表示执行权限;
设置权限的时,要给这三类用户分别设置权限。
例如
chmod +7 a.txt 表示的是给a.txt赋予读,写,执行的权限,7=4(2的2次方) +2(2的1次方)+1(2的0次方)
如果只给写权限的话chmod +2 a.txt,如果只给执行权限的话chmod +1 a.txt;