第一周学习总结
按照课程要求,本周完成2天的课时,总计8课时。
因为是刚开课,马哥为我们介绍了上课环境,课程体系,还有一些计算机基础理论。内容主要是:
计算机的工作机制
linux系统的发展史与基础入门;
linux文件系统的架构详解;
一些基本的命令和帮助获取。
计算机的工作机制:
计算机顾名思义,就是用来计算的。计算机自从被发明出来之后经过几十年的更新换代,硬件与软件都在飞速提高,但是其工作机制却一直未曾改变。以下是计算机运行机制的核心组件:
cpu: 运算器、控制器、寄存器、缓存
存储器:内存
Input: 下指令,提供数据;
Output:输出数据加工地结果。
存储器:
内存是计算机的核心部件,用来临时存放进程的数据。
内存是由存储单元组成,每个单元大小为8bits,而且都有唯一的编号。
进程是由程序发起,所以亦可以将进程看做一个程序;
运行程序是由指令+数据组成,每个指令对应相应的数据,以下是存储器工作流程:
首先:当一个程序发起一个进程时,会将进程写入到内存中。
然后:cpu会首先加载内存中进程的指令,获取指令相应的数据位置;
最后:cpu会将进程数据的位置与存储单元做比对,找出存储于存储单元的指令数据,运行其数据。
寄存器:
寄存器简单的说就是在cpu上装了一块小内存。
它有两种功用:
1、将执行过的指令都存储下来,待到下次需要执行次指令时,直接从寄存器中读取,大大提高执行效率;
2、预存储指令:因为cpu在执行完第一条指令,就要去内存中找出下一条指令的位置。而有了寄存器,在cpu执行完第一天指令后,会预先存储第二条指令的位置,这样就可 以大大缩减了每一条指令的间隔,提升工作效率。
linux的发展历史:
1965年
multics(bell,MIT,GE):bell、MIT、GE合作研制一个多任务监控程序,但是不太顺利;
1969年
DEC: Ken Thompson(C语言之父)无事可干的情况下写了一款游戏,为能运行游戏而利用汇编语言开发了一款小系统(unix原型);
1973年
Dennis Ritchie和Ken Thompson发明了C语言,而后用c语言重新写了Unix的内核;
1977年
伯克利大学的Bill Joy针对他的机器修改Unix源码,称为BSD;
1979年
Unix发布System V,用于个人计算机;
1984年
因为Unix规定:“不能对学生提供源码”,Tanenbaum老师自己编写兼容于Unix的Minix,用于教学;同年Stallman开始GNU(GNU's Not Unix)项目,创办FSF(Free Software Foundation)基金会;
1985年
为了避免GNU开发的自由软件被其他人用作专利软件,因此创建GPL(General Public License)版权声明;
1988年
MIT为了开发GUI,成立了XFree86的组织;
1991年
芬兰赫尔辛基大学的研究生Linus Torvalds基于gcc、bash开发了针对386机器的Lniux内核; (此时linux正式诞生)
1994年
Torvalds发布Linux-v1.0;
1996年
Torvalds发布Linux-v2.0,确定了Linux的吉祥物:企鹅;
推动linux的重要人物:
1.Ken Thompson:C语言之父和Unix之父
2.Dennis Ritchie:C语言之父和Unix之父;
3.Stallman:著名黑客,GNU创始人,开发了Emacs、gcc、bash shell;
4.Bill Joy:BSD开发者;
5.Tanenbaum:Minix开发者;
6.Linus Torvalds:Linux之父,芬兰赫尔辛基大学;
基础入门:
linux的基本结构:
linux的系统功能:
驱动程序
进程管理
安全管理
网络功能
内存管理
文件系统管理
linux有两大类型接口:
API:程序员面对的编程接口;
ABI:程序应用者面对运行程序的接口;
GNU: 开源程序
两大类:
源代码:二进制格式,需要编译使用,编译过程极其复杂;
编译好的安装包:直接安装使用
软件程序:
xx.yy.zz xx:主版本号; yy:次版本号; zz:修订版本号
常见的发行版本:
Debian:
ubuntu
mint
SLackware:
S.u.S.E
SLES
OpenSUSE
RedHat:
Redhat 9.0:
RedHat Enterprise Linux: RHEL
CentOs:
Fedora Core:
Gentoo
ArchLinux
程序管理:
程序的构成:
二进制程序: 程序的主体
配置文件: 为程序的不同选项提供不同的接口
库文件: 应用自带的库,提供二次开发
帮助文件: 程序作者为用户写的使用文档。
linux文件系统的架构与存储机制:
linux遵循着一切皆文件,以FHS为核心,用倒树状形态将一个根将所有的文件路径都连接起来。
大体结构如下:
在实际情况下,每一个目录下都可以创建子目录,每个子目录在创建子目录。
linux常见的文件存储系统:
ext2:没有日志文件
ext3:增加了日志功能,总体性能优于ext2;
ext4:提供了更加的性能及可用性。
xfs:突破ext系列最大只能挂载2t硬盘的限制,整体系能由于ext4.
btrfs:新型文件系统,可默认支持raid,整体性能非常强悍。
相对路径与绝对路径:
相对路径:指以当前目录为根查找当前目录下的文件和目录
绝对路径:指无论任何情况下都以初始的根为根,提供完整路径。
文件名使用法则:
在同一目录下,文件与文件夹名称不能相同;
常见的文件类型:
f:普通文件;
d:目录文件;
c:字符设备;
b:块设备;
s:套接口文件;
l:符号链接文件。
一些基础的命令:
Cd ~ 切换到自己的家目录
Cd ~ USERNAME 切换到指定用户的家目录
ls [options] <dir|file>
options:
-a: 所有文件与目录,包括隐藏文件
-A:所有文件与目录,不包括隐藏文件
-l:以长格式列出
-h:以更加人性化的方式列出
-d:列出指定的文件或文件夹
–r: 逆序 zyx…a
-t:按照时间排序
-R:递归显示每一层的所有文件
File FILENAME: 查看文件类型
Cat –n 显示行号
-E 显示行结束符$
Tac 与cat正好相反
Echo 输出
-n 不会换行操作
-e 让转义符生效 例如\n换行符 \t 制表符
关机或重启命令:
Shutdown [options] [time]
optinons:
-h: halt 关机
-r: reboot 重启
-c:cancel 取消以上
Time:
Now
Hh:mm
+m
+0now
Wall “xxx”: 向所有的终端显示输入
Date
Date +%
date "+%F %T"
设定时间:date 月日时分年
Clock,hwclock:硬件时钟
-s, –hctosys 硬件为准 把系统调整为硬件时间相同
-w, –systohc 系统为准 吧硬件调整为系统时间为准
Cal 日历 –m |-y
获取命令:
在我们使用linux中,不免对一些命令产生疑问或对一些命令不知如何使用,所以就该用linux自带的命令帮助系统来帮助我们熟悉命令。
获取命令帮助:help,man
help主要是用于帮助我么学习每个命令的参数与选项的意义,例如:
man:
man是内置的命令使用手册,会详细的将每条命令的用法、选项、示例等都娓娓道来。
例如:
还有一些其他的帮助命令:whereis、whatis、file、type、等。
whereis:显示命令的二进制文件与命令路径;
whatis:显示命令的帮助文档;
file:显示文件的类型;
type:显示命令的类型(内嵌或外置)
原创文章,作者:N25_韩奇洋,如若转载,请注明出处:http://www.178linux.com/62350
评论列表(1条)
总结的很好,有图有真像