代码改变世界

第一周 Linux基础

2018-07-30 14:42  最好的时代  阅读(154)  评论(0)    收藏  举报

计算机组成及功能

计算机组成主要分为五个部分:控制器、运算器、存储器、输入设备、输出设备

  CPU:控制器、运算器、缓存、寄存器

  存储器:内存(RAM:Random Access Memory)

  Input:下达指令、提供数据

  Output:输出数据加工结果

  

 

  数据在控制器输入命令的控制下,通过输入设备送入计算机的存储器存储。当计算开始时,在取指令作用下把程序指令逐条送入控制器。控制器对指令进行译码,并根据指令的操作要求向存储器和运算器发出存储、取数命令和运算命令,经过运算器计算并把结果放在存储器内。在控制器的区属和输出命令作用下,通过输出设备输出计算结果。

  各组件的功能

  控制器(Control):计算机的中枢神经,空值部件之间的协调,包括寻址操作。

  •   保障不同速率传输的数据可以得到缓冲、甄别IO设备传送数据的正错、实现数据与数据之间的交换、接收和识别命令。 

  运算器(Datapath):包含算数逻辑单元(ALU)、累加器、状态寄存器、通用寄存器等,通常知错运算。

  •   算数逻辑单元(ALU):进行二位元的算数运算,加减乘(非除)、位移等
  •   累加器(Accumulator):存储计算产生的中间结果。保证ALU不用将计算结果写入内存
  •   状态寄存器:存放两类信息,体现当前指令执行结果的状态信息、控制信息
  •   通用寄存器组:可用于传送和暂存数据,也可以参与算数逻辑运算,保存运算结果。通用寄存器组包括以下几类:数据寄存器、变址寄存器、指针寄存器、段寄存器、指令指针寄存器。

  存储器(memory):具有存储数据和读写数据的功能,每一个存储单元为cell,8位二进制为一个存储单元,即一个字节

  输入设备(Input):作用是将程序、原始数据、文字、字符、空值命令或现场采集的数据输入到计算机

  输出设备(Output):作用是把计算机的中间结果或最后结果、机内的各种数据及文字等信息输出

 

Linux的发行版  

红帽企业系统(RHEL)、红帽社区企业系统(Centos)、Fedora最初由红包公司发起的桌面版系统

OpenSUSE:德国著名的Linux系统

Gentoo:具有极其高的自定义特性、操作复杂,适合有经验的人员使用

Debian:提供各类自由软件,拥有极高的认可度,对各类内核架构支持性良好,稳定性、安全性强更有免费的技术支持

Ubuntu:基于Debian派生的产品

Linux 哲学思想

一切皆文件:把几乎所有的资源统统抽象为文件形式;包括硬件设备,通信接口等

由众多功能单一的程序组成,一个程序只做一件事,组合小程序完成复杂任务

尽量避免跟用户交互,易于以变成的方式实现自动化任务

使用文本文件保存配置信息

提供机制、而非策略,机制是实现某个功能需要的原始操作和结构,策略是某功能的具体实现。给用户充分的自助可调配性。

 

Linux 命令

命令使用格式

# COMMAND OPTIONS ARGUMENTS

COMMAND:在命令提示符下,把这个命令启动为一个进程,而命令运行过程中的特性由选项进行修正,并且这个命令将作用于所给定的参数值上。命令请求Kernel将某个二进制程序运行为一个进程。程序本身只是一个静态文件,只有通过这个请求,才会转化为有生命周期的动态进程。命令本身是一个可执行的程序文件(内部直接调用CPU指令集中的所允许库):二进制格式的文件,有可能会调用共享库文件。

多数系统程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin,查看命令类型 type COMMAND

  • 普通命令:/bin,/usr/bin,/usr/local/bin
  • 管理命令:/sbin,/usr/sbin,/usr/local/sbin

共享库(二进制文件,但不能独立执行,没有程序执行入口):/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64,32位64位

命令运行有可能会用到库文件,只要命令以动态形式进行编译并连接至库文件,将在运行时调用库

命令分为两类:

  • shell程序自带的命令,即内置命令
  • 独立的可执行程序文件,文件名即命令名,为外部命令

环境变量(PATH):从哪些路径中查找用户键入的命令字符串对应的命令文件

# echo $PATH
# 新增环境变量可写在/etc/profile 中,以便随时加载
# PATH=$desp_home:$desp_home/cmd:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# export JAVA_HOME JRE_HOME CLASSPATH PATH 

 

Linux 发行版的基础目录名称命名法则及功能规定

Linux是以树形目录结构的形式来构建系统的,虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说Linux的磁盘是挂载在目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。