目录
shell命令以及运行原理
下图中的被叫作命令行,而后面可以输入的则是命令+选项
广义上,Linux发行版 = Linux内核 + 外壳程序
狭义上,Linux = Linux内核
外壳程序相等于Windows中的gui,即窗口图形
bash是外壳程序的名称,而shell则是它所扮演的角色,比如李明是一名老师,bash相当于李明这
个名字,而shell则相当于老师这个职业
如下图,shell有两个作用
传递请求指令,让OS去执行
保护内核
另外,shell也能创建子进程来进行执行具有风险的事情,程序运行起来就是一个进程,而shell本
身也是一个进程
Linux权限的概念
Linux下的两种用户:超级用户(root)和普通用户
权限:一件事情是否允许被特定的人做
权限 = 人+ 事物的属性
权限约束的是人,文件本身具有的天然的权限属性:r(读) + w(写) + x(可执行)
权限的管理
权限的操作则是修改人或者修改属性
Linux中的用户类型
拥有者:owner;所属组:group;其它:other
而之所以有所属组,则是为了方便组内协同,比如两组进行竞争,其中一组的一个人写了一段好的
代码,希望组内的人来找bug,这时他就需要开放权限让别人看到,而又不能让另一组的人看到,
这时就只需开放所属组的权限即可
用户的区别
拥有者,所属组,other:指的是一种角色
root和普通用户:指的是具体的一个人,他能是拥有者,所属组或other
第一个字符标识文件的类型 ,Linux中,不以文件后缀作为区分文件类型的方式
文件分类
-:普通文件(文本、各种动静态库,可执行程序,源程序)
d:目录文件
c:字符设备文件:键盘与显示器
b:块设备文件:磁盘
p:管道文件:通信
l:链接文件:软连接
Linux下一切皆文件
如下图,有r则有读权限,为-则没有读权限,有w则有写权限,为-则没有写权限,为x则有可执行
权限,为-则没有可执行权限
注意:rwx的顺序是不能被改变的
修改权限
需要用到的指令是chmod,格式chmod 所属 +/-某权限 文件,所属就有拥有者,所属组和
other,缩写为u、g、o,+/-表示添加权限或去除权限,文件就是要改变权限的文件,例子如下:
如下图,就是去除拥有者的读权限,然后就不能读取文件内容了
如下图,就是去除拥有者的写权限,可以继续写入,但是保存不了,所以只能不写退出
如下图,就是去除的所属组的权限
如下图,a是all的缩写,能同时对三种角色的权限进行修改
权限的另一种修改格式(数字)
比如是r和是-就表示有读权限和没有读权限,所以也可以用1/0来表示有无权限,而每个所属都有3
个权限,这里就能用一个8进制数字表示,比如rw-变成r--,用数字就是100,即4,让rw-rw-r--变
成r--rw-r--,则是464,如下图
权限对root用户的限制几乎无效,如下图,other无读和写权限,但root依然可以读和写
修改文件所属
改变拥有者是chown,改变所属组则是chgrp,而other则随着前两者变化,无需手动修改
将文件给别人,需要得到对方的同意,所以这里可以在前面加个sudo强制给别人,但暂时无法演
示,这里直接将用户切换为root来做
如下图,将文件的拥有者进行了改变
root则可以直接拿和给,不受此约束
如下图,将文件的拥有者和所属组同时改变
进入目录需要的权限是可执行权限(x)
如下图,lesson目录没有了可执行权限,则无法进入目录,而ls因为有读权限,却可以查看目录内
容,就看似显得很矛盾,但只能看到文件/目录名,属性看不到,这样看,就不觉得矛盾了
默认权限