作业内容:


1、描述计算机的组成及其功能。



#我们通常所说的计算机组成是根据冯诺依曼(John von Neumann)的计算机体系构成的。

运算器(AU),控制器(CU)

    AU:Arithmetical Unit; #用于计算,实现与或非之类的基于0,1的计算

    CU:Control Unit; #决定何时进行何种数据运算

    CPU:Central Processing Unit; #AU和CU都在CPU的内部

        类型:

            x86,x86_64,intel公司

            ARM:大部分手机的CPU,非常省电,现在已经有部分互联网公司使用ARM架构的服务器

            power,IBM公司

            powerPC,早期的苹果电脑

            ...

            安腾,HP公司

存储器(Memory):#实现数据的暂时保存或者长久保存

    RAM(random-access memory):

        持久存储的设备:硬盘,U盘

        非持久存储的设备:内存 #作为数据和CPU交互的中转站

    ROM(read-only memory):CD/DVD

        存储器的接口类型:

            IDE(Integrated Drive Electronics):40针,早期的台式机硬盘接口(133Mbit/s)

            SATA(Serial ATA):新型台式机接口串行ATA,现在有sata2(3Gbit/s),sata3(6Gbit/s)

            SCSI(Small Computer System Interface):50针,(160Mbit/s)

            SAS(Serial Attached SCSI):新型的SCSI接口,(300Mbit/s起步)

I/O设备(Input/Output device):#实现电脑与电脑,电脑与人类之间的交互

    UI device(User Interface):显示器(monitor),键盘(keyborad),鼠标(mouse)

    network adapter:


2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。


'''

太多了,看图吧,关系在图上也显示的很清楚了

图片太大上传不了

请搜索 GNU/Linux Distribution Timeline

或者点这个链接 http://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.png

'''


3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。



#这是马哥课上的内容

    1. 一切皆文件:

    把几乎所有资源,包括硬件设备都组织为文件格式

    2. 由众多单一目的的小程序组成,一个程序只实现一个功能,而且要做好;

    组合小程序完成复杂任务

    3. 尽量避免跟用户交互;

    目标:实现脚本编程,以自动完成某些功能;

    4. 使用纯文本文件保存配置信息:

    目标:一款使用的文本编程器即能完成系统配置工作

#这是百度的结果:

    1、一切皆文件;

    2、单一目的的小程序;

    3、组合小程序完成复杂任务;

    4、文本文件保存配置信息;

    5、尽量避免捕获用户接口;

    6、提供机制,而非策略。

我觉得他们已经总结的很好了,我想添加一些我的想法:

    1、共享精神,内核和GNU的开源使得整个系统成为理想中的乌托邦

    2、百炼成钢,代码开源使得linux必须经得起全世界的考验,证明其可靠性

    3、层级明确,可以任意组合linux其中的几项功能成为一个新的产品,比如cisco交换机



4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述



#内容较多,在我别的博客里


ifconfig: http://zhangke0516.blog.51cto.com/1655731/1834021


echo: http://zhangke0516.blog.51cto.com/1655731/1834203

tty: http://zhangke0516.blog.51cto.com/1655731/1834203

startx: http://zhangke0516.blog.51cto.com/1655731/1834203

export: http://zhangke0516.blog.51cto.com/1655731/1834203

pwd: http://zhangke0516.blog.51cto.com/1655731/1834203

history: http://zhangke0516.blog.51cto.com/1655731/1834203


shutdown: http://zhangke0516.blog.51cto.com/1655731/1834213

poweroff: http://zhangke0516.blog.51cto.com/1655731/1834213

reboot: http://zhangke0516.blog.51cto.com/1655731/1834213


hwclock: http://zhangke0516.blog.51cto.com/1655731/1834225

date: http://zhangke0516.blog.51cto.com/1655731/1834225



5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。




内部命令帮助:

     # help COMMAND


外部命令帮助获取

     

     (1)# COMMAND --help

               # COMMAND -h


     (2)man COMMAND

手册页:/usr/share/man

redhat6:man1…man8

1      User Commands

2      System Calls

3      C Library Functions

4      Devices and Special Files

5      File Formats and Conventions

6      Games et. Al.

7      Miscellanea

8      System Administration tools and Deamons


redhat7:man1…man9

1   Executable programs or shell commands

2   System calls (functions provided by the kernel)

3   Library calls (functions within program libraries)

4   Special files (usually found in /dev)

5   File formats and conventions eg /etc/passwd

6   Games

7   Miscellaneous (including macro packages and conventions),e.g. man(7),groff(7)

8   System administration commands (usually only for root)

9   Kernel routines [Non standard]


          注意:有些关键在不止一个章节中存在帮助手册:

               要查看指定章节中的手册:man # COMMAND


          man命令的配置文件:/etc/man.config

               MANPATH /PATH/TO/SOMEWHERE:知名新的手册文件搜索位置


               # man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册并显示


          帮助手册中的段落说明:

               NAME

               SYNOPSIS

               DESCRIPTION

               EXAMPLES

               AUTHOR

               REPORTING BUGS

               SEE ALSO


          SYNOPSIS:

               []:可选内容

               <>:必选内容

               a|b:二选一

               …:同一内容可出现多次


          man命令的操作方法:

               Space, ^V, ^F, ^f:想文件尾翻屏;

               b, ^B:想文件首部翻屏;

               d, ^D:向文件尾部翻半屏;

               u, ^U:向文件首部翻半屏;

               RETURN, ^N, e, ^E or j or ^J:向文件尾部翻一行;

               y or ^Y or ^P or k or ^K:向文件首部翻一行;

               q:退出


               #:跳转至第#行

               1G:回到文件首部

               G:翻至文件尾部


          文本搜索:

               /KEYWORD:

                    以KEYWORD制定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;

                         n:下一个

                         N:上一个

               ?KEYWORD:

                    以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;

                         n:跟搜索命令同方向,下一个

                         N:跟搜索命令反方向,上一个


     (3)info

               info COMMAND


     (4)程序自身的帮助文档

               /usr/share/doc/COMMAND-VERSION


     (5)程序官方文档


     (6)发行版的官方文档

               http://www.redhat.com/docs


     (7)google


     (8)slideshare

               http://www.slideshare.net/




6、请罗列Linux发行版的基础目录名称命名法则及功用规定


https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard


/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)

/dev: 设备文件

设备文件:

块设备:随机访问,数据块

字符设备:线性访问,按字符为单位

设备号:主设备号(major)和次设备号(minor)

/etc:配置文件

/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME

/root:管理员的家目录;

/lib:库文件

静态库,  .a

动态库, .dll, .so (shared object)

/lib/modules:内核模块文件

/media:挂载点目录,移动设备

/mnt:挂载点目录,额外的临时文件系统

/opt:可选目录,第三方程序的安装目录

/proc:伪文件系统,内核映射文件

/sys:伪文件系统,跟硬件设备相关的属性映射文件

/tmp:临时文件, /var/tmp

/var:可变化的文件

/bin: 可执行文件, 用户命令

/sbin:管理命令


/usr:shared, read-only

/usr/bin

/usr/sbin

/usr/lib

/usr/local:

/usr/local/bin

/usr/local/sbin

/usr/local/lib


命名规则:

1、长度不能超过255个字符;

2、不能使用/当文件名

3、严格区分大小写