一、计算机的组成及其功能
根据冯诺依曼体系,计算机硬件可以分成五个部分:
控制器:是整个计算机的心脏,对程序命令进行解释,协调各部分的工作
运算器:对指令和数据进行加工处理,进行算数和逻辑运算,与控制器组成CPU
存储器:存储数据和命令、信号等信息,并与CPU,IO等进行交互,例如:内存,硬盘灯
输入:将数据,信息等采集至计算机,例如:鼠标,键盘等
输出:将计算机的计算结果信息等表现出的设备,例如:显示器,打印机
二、内核的功能及作用
Linux内核是处于上层应用和硬件之间,来翻译上层命令为机器语言来驱动硬件工作,简言之就是操作系统,在linux中称为内核。
三、常见的linux发行版
Linux的发行版就是讲内核加上外围实用的程序组成一个大的软件包,一些公司或组织将其包装并发行,目前有数百种之多,其中有三大主要的发型分支:debian, Slackware和redhat。其中比较有名的发行版本有:
1. Debian : ubuntu
2. Slackware: S.u.S.E
3. Redhat: centos , redhat , fedora
根据GPL协议,所有的发行版本都源于一个linux内核,不同的发行版只是对外层软件进行的包装。
四、常见开源协议
根据修改代码后是否可以闭源,将常见的协议分为两类:
1. 必须开源:GPL,LGPL,Mozilla
1.1 GPL : GPL具有传染性,采用GPL协议的软件产品开发后,其软件也必须使用GPL协议,即开源和免费
1.2 LGPL:新增代码不必开源,采用LGPL协议的代码可以被商业软件以类库的方式引用
1.3 Mozilla:要求对源码的修改之处提供说明文档
2. 可以闭源:BSD,MIT,Apache
2.1 BSD:比较宽松的协议,可以自由使用、修改和再发布源码,但不可以用你的名字作为衍生类广告的推销
2.2 MIT: 和BSD一样宽泛,但必须在发行版中包含原许可协议的声明
2.3 Apache:每一处修改的文件都必须放置原有的协议声明
五、Linux的哲学思想
1. 一切皆文件:把所有资源都抽象成文件,比如设备,接口等
2. 由众多的单一功能的小程序组成,每个程序只做一件事,复杂的功能通过一组单一的小程序联合完成
3. 尽量避免和用户交互,目标通过编程可以实现自动化的任务
4. 使用文本文件保存配置信息,一切配置都在文本文件中,修改配置即修改文件
六、linux目录结构及命名规定
文件和目录在linux中被组织成一个单根倒置树状结构
/bin:所有用户使用的基本命令程序文件
/sbin:供系统管理使用的工具程序
/boot:引导加载器必须用到的各种静态文件:kernel,grub
/dev:存储特殊文件或设备文件
/etc: 系统程序的配置文件,只能为静态
/home:普通的家目录的集中位置
/lib: 为系统启动或根文件系统上的应用程序提供共享库,以及为内核提供内核模块
/lib64:64位系统
/media: 便携设备的挂载点
/mnt:其他便携设备的临时挂载点
/opt :附加应用程序的安装位置
/svr:当前主机的服务提供的数据
/tmp:为那些会产生临时文件的程序提供的用于存储的临时文件目录
/usr:全局共享的只读数据路径,包含bin,sbin,lib,lib64,include,share,local,src等
/var:存储常发生变化的数据目录
/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息,将信息抽象成文件系统格式
/sys:为管理Linux设备提供一种统一的模型接口
练习:
1、打印显示当前时间,格式是:20181209211008
[root@centos7 ~]# date +%Y%m%d%H%M%S
20190128015853
2、显示/etc目录下,所有以.d结尾的文件或目录
3、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
4、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限
5、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
[root@centos7 ~]# mkdir -p /tmp/{a1/a,a2/b,x_y,x_z,q_y,q_z}