N22-第一周作业

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

     计算机系统由硬件系统和软件系统组成。硬件系统(Hardware system)是计算机完成计算工作
  的物质基础。软件系统(Software system):是在计算机硬件设备上运行的各种程序,是介于用户
  和硬件系统之间的界面。
1.1 计算机的硬件系统
  1. 运算器(Arithmetic Logic Unit,ALU)
核心部件:对信息或数据进行加工和处理,是计算机对数据进行算术运算和逻辑运算的部件,由加法器和补码器等组成,能够处理各种数学运算问题和逻辑 运算问题。
  2. 控制器(Control Unit)
是计算机的控制中心,控制计算机硬件系统的全部动作。主要由指令寄存器、指令译码器、
程序计数器(PC)和操作控制器等组成。
运算器和控制器合称为中央处理器(Central Processing Unit,即CPU)。
  3. 存储器(Memory Unit)
计算机在处理数据的过程中,或在处理数据之后把程序和数据存储起来的装置。由存储体、地址寄存器、地址译码器 、数据寄存器和读/写控制电路组成。主要分为内存(主存)和外存(辅存)。
  4.  输入/输出设备(I/O device)
输入装置:将程序和数据的信息转换成计算机呢功能识别的二进制代码,送入存储器保存。(键盘、鼠标、光笔、扫描仪、图形板等。
输出装置:将计算机内部处理后的二进制数据信息转换为人们所需要的或者其他设备能接受和识别的信息形式。(显示器、打印机、绘图仪等)
1.2 计算机软件系统
    软件是为了运行、管理、维护和使用计算机而编制的各种程序和相关的文档及数据。
    程序:是为解决某一具体问题而使用一中特殊的计算机语言编写的计算机指令的有序集合。
    文档是描述程序操作及使用的有关资料。
计算机软件系统包括系统软件和应用软件两大类。
  1.系统软件是控制和协调计算机及其外部设备、支持应用软件开发和运行的软件,主要包括操作系统,
程序设计语言,语言处理程序,数据库管理系统,网络软件和系统服务程序。
  2.应用软件是用户为了解决某些特定具体问题而开发和研制或外购的各种程序(要在系统软件的支持下运行)。

   图片1.jpg

2.Linux发行版的联系与区别
   Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,
一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
Redhat系列:
  包括RHEL(Redhat Enterprise Linux,收费),Fedora Core(由原来的Redhat桌面版本发展而来,免费)
  和CentOS(RHEL的社区克隆版本,免费)。这个版本的特点就是使用人群数量大,资料非常多,
  而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用, 但是Fedora Core的稳定性较差,最好只用于桌面应用。
Debian系列:
  Debian是社区类Linux的典范,包括Debian和Ubuntu等。Debian分为三个版本分支:
stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,
Gentoo:
  Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年,是Linux世界最年轻的发行版本。
Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
SUSE:
  SUSE包含了一个安装及系统管理工具YaST2。它能够进行磁盘分割、系统安装、在线更新、网络及防火墙组态设定、用户管理和其他更多的工作。它为原来复杂的设定工作提供了方便的组合界面。尤其被称之为最漂亮的linux服务器。
OpenSUSE是Suse的开源项目,对个人来讲是完全免费的,并可以在线升级,并兼容桌面和服务器。在服务器领域openSUSE在功能、性能、安全性等方面与SUSE是一样的,在可靠性和稳定性上要比SUSE差一些,因为openSUSE很少用于生产环境。
    不同的Linux发行版的区别主要体现在内核版本的不同以及包管理方式的不同。
  如果只是需要一个桌面系统,又不想自己定制任何东西也不准备在系统上浪费太多时间,那么Ubuntu是你的最佳选择。
  如果你已经是一个linux高手,想非常灵活的定制自己的Linux系统,想让自己的机器跑得更欢,不介意在Linux系统安装方面浪费一点时间,那么你的唯一选择就是Gentoo。
  如果个人想要一台用作服务器的版本又不想做过多复杂的配置,那么CentOS不会让你失望。
  而在实际生产环境中,Linux虚拟机往往安装的都是RHEL或者SUSE系统,因为它们更稳当,更安全。

3.Linux的哲学思想
  1.一切皆文件
  2.由许多目的单一的小程序组成
  3.通过组合小程序完成复杂任务
  4.使用文本文件保存配置信息
  5.尽量避免与用户的交互
  6.提供机制而非策略
  7.开源,自由,责任

4.Linux系统上何如获得命令的帮助信息
  内置命令:help COMMAND
  外部命令:
            1、命令自带简要格式的使用帮助
                    COMMAND –help  
            2、使用手册: manual
                  手册在 /usr/share/man 目录下
                      man COMMAND
                              manual中包含的内容:
                                        NAME :功能性说明
                                        SYNOPSIS:语法格式
                                        DESCRIPTION 描述
                                        EXAMPLES    使用示例
                                        AUTHOR   作者
                                       …….
                          
                     SYNOPSIS:
                              []  选项可选
                              <>选项必选
                             a|b|c  多选一
                             …..  同类内容可出现多个

                    使用手册:压缩格式的文件,有章节之分:
                         man1  man2  man3   …
 使用手册:压缩格式的文件,命令帮助文档有章节之分:
     /usr/share/man
          man1  man2  man3   …
    1:用户命令;
    2:系统调用
    3:C库调用
    4:设备文件及特殊文件
    5:文件格式(配置文件格式)
    6:游戏使用帮助
    7:杂项
    8:管理工具及守护进行

 #  man CHAPTER  COMMAND     查看命令在指定章节下的手册
  注意:并非每个command在所有章节下都有手册

# whatis  COMMAND
查看命令在哪些章节有手册

注意:man的执行过程是查询数据库进行的: 不一定是最新的
可以手动更新数据库  # makewhatis

man命令手册打开以后的操作方法:
翻一屏:  
   空格:向尾部翻
    b:向首部翻
翻半屏:
    Ctrl+d:向尾部翻
    Ctrl+u:向首部翻
翻一行:
  回车:向尾部翻
  K:向首部翻
 G:跳转到最后一行
#G:跳转到指定行

5.Linux文件系统目录的基本命名法则
   Linux文件系统:层级结构 /
   FHS:Linux 文件系统目录标准
        /bin:存放所有用户可用的基本命令程序文件
        /sbin:存放供系统管理使用的工具程序文件
        /usr:全局共享的只读数据路径。也是一个层级结构
                 本身也是一个层级结构 里面有/bin /sbin /lib64等目录
                 / share:命令手册页/man和自带文档等架构特有的文件存储位置
                /src:程序源码文件存储位置
                /local:让系统管理员安装本地应用程序,通常用于安装第三方程序
        /var:存储经常发生变化的数据的目录
              cache:应用程序缓存文件
               log:日志文件
        /boot:存放启动加载器必须用到的各静态文件:kernel,grub,initrd等
        /dev:存放特殊文件或者设备文件
              设备有两种类型:字符设备(键盘)、块设备(硬盘)
        /etc:系统程序的配置文件,不能是二进制文件
        /home;普通用户的家目录的集中存放位置。一般一个普通用户的家目录在/home/USERNAME下
        /root:管理员的家目录
        /lib:为系统启动程序或根文件系统上应用程序(/bin /sbin)提供共享库,以及为内核提供内核模块
                libc.so.* 动态链接c库
                ld* 运行程序时的链接器
        /lib64:64位系统特有的存放64位共享库的路径
        /media:便携式设备挂载点,cdrom,floppy
        /mnt:其他文件系统的临时挂载点
        /opt:附加非关键应用程序的安装目录
        /srv:当前主机为服务提供的数据存放的目录
        /tmp:为那些会产生临时文件的程序提供用于存储临时文件的目录。所有用户都拥有写权限
两个特殊目录
 /proc:基于内存的虚拟文件系统,用于存储内核和进程运行过程中产生的相关信息:多数为内核参数。例如把net.ipv4.ip_forward虚拟化存储成/net/ipv4/ip_forward文件    路径为/proc/sys
 /sys :提供了一种比/proc/sys更理想的虚拟文件系统,用来显示内核参数,提供了一种统一模型的接口

6.说明Linux系统上命令的格式,介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用方法。

  Linux命令的语法通用格式:

       COMMAND OPTIONS ARGUMENTS    

             发起一个命令:请求内核将某个二进制程序运行为一个进程

命令分为两类:

      由shell程序自带的命令:内置命令

      独立的可执行程序文件,文件名就是命令名:外部命令


选项有两种表现形式:

      短选项: -CHAR   例如 -l -d      *有些命令选项没有-

         同一命令同时使用多个短选项,多数可以合并起来 ls -l -h =ls -lh

      长选项: –word  例如 –help     –human-readable    长选项不能合并

注意:有些选项可以带参数,称为选项参数(注意不是命令参数)

ARGUMENTS: 参数

   命令的作用对象:命令对什么会生效  

   ls /var 

 注意:不同的命令的参数格式不一样。有些命令可同时带多个参数  彼此间以空白字符做分割

pwd:

 printing working directory
            显示工作(当前)目录

echo:回显命令
用法 echo [OPTION]… [STRING]
-n:显示输出后不自动进行换行显示
-e:让转意符 如\n换行符 \t制表符生效
string可以用引号、双引号
单引号:强引用,变量引用不执行替换
echo '$SHELL‘  仍显示 $SHELL
双引号:弱引用,变量引用会被替换,就像没加双引号一样
echo “$SHELL”  显示 /bin/bash

shutdown:关机或重启命令
用法shutdown [OPTIONS…] [TIME] [WALL…]

-h:关机 halt
-r:重启 reboot
-c:取消发出的指令 cancel

time:
now
hh:mm
+5m

系统时钟:date  硬件时钟:clock、hwlock

date
     显示系统日期时间   date [OPTION] [+FORMAT]
       date +'%F %T‘  2016-07-31 13:53:16
       +%s 从1970年1.1号零点到现在的秒数(时间戳)
    设定系统日期时间 date [MMDDhhmm[[CC]YY][.ss]]

clock,hwclock:
显示硬件日期时间:
hwclock
设定硬件日期时间
-s, –hctosys:以硬件为准,将系统时间设为与硬件时间相同
-w, –systohc:以系统为准,将硬件时间设为与系统时间相同

ifconfig:查看本机网络接口的工具

tty:显示当前连接到本机的终端设备

startx:在某一虚拟终端接口运行此命令,启动图形界面

export:

将某个本地变量声明为一个环境变量。

    Var=VALUE

    export Var

查看当前用户声明的所有环境变量:export

poweroff、reboot:关机、重启命令

 一般还是使用shutdown命令+选项的形式来完成关机和重启

history:命令历史:shell进程会在其会话中保存此前用户提交执行过的命令
        # history
             可以定制history的功能,通过修改环境变量实现 。
                   $HISTSIZE   :  shell进程在内存中可保留的命令历史的条数
                   $HISTFILE   : 保存命令历史文件的位置
                   $HISTFILESIZE:命令历史文件的大小
                   $HISTCONTROL:   控制命令历史记录的方式
                            ignoredups:忽略连续两条相同的命令
                            ignorespace:忽略以空白符开头的命令 并且也不会被写入到文件中
                            ignoreboth:以上两者都忽略
                            
                        可以直接用变量赋值来修改默认设定 :NAME=VALUE

用法选项;
   -c 清空内存中的命令历史  
   -d NUMBER 删除指定位置的命令
   -r 从文件读取命令历史到内存中
    -w 把内存中的命令历史列表写入文件中
    history NUMBER:显示最近第NUMBER条命令

如何调用命令历史列表中的命令?
!#:再次执行历史列表中的第#条命令
!string:再次执行命令历史列表中最近一次是用string开头的命令

如何调用上一条命令的最后一个参数 ?
ESC , . 按ESC再按.  或者输入!$也能调用

原创文章,作者:上海-brown,如若转载,请注明出处:http://www.178linux.com/38201

评论列表(0条)

  • 马哥教育
    马哥教育 2016-08-22 14:14

    写的很好,排版还可以在漂亮一点,加油,没看到你做的题那?

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code