计算机之路及初识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设备(也就是上面的inputoutput),其他都算外围设备。

  我们还是按照稍微专业一点的来讲吧,不然这篇也过于科普可能几十页也写不完了。

  首先我们明白一点,计算机,没有大脑,其实就像我们开关灯一样,我按下开关,灯亮了,再按一下,灯灭了,本质如此而已。那么试想当你控制一个大会堂,或者一个舞台的灯光的时候,什么时候亮哪一盏灯,什么时候灭哪一盏灯,摆在你面前很多的开关,你去根据剧本提前告诉你的舞台节奏,去掌握整场演出的灯光节奏。

  那,这一套控制各个灯光开关的电路系统,就是运算器,而控制灯光的你,加上给你的如果控制灯光的剧本,就是“控制器”,你们组合在一起,就是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 KernelDocumentation

        google      

 

         Man文档章节(常用)

                     章节1    用户命令    

                            2,系统调用

 

3,管理员命令

                     4,库调用

 

 

六、linux基础目录

层级结构标准:

    bin

        供所有用户使用的基本命令程序

    sbin

        供系统管理员的二进制程序

    /usr/sbin

    /usr/local/sbin

 

    boot

        引导加载器必须用到得各静态文件:kernelinitramfsinitrd),grub等。

        Static files of the boot loader

        启动后就丢弃

        引导过程必须用到的所有文件,不高考非必要配置文件,

    map installer map映射

       

    devdevice files

        存储特殊文件(软件虚拟的硬件tty)或设备文件:

 

设备类型:

    1,字符设备 线性设备、有时序的(有先后)

        数据交换以字符为单位

            键盘,显示器(早期,逐行扫描)

    2,块设备(block 随机设备,无时序,可任意访问任何数据

        可以将数据打包发送

            硬盘,内存。

           

    etc

        主机特有静态配置文件

            hierarchy(层级结构,也有固定结构)

            控制应用程序的运行行为。

PS,一个应用程序的选型就是控制程序行为的,如果控制选项太多,就采用配置文件保存。

        必须是静态的,不能使可执行二进制文件

            etc下的结构opt/opt)x11(图形界面),sgml(sgml配置),xmlxml配置)

        如果一个程序配置文件特别多,会单独设置一个配置文件夹,如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
下一篇 2016-12-05

相关推荐

  • Linux网络属性管理

    Linux网络属性管理 linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。 常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 首先:命令方法介绍 一、命令简介 ifconfig:是个比较传统的命令,可以配置网络接口的启用及关闭,IP地址等…

    系统运维 2016-05-29
  • N23-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# last -1 | head -1 3、取出当前系统上被用户当…

    Linux干货 2016-12-05
  • B-树和B+树的应用:数据搜索和数据库索引

    B-树 1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用。 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树; ⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:    &nb…

    Linux干货 2015-07-30
  • Mariadb之SELECT语法练习

    一 、导入hellodb.sql生成数据库后实现以下操作     # mysql -uroot -h172.16.23.23 -pcento.123 < hellodb.sql     mysql>&nbsp…

    Linux干货 2014-08-25
  • ansible批量部署主从DNS

    什么是DNS服务DNS的解析流程分析递归查询迭代查询DNS相关的术语说明生产环境中的应用Bind9常见配置说明使用ansible自动部署主从DNS 什么是DNS服务 DNS(Domain Name Service)是Internet上用于名称解析的服务,简单来说,就是将域名转换为IP地址的服务(正向解析),也可以用于将IP地址解析为对应的…

    Linux干货 2016-06-29
  • 考试题目

    1、  简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。 TCP三次握手,四次断开通过以下图示说明: 2、说说进程和线程的区别 (1)一个线程只能输入某一个进程,一个进程可以有多个线程。一个程序至少有一个进程,一个进程至少有一个线程。 (2)进程有独立的地址空间,线程没有独立的地址空间,进程内的多个线程共享进程的地址空间。 (3)线…

    Linux干货 2016-06-19