Linux 与Windows的区别
与Windows 系统不一样,在Linux系统中,无论是系统内核还是应用程序,都是文件。正如此,当你学习Linux中遇到问题时,总能看到热心网友的解决方法:== rm -rf * == 一旦运行此命令,整个系统将被严重破坏,无法进入系统。
查看文件权限
所以在进行学习Linux时,我们应该先了解相关的文件权限知识,避免误删文件。
使用 ls 查看文件权限
ls -l // -l 参数显示文件的显示属性信息
执行ls 命令除了每行最后的文件名外,还有很多信息如上图。那么文件名前面信息分别是什么意思呢?请看下图
第一项的文件类型和权限,正是本文的所要讲的内容。下面用图示直观的解释一下
第一位表示文件类型,后面第2至10位,三三一组,分别表示拥有者权限(该文件的创建者user,简写u),所属用户组权限(group,简写g),其他用户权限(others,简写o)。每组的读、写、执行权限的位置是固定的 rwx 形式,r(读权限)w(写权限)x(执行权限)。如果没哪项权限,则该项权限位置用-占位。
-rw-r--r-- 1 wxn wxn 307 Aug 13 01:51 result.txt
如上图ls命令执行输出的result.txt文件
该文件的权限为是rw-r--r--
则表示该文件的拥有者具有读写权限
用户组具有读权限
其他用户拥有读权限
修改文件权限
修改文件的权限使用 chmod 命令,有两种方式:一种二进制数值表示,一种加减赋值操作
上面说到文件的权限位置都是固定搭配,读r 写w 执行x 三个一组,一共三组九位。所以可以用下图的二进制数字表示
如上图所示
- r 的值是 1 乘 2 的二次方 = 4
- w 的值是 1 乘 2的一次方 = 2
- x 的值是 1 乘 2 的零次方 = 1
-rw-r--r-- 1 wxn wxn 307 Aug 13 01:51 result.txt
同样以result.txt文件为例,它的九位权限分别是rw-r--r--,三位一组分别对应三个身份权限信息,拥有者权限(user 简写u) rw- 4+2+0=6,所属组权限(group 简写g) r-- 4+0+0=4,其他用户权限(others 简写o ) r-- 4+0+0=4 。result.txt权限用数值表示则为644 。
有以上知识基础后,用chmod命令采取二进制数字修改权限的方式就很容易上手了。
要把result.txt权限改为rwxrw-r-- ,只需把三个身份权限位数值改为764即可
chmod 764 result.txt
下面再讲加减赋值方式修改权限。细心的伙伴可能已经发现我在讲文件权限三个身份时一直给出英文及简写,就是为这一步。拥有者权限(该文件的创建者user,简写u),所属用户组权限(group,简写g),其他用户权限(others,简写o)。要给文件哪个身份加减哪个权限,直接简写加减权限即可。
把result.txt 三个身份的权限全部改为可读可写可执行rxw
chmod ugo+rwx result.txt
ugo也可以用a(all 全部身份)表示
上面命令可以写成下面的命令,效果一样
chmod a+rwx result.txt