一、基础知识
操作系统的组合结构
计算机的诞生的时间大概是上个世纪40年代,诞生于美国宾夕法尼亚大学。此时的计算机的结构已经进化有5大基本部件组成。
计算机的5大部件都遵循冯诺依曼体系,分别为:运算器、控制器、存储器、输入设备、输出设备。
CPU:
核心部件:
1.运算器(主要用于算数运算、逻辑运算、等各种各样的运算)
2.控制器(控制总线的使用权限、完成寻址、控制对内存当中的读取或写的访问)
CPU内部存储器(为了提升CPU的性能所提供的辅助性工具)
寄存器(用于锁存数据) 寄存器越多,CPU越贵
缓存 (用于缓存数据,分为一级缓存、二级缓存、三级缓存)
3.存储器:内存,RAM(Random Access Memory),也称为随机访问存储器。
I/O设备:
4.Input(输入设备):下指令,提供数据等。
5.Output(输出设备):输出数据加工的结果。
早期的计算机为单任务的(现在的计算机从本质上来书也是单任务的)。
程序:数据+算法。
程序运行起来称为进程。即进程为运行起来的程序。
计算机内的硬件资源是程序独享的,要实现多个程序分配硬件资源就出现了通用的管理软件-------内核(kernel)
内核:进程管理、内存管理、文件系统管理、驱动程序管理的管理平台,把硬件的计算能力抽象出来提供给上层的其他软件(系统调用),由于系统调用过于底层,使得程序员用来开发程序非常麻烦,因此出现库(库调用)。
库(library:API):将一个或多个系统调用的功能封装起来,做成的更高级的调用接口(API),库是一个无法单独执行的可执行程序,因为它没有执行入口,所以必须由其他上层的应用程序调用才可以执行,在库的上层就是各种各样的应用程序。
linux动态共享库(.so):Shared object
Windows动态共享库(.dll):Dynamic Link Library
Shell:提供交互的命令接口(用户在Shell中输入命令,Shell将命令送给内核,内核处理完毕后又将处理结果利用Shell反馈给用户)
Windows的图形化界面其实就是一个GUI(Graphic User Interface)接口的Shell(图形用户界面的Shell)
#:管理员提示符
$:普通用户提示符
二、命令组成
命令+选项+参数
命令:系统存在的命令,或者是一个可执行程序的额路径、亦或者是某个脚本的路径。
选项:用于修改命令的执行方式以及特性,选项可以同时使用多个,有些选项可以带参。选项分为长选项(--)和短选项(-)长选项不能组合使用、短选项可以组合使用。
参数:命令的作用对象,不同命令对参数的要求是不同的,视情况而定。
三、文件管理类命令
3.1 查看文件命令:cat、tac、more、less、head、tail
cat:适用于查看小文件,因为cat查看文件时是把文件调用到内存中再输出的,内存区域是有限的,所以有时候使用cat命令查看大文件会导致显示不全。
tac:跟cat命令相反,把文本内容倒过来显示。
more、less:分屏显示(可以自由的上下翻屏)
more查看文件时会显示当前查看文本内容分的百分比,实际上more不支持向前翻页,只要没翻到文本内容的末尾部分,只支持向前翻看一屏,但是不能向前翻一行。
翻屏:
向后翻一屏:SPACE (空栺键)
向前翻一屏:b 键 (如果翻到最后一屏时,则不能向前翻了,会自动退出)
向后翻一行:ENTER (回车键)
退出查看:q 键
less:
翻屏:
向后翻一屏:SPACE
向前翻一屏:b键
向后翻一行:Enter
向前翻一行:k键
检索(默认不区分大小写):
/ 后跟关键字
?后跟关键字
按n键 跳到下一个关键字
按b键 跳到上一个关键字
退出按q键
head:查看文本的前n行,默认n=10
head -n number filename 查看文件的前number行
head filename 查看文件的前10行
tail:查看文件的后n行,n默认为10
tail -f filename 动态查看文件(可以用来动态查看日志文件/var/log/secure)
四、文本处理命令
cut、join 用于切段查看文本内容
sort用于文本排序(默认是根据ASCII码中的顺序排序的)
uniq用于排序文本内容,默认为升序,默认会把重复的文本内容去掉。
wc(word count)用于统计文本中有多少行,多少个单词,多少个字节(空格也包含)。空白行只要有空格也视作为字节、如果空白行没有空格的话则视为空白,视为行数。
tr:用于转换或删除字符。
命令具体使用请百度(多练习才是王道)