指令的运行原理
指令的本质,就是编译好的程序和脚本
我们所有的指令最终都要在操作系统 (OS) 内部运行,但是 OS 使用难度高,所以现在通过命令行解释器作为中间媒介连接用户需求和 OS。
命令行解释器存在的意义:
- 进行命令行解释
- 保护 OS,对于用户的非法请求,直接拦截
命令行提示符示例:
renshen: 用户名VM-4-3-centos: 主机名~: 当前目录$: 命令行提示符 (root 的命令行提示符是#)
Linux 权限
文件访问者的分类
- u (user): 文件和文件目录的所有者
- g (group): 文件和文件目录的所有者所在组的用户
- o (others): 其他用户
文件类型和访问权限

上面是对文件前面那个前缀的说明
如果出现一个普通用户既是 u 又是 g,并且 u 和 g 的权限不一样,系统默认判定他的权限按 u 那个来,不按 g 那个来。
文件类型
- d: 文件夹
- -: 普通文件
- l: 软链接(类似 Windows 的快捷方式)
- b: 块设备文件(例如硬盘、光驱等)
- p: 管道文件
- c: 字符设备文件(例如屏幕等串口设备)
- s: 套接口文件
注意:Linux 系统中文件名后缀没有直接意义,对文件类型没影响。但是部分软件(如 gcc)可能会看文件名后缀来运作。
基本权限
对于文件来说:
- r: 可读
- w: 可写
- x: 可执行
- -: 表示对应权限位置没有权限
对于目录来说:
- r: 允许查看指定目录下的文件内容(不是打开目录下的文件!)
- w: 允许在当前目录下进行创建、更改、删除文件
- x: 允许用户进入对应的目录
- t: 是一种特殊的 x 权限,一般用于共享目录,只允许文件拥有者和 root 有权限删这个目录里的这个文件
- -: 不允许那些操作
注意:一个文件能否被删除,并不由文件本身决定,而是由这个文件所处的目录决定。
rwx 的摆法是有规定的(文件权限值的字符表示方法),当然还有 8 进制数值表示方法(目录的那个 t 不能用这种表示)。


