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

计算机由五大部件组成分别是:运算器、控制器、存储器、输入设备、输出设备。
运算器:负责数据的算术运算和逻辑运算即数据的加工处理。
控制器:负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问。
存储器:实现记忆功能的部件用来存放计算程序及参与运算的各种数据。
输入设备:实现计算程序和原始数据的输入。
输出设备:实现计算结果输出。


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

Slackware:现存的最古老的linux发行版,对于配置人员的技术性要求较高,是一款高灵活性和高透明性的linux发行版。
    suse:基于Slackware的二次发行版。
        opensuse:基于suse的衍生发行版。
        
debian:为数极少的社区驱动的Linux发行版,优点是相对于其它linux版本稳定性较好,对硬件的性能要求较低,但是开发速度相对保守,无法将最新的技术囊获进来,版本更新周期较慢。
    ubuntu:基于debian的二次发行版,拥有较为优美的图形界面,如果只是从普通用户的角度来看,其良好的界面可以说是linux界的Windows。
        mint:基于ubuntu衍生发行版。
        
redhat
    rhel:rhel全名为 redhat enterprise linux是国内用的比较多的一套linux发行版,该版本广泛应用于企业服务器,注重性能和稳定性以及对硬件的支持。
    CentOS:CentOS是RHEL的二次编译版本,除了logo标志,其它组件基本和RHEL相同,由于RHEL里面的一部分代码是开源的,所以CentOS是合法的,使用CentOS可以获得与RHEL一样的功能和性能,其命令行下的人性化做得比较好,且有着强大的英文文档与开发社区的支持。
    fedora:fedora是rhel的一个实验版本,拿用户做测试,为rhel新版发布做基础。
    
联系:不同的发行版本之间都是采用相同Linux内核。
区别:不同的发行版之间都有不同的风格程序包,管理方式不同,维护方式也是不同的。


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

(1)一切皆文件,把几乎所有资源,包括硬件设备都组织为文件格式。
(2)由众多单一目的的小程序组成,一个程序只实现一个功能,而且要做好。
(3)尽量避免用户交互,以实现脚本编程来自动完成某些功能。
(4)使用纯文本文件保存配置信息,使用任何一款文本编辑器即能完成系统配置工作。



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

Linux命令格式
    COMMAND [OPTIONS ...] [ARGUMENT...]
        选项用于启用或关闭命令的某些功能或修正命令执行的特性
                短选项例如-l, -h;
                     多个短选项命令可合并使用例如-l -h可写作 -lh
                常选项例如--long,--human-readable
                    多个长选项不能合并使用
        参数命令的作用对象向命令提供数据
    注意多选项以及参数和命令之间都应该使用空白字符分隔
                取消命令执行Ctrl+c
1)ifconfig
功能:用来查看、配置、启用或禁用网络接口的工具。
格式:ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
选项
-a    显示所有网络接口信息包括已禁用的接口
-v    显示更详细信息
-s    显示摘要信息
示例
      [root@localhost~]#ifconfig                                       #显示当前已启用的网卡信息
      [root@localhost~]#ifconfig eth0 10.0.20.89 netmask 255.255.255.0 #配置网卡临时地址重启网卡后失效
     [root@localhost~]#ifconfig eth0 down                             #禁用网卡
     [root@localhost~]#ifconfig eth0 up                               #启用网卡
 
2)echo
功能:显示一行文本用于回显
格式: echo [-neE] [arg ...]
选项
     -n  输出不换行
     -e  允许使用转义字符
     \n  换行
     \t  制表符
     -E  禁用反斜线转义功能
示例
    [root@localhost~]#echo -n "Hello"                    #输入后不换行
    [root@localhost~]#echo -e "Hello \t Hello \n Hello"  #输入制表符并换行    
    [root@localhost~]#echo -e "Hello \t Hello \n Hello"  #禁用转义符
 
3)tty
功能:显示出连接到当前标准输入的终端设备文件名。
格式:tty [OPTION]...
选项
     -s        什么也不显示只返回退出状态值
     --help    显示此帮助信息并退出
     --version 显示版本信息并退出
 
示例
    [root@localhost~]#tty  #显示当前终端
 
4)startx
功能:启动图形界面
格式:startx [ [ client ] options ... ] [ -- [ server ] [ display ]options ... ]
示例
      [root@localhost~]#startx #打开图形界面
 
5)export
功能:显示和设置环境变量值
格式:export [-fn] [name[=value] ...] or export -p
选项
     -f    代表变量为函数名 
     -n    删除指定的变量
     -p   列出所有的shell环境变量
 
示例
     [root@localhost~]#value="shell test"      #定义一个局部变量
     [root@localhost~]#export value            #定义为环境变量
     [root@localhost~]#export -p | grep value  #查看环境变量
     [root@localhost~]#export -n value         #删除环境变量
 
6)pwd
功能:显示当前目录
格式:pwd [-LP]
选项
       --help:显示帮助信息
       --version:显示版本信息

示例
       [root@localhost~]#pwd  #显示当前目录
 
7)history
功能:显示或操作历史命令列表
格式:history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
选项
     -c   清除历史命令列表
     -d n 删除指定的第n条命令
     -a   手动添加当前会话缓冲区的命令至历史文件中
     -r   读取历史文件将内容追加到当前history当
      $HISTCONTROL  记录条件
      ignoredups    不记录连续重复的命令
      ignorespace   不记录开头为空格的命令
 
  示例
       [root@localhost~]#history          #显示所有历史命令
       [root@localhost~]#history -c       #清除历史列表
       [root@localhost~]#history -d n     #清除第n条历史命令
      
8)shutdown
功能:关闭或重启计算机
格式:shutdown [OPTION]...  TIME[MESSAGE]
选项
    -r,--reboot    重启计算机
    -h,--poweroff  关机
    -k             只是送出信息给所有用户,但不会实际关机
    -c             取消之前的关机
 
示例
       [root@localhost~]#shutdown -h +10    #10分钟后关机
       [root@localhost~]#shutdown -h 13:05  #13:05分关机
       [root@localhost~]#shutdown -c        #取消之前的关机操作     
       [root@localhost~]#shutdown -k +10    #向所有用户发一个10分钟后关机的信息
       [root@localhost~]#shutdown -r now    #now为立即重启
      
9)poweroff
功能:关闭计算机并关闭电源
格式:poweroff [OPTION]...
选项
    -f,--force        强制关闭操作系统
    -w,--wtmp-only    仅写入wtmp文件不关机
    -d,--no-wtmp      关闭操作系统时不写入/var/log/wtmp文件
示例
     [root@localhost~]#poweroff  #关闭计算机   
 
10)reboot
功能:重启计算机
格式:reboot [OPTIONS...]
选项
     -f,--force       强制重新开机不调用shutdown指令的功能
     -w,--wtmp-only   仅写入wtmp文件不重启
     -d,--no-wtmp     重启操作系统时不写入/var/log/wtmp文件
示例
     [root@localhost~]#reboot #重启系统
 
11)hwclock
功能:查询或设定硬件时钟
格式:hwclock [function] [option...]
选项
       -s, --hctosys   根据硬件时钟时间来设置系统时间
       -w, --systohc  根据系统当前时间来设置硬件时钟
示例
    [root@localhost~]#hwclock  -s #根据硬件时钟时间来设置系统时间
    [root@localhost~]#hwclock  -w #根据系统当前时间来设置硬件时钟
    
 
12)date
功能:打印或设置系统日期或时间
格式:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
时间格式
  %Y   显示日期 完整年份 (0000..9999)
  %m   显示日期 月份 (01..12)
  %d   显示日期 日 (01..31)
  %H   显示时间 小时(00..23)
  %M   显示时间 分钟(00..59)
  %S   显示时间 秒(00..61)
  %F   显示日期 完整日期格式,等价于 %Y-%m-%d
  %T   显示时间 直接显示时间 (24 小时制)
  
示例
     [root@localhost~]#date +"%F %T" #显示年月日时分秒
     2016-08-03 14:06:39
     [root@localhost~]#date 080315032016 #设置时间
     2016年 08月 03日 星期三 15:03:00 CST




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

用type确定是内部命令还是外部命令
1内部命令获取帮助
       help COMMAND
2外部命令获取帮助
       1)使用命令查看
             COMMAND --help
             COMMAND -h
       2)使用手册
             man COMMAND
       3)信息面
             info COMMAND
       4)程序自身的帮助文档
             README
             INSTALL
             ChangeLog
       5)程序官方文档
             官方站点Documentaton
       6)发行版的官方文档
       7)Google
        
 
手册页存放位置/usr/share/man、/usr/share/doc、/usr/local/share/man、/usr/local/share/doc
    man文档的章节划分
        man1...man8
            man1:用户命令
            man2:系统调用
            man3:C库调用
            man4:设备文件及特殊文件
            man5: 配置文件格式
            man6:游戏
            man7:杂项
            man8: 管理类命令



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

/boot    引导文件存放目录内核文件vmlinux、引导加载器bootloader,grub都存放于此目录
/bin     供所有用户使用的基本命令不能关联至独立分区OS启动即会用到的程序
/sbin    管理类的基本命令不能关联至独立分区OS启动后即会用到的程序
/lib     基本共享库以及内核模块文件/lib/modules
/lib64:  专用于x86_64系统上的辅助共享库文件存放位置
/etc     配置文件目录纯文本文件
/home    普通用户家目录
/root    管理员家目录
/media   便携式移动设备挂载点
/mnt     临时文件系统挂点
/dev     设备文件及特殊文件存放位置
/opt     第三方应用程序的安装位置
/srv     系统上运行的用到的数据
/tmp     临时文件存放位置
/usr     存放大多用户会用到全局只读资源和全局共享资源
       bin     保证系统拥有完整功能而提供的基本命令
       sbin    保证系统拥有完整功能而提供的管理命令
       include C程序的头文件head file用来描述需要用到的库文件和定义库的调用方式。
       share   结构化独立的数据例如doc,man等
       local   第三方应用程序的安装位置
/var:   存放经常变动的数据
       cache   应用程序缓存数据目录
       lib     应用状态信息数据
       local   专用为/usr/local下的应用程序存储可变数据
       lock    锁文件
       log:    日志目录及文件
       opt     专用为/opt下的应用程序存储可变数据
       run     运行中的进程的相关的数据通常用于存储进程的pid文件
       spool   应用程序数据池
       tmp     保存系统两次重启之间的临时数据
/proc      用于输出内核与进程信息相关的虚拟文件系统
/sys       用于输出当前系统上硬件设备相关信息的虚拟文件系统
/selinux:  安全加强的Liunx Linux,selinux相关的安全策略等信息的存储位置