一、基本概念
计算机的组成单元:运算器、控制器、存储器、输出设备、输入设备五个单元。(如图)
运算器:主要负责程序的运算和逻辑判断
控制器:主要协调各周边器件与各单元间的工作
存储器:主要存放当前正在执行的数据和程序
其中运算器和控制器组合为中央处理器(CPU),CPU读取的数据从存储器获取,并且处理完毕的数据也必须先存放到存储器里。
CPU内部有指令集,CPU通过指令集的分类分为:精简指令集系统和复杂指令集系统
精简指令集(RISC):指令精简、执行时间短、执行效能佳、处理复杂任务需要多个指令。
复杂指令集(CISC):指令复杂、执行时间长、单条指令可以处理较为复杂的任务。
操作系统(operating system,OS):是一组程序,主要用于管理计算机的所有活动和驱动系统中的所有硬件。
内核(kernel): 管控硬件及提供相关功能,提供合理的计算机系统资源分配,提供程序管理、内存管理、文件系统管理等功能。Linux内核 https://www.kernel.org/
内核功能:进程管理、内存管理、文件系统、网络功能、硬件驱动、安全机制
系统调用(system call):又称为系统呼叫,提供用户程序和内核的接口。
shell:人机交互接口,是一种程序。shell可分为GUI(图形界面shell)和CLI(命令行shell)
GUI(graphic user interface):Gnome C语音开发;KDE C++开发; xface 轻量级图形界面
CUI(command line interface):bash sh csh zsh ksh tcsh
查看Linux当前使用的shell:[root@www ~]# echo $SHELL /bin/bash
查看Linux可用的shell:[root@www ~]# cat /etc/shells
驱动程序:操作系统提供接口给厂商来制作硬件的驱动程序,要使用新硬件,必须安装厂商的相应的驱动程序。
应用程序:是参考操作系统提供的开发接口所开发的的软件,这些软件可以让用户操作,以达到某些计算机的功能利用。
Linux的历史简介:
1960年代初期,麻省理工学院(MIT)发展了"兼容分时系统(compatible time-sharing system,CTSS)",可以提供数个终端联入主机,来利用主机的资源进行运算工作。
1965年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)及通用电气(GE)共同发起了Multics癿计划,一次来达成提供300个以上的终端机联机使用的目标。
1969年,Ken Thompson 以汇编语言写出了一组核心程序,同时包括一些核心工具程序,以及一个小小的文件系统。这个就是Unix的原型。
1973年,Unix正式诞生,Ritchie等人以C语言写出第一个正式的Unix核心。
1977年,重要的UNIX分支--BSD的诞生,BSD(Berkeley software distribution)是UNIX很重要的一个分支,Sun公司就是以BSD发展的核心进行自己的商业UNIX版本的发展,后来可以安装在x86硬件架构上面的FreeBSD就是以BSD改版而来。
1979年,重要的System V架构与版权宣告。在1979年,AT&T推出system V 第七版UNIX,这一版最重要的特色是可以支持x86架构的个人计算机系统,也就是说system V是可以在个人计算机上进行安装和运行,同时在这个版本上,AT&T特别提到了"不可对学生提供原始码"的严格限制,导致了很多的商业纠纷。
1984年,x86架构的Minix操作系统诞生,Richard Mathew Stallman发起GNU计划并成立自由软件基金会(FSF,free software foundation)。
1988年,图形接口XFree86计划,XFree86就是 Xwindow system + free + x86的整合名称。这个XFree86的GUI界面在Linux核心1.0版本在1994放出时,整合于Linux系统中。
1991年,Linus Torvalds在BBS上,宣告了一个小小的核心程序,从此开始了Linux的不平凡的路程。
1994年,发布了Linux 1.0 核心正式版。
因为Linux早期都是由***工程师所开发维护的,所以并没有考虑到一般使用者的能力,为了让使用者能够接触到Linux,于是很多的商业公司或非盈利团队,就将Linux kernel与可运行软件整合起来,加上自己的工具程序,这个工具程序可以让用户以光盘/DVD或通过网络直接安装/管理Linux系统。这个"Linux kernel + software +tools的可完全安装"的东西,我们称之为Linux distribution。
Linux的基本原则:1)由目的单一的小程序组成,组成的程序完成复杂任务 2)一切皆文件 3)尽量避免捕获用户接口 4)配置文件保存为纯文本格式
Linux终端:物理终端、虚拟终端、模拟终端
虚拟终端(terminal):由mingetty程序产生,使用ctrl+alt+(F1-F6) 进行终端切换
模拟终端:指使用SSH(secure shell 使用tcp 22端口)通过网络连接到Linux
查看当前是哪个终端:[root@www ~]# tty /dev/tty2 (虚拟终端2) /dev/pts/1 (模拟终端1)
Linux CLI接口:#--root ;$--普通用户
命令格式:命令 选项 参数
选项: 短选项 - ,多个选项可以组合 -a -b = -ab
长选项 --
参数:命令的作用对象
su(switch user):用户切换
su : run a shell with substitute user and group IDs
su [OPTION]...[-][USER[ARG]...]
-,-l,--login:make the shell a login shell
passwd : update user's authentication tokens
SYNOPSIS - passwd [-k] [-l] [-u[-f]] [-d] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-s] [--stdin] [username]
小技巧:
光标快速移动: ctrl + a 快速跳转到行首 ; ctrl + e 快速跳转到行尾
删除命令行中内容:ctrl + w 删除光标前一个单词 ;ctrl + u 删除光标到行首的字符 ; ctrl + k 删除光标到行尾的字符
清屏幕:ctrl + l ;clear
取消不执行的命令: ctrl + c
命令补全:双按Tab键