shell命令以及运行原理
什么是shell命令:
将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。
shell就相当于操作系统外的一层外壳
其实就是登录linux时的一个可执行程序(进程),一直存在
每次登录时,os都会给用户,新启动一个shell.
人手一个
为什么有shell外壳:
因为操作系统本身的易用程度和安全考虑,用户不能直接去操作操作系统而是通过shell命令来和操作系统沟通。
子进程(初识)
有风险的命令,或者自定义的命令,shell外壳都会创建子进程去执行,
限权
linux的用户:
root:超级管理员
普通用户:***
身份切换:
su :普通用户切换成root用户,需要输入root密码
su +普通用户名 :不需要密码验证
普通用户切换成另一个普通用户,需要另一个的密码
那么是不是用一种方法可以让普通用户在不切换成为root用户,也能让普通用户以root的权限去执行命令呢?
在命令的前面 +sudo
但是不是所用的普通用户的命令在前面加sudo都能够具备root的权限的,不然的话root的权限也就不管用了。root要先把这个普通用户添加到一个配置文件中,然后这个普通用户才可以。
权限:
linux的文件大概可以分为 文件角色权限和文件属性权限
那么如何修改文件的属性呢
添加:chmod u+rwx g+rwx o+rwx 或者三个一起修改:a+rwx
删除:把+变成-
我们也可以用二进制思想来修改文件属性
注意:可执行文件要满足两个条件才是真的可执行
1.文件的限权属性是可执行的 x
2.文件里的内容是一个可执行的内容
如何更改文件的拥有者,一般来说这个文件是那个用户创建的那么拥有者就是这个用户,如果我们想更改的话:
此时的gogoto用户也可以对文件进行操作了
注意:root用户可以无视文件限权属性操作:
更改文件的所属组:chgrp
更改文件的属性只有拥有者或者root可以,切换文件的角色只有root可以(或者root赋予了拥有者配置文件)
linux文件类型
常见的文件类型:
目录的权限
目录的权限任然是用rwx表示的:
默认限权:
如果我们几个普通用户想要实现文件共享,(既他们可以在同一个目录下增看查同一个文件)
根目录下有一个目录tmp具有可以让所有用户都进入并且新建文件,查看文件。但是这样的tmp目录里的文件会被其他用户随意删除,所以我们把这个目录other的x权限变成t(粘滞位)。