目录
一、shell命令及其运行原理
shell简单说就是命令行解释器的统称,它的作用就是将用户写入的指令转化成操作系统能够识别的指令,还有就是将操作系统的处理结果反馈给用户。用户是不能直接访问操作系统的
有了命令行解释器一方面保护了操作系统中的数据不被随意修改,另一方面也降低了用户的学习成本
二、Linux权限的概念
Linux下有两种用户:
超级用户:可以再linux系统下做任何事情,不受限制
普通用户: 在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
1. 用户切换指令
命令:su
作用:将普通用户的身份变为root用户,不改变工作目录
示例:
命令:su -
作用:以root用户进行登录改变工作目录
这里切换之后用pwd查询工作目录就变为root用户就不示例了
如果是root工作目录下切换到普通用户就不需要输密码
三、文件类型和文件属性
1.文件属性
r: 可读
w:可写
x: 可执行
t:(粘滞位)特殊的可执行
-:没有权限
2.文件类型
d:文件夹
-:普通文件
l:软链接(类似windows的快捷方式)b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串设备)
s:套接口文件
四、权限身份
Linux将角色划分成三种:
拥有者(Owner):创建该文件的用户,对文件具有完全的权限。
所属组(Group):每个用户在Linux系统中都可以属于一个或多个用户组。所属组是与文件关联的用户组。用户组中的成员拥有与所属组相关的权限。
其他人(Others):其他人指的是除了拥有者和所属组之外的所有用户。其他人权限适用于系统上的所有用户,不论其是否属于文件的拥有者或所属组(由于Others太多了,所以没有在文件属性显示)。
五、权限修改命令
1.chmod
功能:更改文件或目录的权限
用法:chmod (ugoa)(+-=)(rwxt) 文件名
u
:拥有者g
:拥有者同组用o
:其它用户a
:所有用户+
:向权限范围增加权限代号所表示的权限-
:向权限范围取消权限代号所表示的权限=
:向权限范围赋予权限代号所表示的权限
2.chown
功能: 修改文件的拥有者
用法:chown [选项] 新拥有者[:新所属组] 文件/目录
3.
chgrp
功能: 修改文件或目录所属组
六、默认权限
权限中的rwx可以用10进制和二进制表示
例如:
r-- 二进制是100 十进制是4
-w- 二进制是010 十进制是2
--x 二进制是001 十进制是1
rwx 二进制是111 十进制是7
--- 二进制是000 十进制是0
Linux环境下:
默认给普通文件的起始权限是
666
默认给目录文件的起始权限是
777
上面这图显示的是创建出来没经过权限修改的目录和文件
这两个的权限为啥会被初始化成这样?
这其实是因为Linux里面存在一个权限掩码umask
:
这个umask
,就类似于漏斗,反是在umask
中出现的权限,不会在最终的文件权限中出现。
这个umask
,就类似于漏斗,只要是在umask
中出现的权限,不会在最终的文件权限中出现。
原理就是对起始权限&(~umask)