写在前面:
很抱歉,上周的事儿,拖到这周,也是个半成品,加班就不多说了,每个人都很忙,总要自己找时间。本计划这个周末好好补补,无奈身不由己,刚刚回来。
还好昨夜先起了个初稿,总算是有些东西可以交代给自己,想到马哥说的,完成远比完善重要,虽然来不及完善,先发出来吧,有了框架,至少知道自己做过什么。尽快排版吧,不仅是为了作业,也希望自己拿出来的,是一个自己看的过去的东西。而这周该作的事儿,也只能加紧了。
一、计算机的组成
计算机这个东西,现在在大家心里已经习以为常。记得我小学的计算机课,也就是90年左右吧,还要从全年级每个班里挑几个学习好的同学,一周一节课,学习计算机。到了学校的机房,十几台机器,也不知道当时讲课的老师是不是真的懂,反正就算他懂他讲的我们也听不懂。
印象中就是对着一个黑乎乎的屏幕,不断输入“asdf jkl;”回车….
Asdf jkl;
Asdf jkl;
…….
输入满一屏最后来个cls
再如此反复….
后来记得还有电视台扛着摄像机来拍摄,我们就更加努力的asdf jkl;…….
再后来上初中接触了带图形的pc,当然主要是因为游戏,横扫千军…什么得,其实也不会玩, 但是因为好奇,看了很多当时的《电脑爱好者》杂志,不论怎么说,这份杂志给我带来了启蒙。后来电脑室终于连上56k的网络了,兴起的聊天等,电脑终于开始在大众中流行,《电脑爱好者》所学到的那一点点知识,让我在这时候显得那么的出类拔萃,甚至还能业余给网吧去搞维护,甚至很多人还慕名求助,家里电话甚至半夜2.3点都响起来。现在想想,当时谈得上什么技术,只是比大家学的早了那么一点点。
从97年花1w多买了第一台海信电脑,到2000年家用电脑兴起,所有人都找我买电脑,挣了不少私房钱,也满足了个人的荣誉,从那时起,不知不觉,我的生活,就开始和计算机联系在了一起,当然,现在想想其实都当时什么都不懂,最大的乐趣,就在于好奇,《电脑爱好者》中的所有知识对我来说都是新鲜的。
言归正传,说说电脑的组成,买第一台电脑的时候,到了海信的电脑营业部,我也有点傻眼了。。。为什么还有这个箱子,这箱子太丑陋,不符合俺样的美学。这也是在之后好几年里,陪很多人买电脑他们的疑问。
我们所看到的电脑,接触到的只是显示器,就像电视一样,我们以为这就是一切,但是你忘了电视台的工作人员了么。机箱就相当于电脑的电视台。这个道理十几年前讲,还有一定市场,现在是个人基本也都知道了。
那么就再归正传吧,电脑的主要组成部分,通常我们所说的是:
1, 中央处理单元(cpu);
2, 内部存储器(内存);
3,外部存储器(硬盘),
4, 输入设备(input);
5,输出设备(output)。
当然,按照更内行的分类,是运算器,控制器(合称cpu),I/O设备(也就是上面的input和output),其他都算外围设备。
我们还是按照稍微专业一点的来讲吧,不然这篇也过于科普可能几十页也写不完了。
首先我们明白一点,计算机,没有大脑,其实就像我们开关灯一样,我按下开关,灯亮了,再按一下,灯灭了,本质如此而已。那么试想当你控制一个大会堂,或者一个舞台的灯光的时候,什么时候亮哪一盏灯,什么时候灭哪一盏灯,摆在你面前很多的开关,你去根据剧本提前告诉你的舞台节奏,去掌握整场演出的灯光节奏。
那,这一套控制各个灯光开关的电路系统,就是运算器,而控制灯光的你,加上给你的如果控制灯光的剧本,就是“控制器”,你们组合在一起,就是cpu。
你当然想把工作做好,不想忙中出错,所以当你在打开这盏灯的同时,会瞄一眼剧本的下面几行,心里知道接下来,你要开关哪些灯,这时候,你的大脑,就是内存。
如果整场演出很长,你需要连续工作四五个小时,那你的剧本可能会有很厚的一摞,你会把当下这一幕的剧本摆在眼前,其他的先放在旁边的架子上,那个架子,也就是硬盘了
谁把这些剧本交给你,把剧本交给你的过程,就是input,输入
输出呢,就是台下观众们所看到的这一场华丽的演出。
…….
二、关于linux
知道linux,自然是在windows之后,记得当年去买盗版光盘的时候,看到redhat,封面介绍很牛的样子,本着对软件的好奇,买回来,研究一番(那时还没网络,更没gooogle),完全不知道是做什么用的,扔一边了。后来随着时代发展,更多听到了这个名字,知道了另个一操作系统,但是依然不明白,有了window,要它何用?
随着工作学习的加深,对计算机和操作系统的由来,有了更深的理解,才明白期间关系,几个重点介绍一下:
1, 前提:windows本是不存在的
2, ……
3, ……
以上是linux的由来以及我们看到的windows是怎么回事(因都是课程里的就不赘述,有机会再单独写一遍)
所以, redhat,只是linux的一个发行版,所谓发行版,本质的不同,就是我们前面说的linux,都是流行在真正程序员开发者手上的,都是源代码,可以理解为另一种语言,当时的linux,都是流传在那个国度里的人们,他们之间有自己的语言,互相可以沟通(这只是一个比喻,跟程序语言无关)。而我们地球人也想用linux怎么办呢,需要一个翻译,翻译成我们能理解的语言,可以这么理解,他们是一群老司机,对车的性能非常了解,而我们是从没学过车,但是生活在自动驾驶时代的人类,我们不会换挡,刹车,甚至不懂交通规则,我们只会说,我要去哪里,那这中间的过程,就是把这些老司机的开车方式,添加到我们的自动驾驶系统中。这就是发行版了。。。。
而linux的发行版目前有几百种
主流三大分支(我能记住及接触的)
第一个Redhat,最大众的,提供收费服务,特别是对于补丁更新不提供编译(限于gpl协议,不能提供源程序)
Centos 原本是redhat的反对者,你redhat既然要收费,我就免费给大家编译出来,但是毕竟没有收入,也就不可能提供更多的服务,类似各种破解版软件,目前也已被redhat收购。
还有其Fedora,也是很著名的目前
以及Oracle企业版,其实都是这一分支发展而来。
第二当然还有很重要的Debian,只记得说是爱妻狂魔。但是也是目前唯一没商业运作的吧。
而Dibian下的分支Ubuntu 可能是最火的桌面版目前,但是我不太知道如果用桌面的话为什么不用win10呢
还有一个目前工作中会接触到的,SuSe,有些客户用到,这是第三大分支Slackware(前身SLS已消失)
以上是我再企业客户中会接触到的常见分支,还有hp unix IBM aix,不过这些事unix的系列了。
从以前只知道windows,到现在,有时也想,还是秦朝的大统一更方便一些吧
从下一章开始,很遗憾,想抒发情怀也没有了,都是新学的,所知有限,无从抒发了。
三、linux的思想
一切都是文件
这一点确实让熟悉windows的我刚开始无所适从,从看鸟哥的私房菜开始,完全不理解,而通过马哥的讲解学习,更多的也是通过实践操练,才渐渐理解了这一点,也不敢妄谈理解,但是感受到了这种思路。
首先,如果没有图形界面,我们如何去配置一个程序,或者一个硬件,win中我们只需要右键,属性,或者运行一个命令+参数,但是此命令从何而来,真是没有深究过。
而linux将一切,以一种更加浅显,却更可操作的形式,展现在我们面前,这也是它吸引人之一吧,所学尚浅,还难以从更深的方面去理解这种设计,简单说,如果windows是各种品牌的一体机,那linux更像自己攒机。
四、常用命令
Ifconfig
查看IP
Echo
配以$ 显示该变量的内容
Tty
显示当前终端类型
Startx
启动图形化桌面 如第一次 最好后面加“&” 忘记为什么了
Export
Pwd
显示当前目录
History
Shutdown
关机
Poweroff
关闭电源
Reboot
重启
Hwclock
查看硬件时钟
Date
日期命令
五、帮助信息的获取(以下截取自学习笔记还未来得及整理)
内部命令 help
外部 –help
man
info
官方文档
自带文档(readme,changlog,install)
发行版文档(操作系统)
Linux Kernel:Documentation
Man文档章节(常用)
章节1 用户命令
2,系统调用
3,管理员命令
4,库调用
六、linux基础目录
层级结构标准:
bin
供所有用户使用的基本命令程序
sbin
供系统管理员的二进制程序
/usr/sbin
/usr/local/sbin
boot
引导加载器必须用到得各静态文件:kernel,initramfs(initrd),grub等。
Static files of the boot loader
启动后就丢弃
引导过程必须用到的所有文件,不高考非必要配置文件,
map installer map映射
dev:device files
存储特殊文件(软件虚拟的硬件tty)或设备文件:
设备类型:
1,字符设备 线性设备、有时序的(有先后)
数据交换以字符为单位
键盘,显示器(早期,逐行扫描)
2,块设备(block) 随机设备,无时序,可任意访问任何数据
可以将数据打包发送
硬盘,内存。
etc
主机特有静态配置文件
hierarchy(层级结构,也有固定结构)
控制应用程序的运行行为。
PS,一个应用程序的选型就是控制程序行为的,如果控制选项太多,就采用配置文件保存。
必须是静态的,不能使可执行二进制文件
etc下的结构opt(/opt),x11(图形界面),sgml(sgml配置),xml(xml配置)
如果一个程序配置文件特别多,会单独设置一个配置文件夹,如yum
home 普通用户家目录的集中位置(optional,可选),不是基本组织结构
默认普通用户家目录
/home/USERNAME
每个主机特有的文件系统,任何程序编制不可依赖于此路径。
lib: 基础共享库
为系统启动或根文件系统上的应用程序(bin/sbin)提供共享库,以及为内核提供内核模块。
usr
:/bin and /sbin 依赖下的所有库。
usr/lib 提供给 usr/bin and usr/sbin
usr/local/lib 提供给 usr/local/bin usr/local/sbin
文件名
libc.so.* 动态链接C库
lb* 执行时连接器加载器
子目录:
modules:用户存储内核模块的目录。
lib64 64位基础共享库
特定字长系统上,64位系统特有的存放共享库的路径。
media :
Mount point for removeable media
便携设备提供可挂载
mnt:
其他文件系统的临时挂载点
mount point for
opt 可选
add-on application aoftware packages
附加第三方程序安装位置
root 管理员家目录 可选(管理员不应该登录系统)
srv data for services provided by this system
服务数据
当前主机为服务提供的数据,
tmp/ 为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户只需写入操作,有特殊权限。
usr Hierarchy
第二重要除了根以为的文件系统
全局共享只读资源
不允许用户创建文件,(管理员可以)
命令手册页等架构特有的文件存放位置
bin sbin
lib lib64
include程序头文件
local:本地第三方文件(目前大部分第三方)让系统管理员安装本地应用程序。
src:程序源码文件存储位置
var 层级路径
variable 变化文件
如,管理或日志数据
瞬时或临时文件
内核向外输出信息,通过内核参数
proc 为内核进程存储器相关信息,多为内核参数 (因为是另外一套机制,不符合一切皆文件精神,虚拟的
如,参数net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward
可修改的放于 proc /sys下
因此完整路径为,/proc/sys/net/ipv4/ip_forward:
sys/sysfs,虚拟文件系统提供了一种比proc更为理想的访问内核的途径。
都是基于内存的虚拟文件系统,关机没了
sys主要管理设备,为linux统一设备模型作为管理之用
2.6内核后出现
原创文章,作者:oloria,如若转载,请注明出处:http://www.178linux.com/49178