没有什么可说的,马哥的Linux视频真的是精品,这里把我学习以后的笔记整理到这里,以备不时之需。

 

day01

①.Linux学习的一些方法论

做好总结,必须学习完一个知识点以后要用自己的思想把它彻底的给别人讲明白,这样这个知识就真的融入你们的知识体系了,否则看着会了,其实是一知半懂。比较好的方法就是写总结,记笔记,然后汇总成博客,这样可以锻炼你对问题条理化理解,这会影响你们的一生,是隐形的影响。 

 

都说Linux很难,不然怎么体现你的价值啊?只有基础打牢,之后的中高级内容才能从容不迫。要做好知识结构的优化和梳理,这样才能全面的提升你的技术技能。

 

学习一个知识的方法:总-------

就是想概貌的去了解这个知识的背景,然后把它分解成你可以处理的小知识点,等你把每个小知识点解决以后,再从整体的角度回顾该知识,一般这样下来,这个知识点十有八九可以拿下。

 

②.VMware软件的介绍


这里使用的是VMware Workstation,知道它是个虚拟机软件就可以了,这里有物理机和虚机(客户机)的概念,但是很好理解(如下图)。

            wKioL1XZ5lLQB3YUAABUmZoITMQ253.jpg    

了实现虚机的网络通讯需求,它提供了三个网卡进行不同的网络搭建,分别是:

VMnet0 ----- 桥接使用

VMnet1 ----- 仅主机使用

VMnet8------ NAT模式

现在不需要了解该软件的内部细节,只要知道使用桥接,让你的要安装的虚机系统和主机系统进行通信即可。

 

 

③.计算机体系结构基础知识介绍

POST :加电自检     计算机拥有“自举”能力

程序 : 指令 +  数据

 

计算机组成:

运算器    数据总线,控制总线,地址总线----总线复用技术

控制器

存储器:内存 二维编址硬件

输入设备:键盘鼠标       人机交互的IO设备

输出设备:显示器         人机交互的IO设备

额外设备:ROM  硬盘

 

cpu监控程序运行的方式:

轮询   poll

中断   interrupt   ----可编程中断控制器

程序局部性原理:

1、刚刚访问过的数据可能还会被访问

2、内存空间邻近的数据可能马上被访问

 

计算机的核心是CPU,它包括运算器和控制器,而程序中的指令和数据存放在存储器中(内存),另外加上输入设备和输入设备,构成了所谓的冯·诺依曼体系结构。

 wKioL1XZ5qOgGCHOAAFMltruFdw948.jpg

这里主要理解计算机是怎么控制硬件服务于软件的?

运算器 进行数据的处理

控制器 进行指令的执行

存储器 提供程序的指令和数据,回存执行结果的数据

 

④.程序和CPU的关系及主流CPU介绍

不同的CPU,它的微码是不同的,程序被编译以后能使用的汇编指令也是不同的。这就是造成一个困局,不能“一次编译,到处运行”,这就出现了程序移植问题。

 

机器语言<---汇编语言(微码)<-----高级语言

 

目前主流的CPU硬件架构:

移动智能机:ARM平台

PCx86   x64

安腾--inter

Alpha--惠普

UltraSparc--sun

Power--IBM

M68000, M68K--moto

PowerPC -- appleIBM等联合研发

⑤.现代操作系统

Windows

Linux

Unix

OS/2

 

特点:多任务运行(进程间切换,cpu具有保护现场功能),内存分段(虚机地址空间)

有了操作系统,其他任何进程不能直接和硬件发生关系,只能通过system call调用系统内核来进行硬件访问。但是system call太过底层,不利于高效的编程使用,二次封装以后就是“库”。也就是我们常说的APIApplication Programming Interface,应用程序编程接口,它弥合了底层CPU的不同,通过它对外提供内核功能的调用接口给其他程序使用。然而只有程序能和内核打交道是不够,目的还是服务于人,这样出现了shell---人机交互工具。

 

计算机分层思想:

Shell:GUI  图形化 如桌面

       CLI  命令行 terminal   Linux的命令行:高效、稳定,适合服务器

  全球top500的大型机上有90%的运行Linux系统

库:不能独立运行,可被其他程序调用

dll 动态链接库(共享库)  使用多了会出现内存碎片

.so 共享对象

服务:后台运行的进程

Shell:解析用户输入的命令,转换为内核可执行的命令

wKioL1XZ5sjzpcgbAAEMP9L_pzg972.jpg


内核功能:(通用软件)

进程管理;内存管理;文件系统管理;网络功能;硬件驱动;安全机制等等

 

⑥.Linux的发展历史和主流的发行版

这点马哥讲很很详细,历史听听知道就可以,不需要记住。

wKiom1XZ5PLQTTOeABL1MCiSnJ4183.jpg

GNU/Linux   GPL协议

 

主流发行版:

RedHatrpm(软件管理器)

CentOS  Community Enterprise OS  社区企业操作系统 (RedHat企业版社区版)

Fedora    RedHat个人版社区版

Debiandpt (软件管理器)

Ubuntu-->Mint

SUSE

 

Linux内核版本:

0.1  1.0  2.0  2.2  2.4  2.6  3.0

www.kernel.org 

Linux的基本原则和常识知识

  Linux的基本原则

a) 由目的单一的小程序组成,组合小程序完成复杂任何

b) 一切皆文件

c) 尽量避免捕获用户接口

d) 配置文件保存为文本文件格式

e) Linux严格区分大小写

  Shell接口

GUI----Gnome   KDE   XFace

CLI----bash

# 管理员的命令提示符

$ 普通用户的命令提示符

  用户登录:

启动系统以后会有login程序给你一个登录界面:

这是虚拟终端 一共有7个(默认6个bash  1个GUI)

CTRL+ALT+(F1--F6) 进行切换  CTRL+ALT+(F7) 图形界面

 

命令 xstart &    在CLI中启动GUI

命令 su   USERNAME       切换用户  

命令passwd      修改普通用户的密码

 

 

一般密码的设定原则:

1、使用4种类别字符中至少3种;

2、足够长,大于7位;

3、使用随机字符串;

4、定期更换;

5、循环周期足够大;

 


总结:第一天的内容相当的给力,补充基础知识是迈向下一步的基础,以后我会每天更新这个笔记,也算自己学习的一个监督。