计算机之路及初识linux

写在前面:

    很抱歉,上周的事儿,拖到这周,也是个半成品,加班就不多说了,每个人都很忙,总要自己找时间。本计划这个周末好好补补,无奈身不由己,刚刚回来。

   还好昨夜先起了个初稿,总算是有些东西可以交代给自己,想到马哥说的,完成远比完善重要,虽然来不及完善,先发出来吧,有了框架,至少知道自己做过什么。尽快排版吧,不仅是为了作业,也希望自己拿出来的,是一个自己看的过去的东西。而这周该作的事儿,也只能加紧了。

    

一、计算机的组成

计算机这个东西,现在在大家心里已经习以为常。记得我小学的计算机课,也就是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

        google      

 

         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

赞 (0)
oloriaoloria
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相关推荐

  • linux 进程及作业管理

     1、Process: 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID、和SELinux语境决定对文件系统的存取和访问权限, 通常从执行进程的用户来继承 存在生命周期 Uninterruptible sleep: 不可中断的睡眠 Interruptible slee…

    Linux干货 2017-08-28
  • 将两个局域网用openvpn连接起来

    考虑到我们做集群的时候需要用到可能有20台机器,可能我的要求跟别人的不一样的,我需要做20台左右的集群,不仅仅是会,而且需要非常熟练的搭建,最后通过脚步一键自动化部署安装。 目前我有两台电脑,一台可以运行7台,另一台可以运行12台左右,刚好可以满足的我的要求,但是我两台电脑都是设置的nat模式的网络,为什么我非要配置nat模式呢,根据集群架构思想,为了保证架…

    Linux干货 2017-05-01
  • vim、crontab、bash for循环练习

    1、复制/etc/rc.d/init.d/functions文件至/tmp目录,将/tmp/functions文件中的以至少一个空白字符开头的行的行首加#。 vim中支持全文查找替换功能且在查找时支持正则表达式,在替换时进行引用。先使用vim /tmp/functions,然后在vim编辑模式中输入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系统运维 2016-12-03
  • Mysql备份I

    Mysql备份I I备份在什么时候会被需要 硬件故障 机器无法启动 机器突然消失了怎么办 业务出现异常 一定要先select 在操作 类似drop或delete的操作 攻击 程序bug 业务特殊需求  重要数据多处多次多版本备份 至少有2份远程备份文件2处本地备份 II哪些东西需…

    Linux干货 2016-06-09
  • 计算机的组成及功能

    计算机的组成有中央处理器(包含逻辑运算器和控制器)、内存、输入设备、输出设备    逻辑运算器主要负责程序的运算和逻辑的判断、控制器是协调各组件与各单元的工作。 内存是与CPU进行沟通的桥梁,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。 输入设备是用户和计算机系统之间进行信息交换的主要装置之一。 输出设备是外…

    Linux干货 2017-07-02
  • 那些年我们一起追过的缓存写法(二)

    原文出处: 蘑菇先生   上次主要讨论缓存读写这块各种代码实现。本篇是就上次的问题接着来,继续看那些年我们各种缓存用法。 一:缓存预热 上次有同学问过。在第一次加载时,我们的缓存都为空,怎么进行预热。 单机Web情况下,一般我们使用RunTimeCache。相对于这种情况下: 1:我们可以在启动事件里面刷新 1 2 3 4 vo…

    Linux干货 2015-03-04