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

计算机是由控制器、运算器、存储器、输入设备和输出设备五部分组成。

1)控制器:控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。

2)运算器:运算器的主要功能是对数据进行各种运算。这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与”、“或”、“非”这样的基本逻辑运算以及数据的比较、移位等操作。通常把控制器与运算器合称为中央处理器(Central Processing Unit-CPU)

3)存储器:存储器分为只读存储器(ROM)和随机读写存储器(RAM)。只读存储器只能读取数据,不能写入数据(如,内存);随机读写存储器能读写数据(如,磁盘、U盘)。

4)输入设备:用来向计算机输入各种原始数据和程序的设备叫输入设备

5)输出设备:从计算机输出各类数据的设备叫做输出设备


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

1)Slackware:

最早古老的Linux发行版,主要用于桌面、工作站、服务器,采用的默认桌面是KED

2)SUSE Linux:

基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。流行于欧洲,中途经多次收购发现较为缓慢。

3)OPENSUSE:

由suse发展而来,被同一家公司收购,主要用于桌面环境,界面较为酷炫,免费。

4)debian:

互联网自发组织,最接近原滋原味的Linux,使用于任何环境,由于系统稳定,多用于服务器

5)Ubuntu:

Ubuntu是基于Debian发行版和GNOME桌面环境,每六个月发行一次新的版本。用于桌面坏境

6)redhat:

早起版本主要用于桌面环境,免费。自从Red Hat 9.0版本发布后,Red Hat公司就不再开发桌面版的Linux发行包,04年后对Red Hat 9.0不提供技术支持,后专做服务器操作系统Red Hat Enterprise Linux,每十八个月发行一个新版本,内核相对较低。力求稳定,不求最新。

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

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

2)由众多单一的小程序组成,一个程序只实现一个功能,组合小程序完成复杂任务

3)尽量避免跟用户交互:

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

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

1)ifconfig:显示或配置网络设备

用法:ifconfig [-v] [-a] [-s] [interface]    --查看网路设备信息

实例

[jun_shao@localhost ~]$ ifconfig    //查看所有网络设备信息
[jun_shao@localhost ~]$ ifconfig -a    //同上
[jun_shao@localhost ~]$ ifconfig wlp3s0    //查看指定网络设备的详细信息 
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::82a5:89ff:fe58:e60f  prefixlen 64  scopeid 0x20<link>
        ether 80:a5:89:58:e6:0f  txqueuelen 1000  (Ethernet)
        RX packets 1445  bytes 270800 (264.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 680  bytes 103589 (101.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2)echo:回显请求

用法:echo: echo [-neE] [参数 ...]

实例

[jun_shao@localhost ~]$ echo $SHELL    //请求显示当前使用的shell程序,$SHELL环境变量
/bin/bash
[jun_shao@localhost ~]$ echo "$SHELL"    //双引号为强引用,直接输出$SHELL环境变量的值
/bin/bash
[jun_shao@localhost ~]$ echo -e '$SHELL'    //单引号为弱引用,不引用变量的值,直接输出字符串;-e:启动转移字符,如\n 换行
$SHELL

3)tty:查看当前终端设备的文件名

终端:用户与主机交互必须用到的设备

终端的分类:

物理终端:直接介入本机的显示器和键盘:console

虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,centos 6 默认启动6个虚拟终端Ctrl+Alt+FN:[1 6]

图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境,设备文件路径:/dev/tty#

模拟终端:图形界面下打开的命令行接口,基于SSH协议或telnet洗衣等远程打开的界面,设备文件:/dev/pts/# [0 oo)

用法:tty [选项]...

[jun_shao@localhost ~]$ tty    //使用的模拟终端
/dev/pts/2

4)startx:显示图形终端

5)export:设置或显示环境变量。

实例

[root@localhost jun_shao]# export HISTCONTROL=ignorespace

6)pwd:显示当前工作目录的名字

实例

[jun_shao@localhost ~]$ pwd
/home/jun_shao

7)history:管理历史命令,所有命令历史都存在缓存中

a.登录进shell后新执行的命令只会记录在缓存中

b.登录shell时,会读取命令历史文件记录下来

用法:history: history [-c] [-d 偏移量] [n]

[jun_shao@localhost ~]$ history     //显示历史命令包括缓存中的命令
[jun_shao@localhost ~]$ history -c    //清空历史命令
[jun_shao@localhost ~]$ history -d 111   //删除偏移量为111的历史命令
[jun_shao@localhost ~]$ history -a    //将缓存中的历史命令手动添加到历史命令文件.bash_history 中

调用管理历史命令中命令的方式:

!#:重复执行第#条指令

!!:执行上一条命令

!string 调用最近以string开头的命令

!$:调用上一条命令的最后一个参数

ESC,.:调用上一条命令的最后一个参数

实例

[jun_shao@localhost ~]$ !245    //重复执行管理历史命令中的第245条的命令
ls
vmware  公共  模板  视频  图片  文档  下载  音乐  桌面
[jun_shao@localhost ~]$ !!    //重复执行上一条命令
ls /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[jun_shao@localhost ~]$ !l    //调用最近以l开头的命令
ls /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[jun_shao@localhost ~]$ ls !$     //调用上一条命令的最后一个参数
ls /etc/fstab
/etc/fstab

环境变量:

HISTSIZE:命令历史记录的条数

HISTFILE:显示当前用户管理历史文件的路径~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

实例

[root@localhost jun_shao]# echo $HISTFILE
/root/.bash_history

控制命令历史的记录方式

环境变量:HISTCONTROL

ignoredups:忽略连续且重复的命令,系统默认

ignorespace:忽略所有以空白开头的命令

ignoreboth:上述两个同时生效

实例

[root@localhost jun_shao]# echo $HISTCONTROL    //查看当前shell使用那种方式记录历史命令
ignoredups
[root@localhost jun_shao]# export HISTCONTROL=ignorespace    //更改shell记录历史记录的使用方式,只对当前shell有效
[root@localhost jun_shao]# echo $HISTCONTROL
ignorespace

8)shutdown:关闭和重启系统命令

用法:shutdown [OPTIONS...] [TIME] [WALL...]

实例

[root@localhost jun_shao]# shutdown -r 10    //十分钟后重启系统
[root@localhost jun_shao]# shutdown -h 10    //十分后关闭系统
[root@localhost jun_shao]# shutdown -c    //取消重启和关闭系统

9)poweroff:关机命令

10)reboot:重启命令

11)hwclock:显示计算机的硬件时钟

用法:hwclock [功能] [选项...]

实例

[root@localhost jun_shao]# hwclock    //显示硬件时钟
[root@localhost jun_shao]# hwclock -s    //从硬件时钟设置系统时间
[root@localhost jun_shao]# hwclock -w    // 从当前系统时间设置硬件时钟

12)date:查看或设置系统时间

用法:date [选项]... [+格式]

 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

实例

[root@localhost jun_shao]# date    //显示系统
[root@localhost jun_shao]# date +%F    //完整日期格式,等价于 %Y-%m-%d
[root@localhost jun_shao]# date 0820222216.23    //设置系统时间
2016年 08月 20日 星期六 22:22:23 CST

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

Linux系统命令:

内部命令:是指写在bash里面,其执行速度高,因为解析命令不需要Shell创建子进程

外部命令:都有一个可执行文件,位于文件系统某个目录下

实例

[jun_shao@localhost ~]$ which ls    //通过which查看ls程序存放在那个目录下
alias ls='ls --color=auto'    //alias,别名,说明执行ls等于执行了ls --color=auto
	/usr/bin/ls
[jun_shao@localhost ~]$ whereis ls    //通过whereis命令查找ls的可执行文件、源代码文件、帮助文件在文件系统中的位置
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

内部命令获取帮助的方式:

1)# COMMAND -h 或 # COMMAND --help

2)使用手册:# man COMMAND 

3)信息页 :# info COMMAND 

4)程序自身的帮助文档 README、INSTALL、ChangeLog

5)程序的官方文档

6)发行版的官方文档

7)google

实例

[jun_shao@localhost ~]$ cd -h    
-bash: cd: -h: 无效选项
cd: 用法:cd [-L|[-P [-e]]] [dir]

外部命令获取帮助信息的方式:

1)COMMAND --help

2)man COMMAND

手册页: /usr/share/man

man1 ... man8

man1:用户命令

man2:系统调用

man3:C库调用

man4:设备文件及特殊文件

man5:配置文件格式

man6:游戏

man7:杂项

man8:管理类的命令(磁盘分区)

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

要查指定章节中的手册:man [1...8] command

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

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

# man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示
6、请罗列Linux发行版的基础目录名称命名法则及功用规定

/boot:引导文件的存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都放在此目录
/bin:供说有用户使用的基本命令,不能关联至独立分区,os启动即会用到的程序
/sbin:管理类的基本命令,不能关联至独立分区,os启动即会用到的程序
/lib:基本共享库文件,以及内核模块文件(/lib/modules)
/lib64:专用于X86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录(纯文本文件)
	/etc/opt
	/etc/X11
/home/UserName:普通用户家目录
/root:管理员家目录
/media: 便携式移动设备挂载点
/mnt:临时文件系统的挂载点
/dev:设备文件和特殊文件的存放点
    b:block device 随机访问
    c:character device 线性访问
/opt:第三方应用程序安装点
/srv:系统上运行的服务用到的数据
/tmp:临时文件
/user:universal shared,read-only
    bin:供所有用户使用的,保证系统拥有完整功能而提供的应用程序
    sbin:
    lib:
    lib64:
    include:C程序的头文件
    share:结构化独立的数据,如doc,man等
    local:第三方应用程序的安装位置
/var:variable data file	可变数据存放点
    cache:应用程序缓存数据目录
    lib:应用程序状态数据
    local:专用于为/usr/local下的程序存储可变数据
    lock:锁文件
    log:日志目录及文件
/opt:专用于为/opt下的程序存储可变数据
    run:运行中的进程相关的数据,通常用于存储进程的pid文件
    spool:应用程序数据池
    tmp:保存系统两次重启之间产生的临时数据
/proc:用于输出内核于进程信息相关的虚拟文件系统
/sys:输出当前系统上硬件设备相关信息的虚拟文件系统
/selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置