Homework Week-1 Linux基本

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

计算机由硬件和软件组成;硬件主要分为五部分:控制器,运算器、存储器、输入和输出设备。软件分为系统软件和应用软件。

  • 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。

  • 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。

  • 存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。

  •  输入(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。

  •  输出(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。

  • 系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。(如Windows、Linux、Dos、Unix等操作系统都属于系统软件。)

  •  应用软件 (application software)是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。(如Word、Excel、QQ等都属于应用软件)


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

GNU/Linux(1991)-MCC Interim(1992)-SLS(1992)-Slackware(1993)-S.u.S.E(1994)-SuSE(1998)-SUSE(2004)-openSUSE(2006)

GNU/Linux(1991)-CRUX(2001)-Arch(2002)

GNU/Linux(1991)-Debian(1993)-Unbuntu(2004)

GNU/Linux(1991)-RedHat(1994)-Fedora-CentOS(2004)

GNU/Linux(1991)-Gentoo(2002)

  • Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本。前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。

  • Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。

  • Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。

  • Ubuntu是基于Debian的unstable版本加强而来,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。

  • Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软 件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。

  • 广义上SUSE Linux是一系列Linux发行版,第一个版本出现在1994年初,SUSE现存的最古老的商业发行版之一,起源于德国,而SUSE Linux 针对个人用户。SUSE Linux原是以Slackware Linux为基础,并提供完整德文使用界面的产品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)这个发行版。这套发行版包含的软件非常多,更首次收录了X Window及TCP/IP等套件。Slackware就是一个基于SLS的发行版。


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

  • 一切皆文件,把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口;

  • 由众多功能单一的程序组成,一个程序只做一件事,并且做好,组合小程序完成复杂任务;

  • 尽量避免与用户交互,目标:易于以编程方式实现自动化任务;

  • 使用文本文件保存配置信息。


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

  • Linux命令使用格式

#COMMAND OPTIONS ARGUMENTS

COMMAND,命令名称,如ls,cd,pwd等;

OPTIONS,用于指定命令的运行特性,有短选项和长选项两种表现形式,短选项可以合并,长选项不能合并;有些选项可以带参数,称为选项参数。

ARGUMENTS,命令的作用对象,即命令对什么生效。不同命令的参数不同,有些命令可同时带多个参数,之间用空白符分隔。

  • ifconfig:查看活动接口的ip地址

  • echo:回显

                echo  [SHORT-OPTION]…  [STRING]…   

                    -n: 不进行换行;

                    -e:让转义符生效;

                        \n:换行

                        \t:制表符

                STRING可以使用引号,单引号和双引号均可用;

                        单引号:强引用,变量引用不执行替换;

                            ~]# echo '$SHELL'

                        双引号:弱引用,变量引用会被替换;

                            ~]# echo "$SHELL"  

  • tty:显示终端连接标准输入设备的文件名称

  • startx:启动图形化桌面

  • export :设置或显示环境变量

#export HISTFILESIZE=750

#echo $HISTFILESIZE

  • pwd:显示工作目录

  • history

history [-c] [-d 偏移量] [n]

                    或 history -anrw [文件名]

                    或 history -ps 参数 [参数…]

                -c: 清空命令历史;

                -d offset:删除指定命令历史

                -r: 从文件读取命令历史至历史列表中;

                -w:把历史列表中的命令追加至历史文件中;

                history #:显示最近的#条命令;

调用命令历史列表中的命令:

                !#:再一次执行历史列表中的第#条命令;

                !!:再一次执行上一条命令;

                !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;

  • shutdown:系统关机

shutdown [OPTIONS…] [TIME] [WALL…]

                    OPTIONS:

                        -h: halt 将系统关机

                        -r:reboot 将系统关机之后重新启动

                        -c:cancel 取消执行中的shutdown命令

TIME(定时关机):

                        now 

                        hh:mm

                        +m

                         +0

WALL

  • poweroff:

  • reboot:重新开机

  • hwclock:显示或设定硬件时钟

    -s, –hctosys:以硬件为准,把系统调整为与硬件时间相同;

                        -w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;

  • date:显示日期时间

date [OPTION]… [+FORMAT]

                        FORMAT:格式符

                            %F

                            %T

                            %Y

                            %m

                            %d

                            %H

                            %M

                            %S

                            %s: 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数;

设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]


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

内部命令:help COMMAND

外部命令:(1)命令自带简要格式帮助COMMAND –help (2)使用手册man COMMAND

man章节的划分:

    1:用户命令;

                        2:系统调用;

                        3:C库调用;

                        4:设备文件及特殊文件;

                        5:文件格式;(配置文件格式)

                        6:游戏使用帮助;

                        7:杂项;

                        8:管理工具及守护进行;


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

  /bin:所有用户可用的基本命令程序文件;

            /sbin:供系统管理使用的工具程序;

            /boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;

            /dev:存储特殊文件或设备文件;

                设备有两种类型:字符设备(线性设备)、块设备(随机设备);

            /etc:系统程序的配置文件,只能为静态;

            /home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;

            /root:管理员的家目录;可选;

            /lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块

                libc.so.*:动态链接的C库;

                ld*:运行时链接器/加载器;

                modules:用于存储内核模块的目录;

            /lib64:64位系统特有的存放64位共享库的路径;

            /media:便携式设备挂载点,cdrom, floppy等;

            /mnt:其它文件系统的临时挂载点;

            /opt:附加应用程序的安装位置;可选路径;

            /srv:当前主机为服务提供的数据;

            /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

            /usr:usr Hierarchy,全局共享的只读数据路径;

                bin, sbin

                lib, lib64

                include:C程序头文件;

                share:命令手册页和自带文档等架构特有的文件的存储位置

                local:另一个层级目录;

                X11R6:X-Window程序的安装位置

                src:程序源码文件的存储位置

            /usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;

            /var:/var Hierarchy,存储常发生变化的数据的目录;

                cache    Application cache data

                lib        Variable state information

                local    Variable data for /usr/local

                lock    Lock files

                log        Log files and directories

                opt        Variable data for /opt

                run        Data relevant to running processes

                spool    Application spool data

                tmp        Temporary files preserved between system reboots

  /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;

  /sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

原创文章,作者:N22_Elephant,如若转载,请注明出处:http://www.178linux.com/33853

(0)
N22_ElephantN22_Elephant
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 软件编译安装小结

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1439073     本文主要针对 configure 和 cmake 做一个介绍以及我们重新配置编译参数文件时,都需要做哪些清…

    Linux干货 2016-08-15
  • 在CentOS 7上实现私有CA及申请和吊销证书

    – 创建私有CA openssl的配置文件:/etc/pki/tls/openssl.cnf 42 dir     = /etc/pki/CA       # Where everythi…

    Linux干货 2016-12-01
  • N25第六周作业

    vim 是vi编辑的升级版,同样有三种工作模式:编辑、命令和一般 模式 #:指定行号位置 #,#:指定多少行到多少行 #,+#:指定范围,多少行开始,加#行 $:最后一行 .:当前行 .,$-1,当前行到倒数第二行 1,$:全文 %:全文 /从上往下,?:从下往上 搜索 /pattern/:从光标所在处起始向文件尾部第一次被模式所匹配到的行 s/要查找的内容…

    Linux干货 2017-01-11
  • 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     [root@director2 ~]# cp -a /etc/skel /home/tuser1   &n…

    Linux干货 2016-08-29
  • proxy_pass转发路径

    一、引言 在nginx中配置proxy_pass时,proxy_pass后面的路径最后面加“/”和不加“/”会有所区别。加“/”时,nginx不会代理location部分,不加“/”时,nginx会同时代理location部分。下面通过实验来证明。 二、实验 实验环境简要说明:     node1为httpd服务器(1…

    Linux干货 2017-01-12
  • 第四周小结

    这周我们主要学习了写脚本的简单语法,写了一些简单的脚本,下面就由我来简单介绍一下: 第一步使用文本编辑来创建脚本: 创建好后在里面写想要运行的脚本即可,然后按Esc—wq退出保存即可。也可以按q不保存退出;q!不保存强制退出;wq!保存强制退出。 第二步运行脚本,给予执行权限,在命令行上指定脚本的相对路径和绝对路径 对了,当在脚本里输入内容时,要Ese&#8…

    2017-08-06

评论列表(2条)

  • 马哥教育
    马哥教育 2016-08-17 15:41

    写的很好,排版还可以在漂亮一点,加油,举几个例子是不是更好那?

    • N22_Elephant
      N22_Elephant 2016-08-17 17:21

      @马哥教育先在笔记里写的再复制过来的 格式有点跑
      前面几天笔记没做好例子没写进去,后面会改进哒,O(∩_∩)O~