Linux背景知识:
(1)冯·诺依曼体系:
注意:①存储器指内存。
②CPU读取的数据都是从内存中来的,CPU处理完成的的数据,必须要先写回内存,最后才从内存传到输入单元。
(2)环境变量
多用户意味着每个用户登录系统后,都有自己专用的运行环境,而这个环境由一组变量所定义,这组变量称为环境变量。环境变量和shell密切相关,可以通过shell命令设置。
(shell:外壳程序,连接用户命令和操作系统的桥梁,可以派发子进程让子进程执行命令。)
Linux中常见的环境变量:
①PATH:指定命令的搜索路径 echo $PATH
②HOME:指定用户的主工作目录
③HISTSIZE:指保存历史命令记录的条数。
④LOGNAME:指当前用户的登录名。
⑤HOSTNAME:指主机的名称
⑥SHELL:至当前用户用的是哪种Shell。
⑦LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
⑧MAIL:至当前用户的邮件存放目录。
⑨PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
⑩PS2:附属提示符,默认是“>”。
注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST
Linux也提供了修改和查看环境变量的命令!下面通过几个实例来说明:
①echo 显示某个环境变量值 echo $PATH
②export 设置一个新的环境变量 export
HELLO=”hello”(可以无引号)
③env 显示所有环境变量
④set 显示本地定义的shell变量
⑤unset 清除环境变量
⑥readonly 设置制度环境变量 readonly HELLO
(3)Linux文件类型
<1> 普通类型:第一个字符为[ - ]
包括:①纯文本文档:Linux系统中最多的一种文件类型,内容为我们可以直接读到的数据,如数字、字母等。②二进制文件:Linux中可执行文件就是这种格式。③数据格式文件:有些程序在运行过程中会读取的某些特定格式的档案。
<2> 目录:第一个字符为[ d ]
<3> 连接文件:第一个字符为[ l ]
<4> 设备和设备文件
块设备文件,即一些存储文件,如硬盘、软盘等,第一个字符为[ b ]
字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等,第一个字符为[ c ]
<5> 套接字 第一个字符为[ s ]
还被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过数据接口文件来进行数据通信。
<6>管道 第一个字符为[ p ]
FIFO也是一种特殊的文件类型,主要目的是解决多个程序同时访问一个文件所造成的错误问题。
(4)Linux的扩展名
基本上,Linux的文件没有所谓的扩展名,一个Linux文件能不能被执行,与x有关,与文件名一点关系也没有。在Linux底下,只要你的权限当中具有x的话,例如[ -rwx-r-xr-x ],即代表这个文件可以被执行。但是能执行与能执行成功是不同的。
.sh :脚本或者批处理文件
.z .tar .tar.gz .zip .tgz :经过打包的压缩文件
.html .php :网页相关文件
(5)Linuxshell指令运行原理
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)”,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell来与kernel沟通。
从技术角度上讲,shell的最简单定义:命令行解释器
主要包括:
(1)将使用者的命名翻译给核心处理
(2)同时,将核心的处理结果翻译个使用者
shell对于Linux来说,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
shell如何运行程序?
shell用fork建立新进程,用execv函数簇在新进程中运行用户指定的程序,最后shell用wait命令等待新进程结束。wait系统调用同时从内核取得退出状态或者信号序列以告知子程序是如何结束的。
(6)Linux管理权限
<1>文件访问者的分类
a)文件和文件目录的所有者:u---User
b)文件和文件目录的所有者所在的组的用户:g---Group
c)其他用户:o---Others
<2>文件访问权限的种类
a)基本权限
i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
iv. " - "表示不具有该项权限。
如:[ drwxr-xr-x ] d----->目录 三个三个分开表示:拥有者(rwx)---组(r-x)---其他(r-x)
其中拥有者具有可读可写可执行的权限;组具有可读不可写可执行权限;其他具有可读不可写可执行权限。