在学习计算机的知识的时候,我们了解过很多操作系统,常见的如Windows,iOS,Android,Linux等,
随着学习的深入我们现在开始了Linux的学习,由于之前对这方面不是很熟悉,所以要从基础开始学起。
一、计算机五大单元
首先要学习一门操作系统,我们要了解操作系统的大致结构,下图为经典的冯诺依曼体系结构:
这里所谓的存储器就是内存,而输入设备包括键盘,鼠标,手写板等,输出设备包括显示器,打印器
等,运算器一般执行的是算术运算,而控制器一般执行的是逻辑运算。
数据运算的一般过程:数据从输入设备输入,进入存储器当中,CPU从内存当中取到要进行处理的数据,
然后进行相关运算,然后将处理好后的数据放回到内存中去,最后再通过输出设备将数据显示到屏幕上
或者打印出来。
二、环境变量
何谓环境变量?
Linux是一个多用户系统,多用户系统意味着每个用户登录系统后,都有自己专属的运行环境,这个环境由一组变量定义,而这一组变量就成为环境变量,这一组环境变量可以通过shell来定义。
常见的环境变量及其作用:
PATH:当前搜索路径
LOGNAME:当前主机名称
HOME:指定用户的工作目录
SHELL:指定当前用户用的是哪种shell
LANG/LANGUGE:当前语言
PS:命令基本提示符,对于root用户是#,对于普通用户是$
PS2:附属提示符,默认是“>”
MILA:当前邮件的存放目录
注意:上述变量的名字并不固定,例如HOSTNAME在某些Linux系统上被设置了为HOEST
同时,Linux还提供了查看和修改环境变量的指令,常见的几个指令及其作用如下:
1.echo:显示某个环境变量的值
2.export:修改一个新的环境变量
3.envy:显示所有环境变量
4.set:显示本地shell定义的变量
5.unset:清除一个环境变量
6.readonly:设置只读环境变量
三、文件类型
普通文件
①纯文本文档(ASCII):Linux系统中最多的一类文件类型
②二进制文件(Binary):Linux系统中的可执行文件就是这种格式的
③数据格式文件(Data):有些程序在运行的过程中会读取一些特定格式的文件,这种特定格式的
文件就称为数据格式文件
2.目录(directory):第一个字符为[d]
3.连接文件:[l] 分为软连接和硬连接
4.设备和设备文件:①块设备文件:[b] 一些存储文件,如磁盘
②字符设备文件:[c]一些串行端口的接口文件,如鼠标、打印机等
5.套接字(sockets):[s] 还被称为数据接口文件,这种类型的文件一般被用在网络中的数据接链接。
6.管道文件(PIPE):[p] 是一种特殊的文件类型,主要用来解决多个程序同时访问同一个文件带来的问题。
四、Linux的扩展名
实际上,Linux文件是没有扩展名的,因为对于一个Linux文件来说,能否可以被执行取决于x,与文件名
并没有关系,我们要把这个特点与windows系统下的扩展名区分开来,在Linux下若你的权限具有x,如[-
rwx-r-xr-x],那么这个文件就可以被执行。
虽然在Linux里面扩展名不起作用,但是我们可以在文件名后面加上类似扩展名的字母,这样就可以直观
地了解文件类型了,虽然这个“扩展名”对文件并没有什么影响。
在Linux里面一切皆文件。
五、Linux Shell指令运行的原理
在Linux中,用户通过指令来操作系统,但是命令不能直接操作系统,而是通过shell来将指令传达给系
统,再通过shell将处理的结果反馈给用户。
那么shell到底是干什么的呢
Shell在技术上的定义:命令翻译器(command interpreter)
主要作用包括:
将用户给的指令翻译给系统核心处理
将核心处理的结果翻译给用
Shell如何运行程序?
Shell通过fork建立新的进程,再通过execv函数簇在新进程中运行用户指定的程序,然后Shell用wait指令等待新进程结束,wait指令调用同时从内核取出退出状态或者信号序号已告知子程序是如何结束的。
本文出自 “福大馨” 博客,请务必保留此出处http://10800121.blog.51cto.com/10790121/1772934