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

按照冯诺依曼计算机体系结构模型,计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。

1、运算器主要功能是完成各种算数及逻辑运算。

2、控制器主要功能是周期性地读取指令、分析指令,并根据指令功能向其他组件发出控制信号以执行指令。

运算器与控制器结合成为CPU。

3、存储器主要功能是存储计算机的程序(静态)、进程(动态)及数据等,根据用途又分为内存RAM及外存(硬盘、光盘、U盘等)。

4、输入设备主要用于将指令或数据输入到计算机内,常见输入设备有鼠标、键盘等。

5、输出设备主要用于将指令结果或数据处理结果从计算机输出,常见输出设备有显示器等。



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

目前Linux发行版有100多种,其中较为著名的有Debian、Slackware、RedHat、Gentoo、ArchLinux等。

主要有以下三大分支:Debian、Slackware、RedHat。

每一个分支都拥有一个最具代表性的商业服务器发行版以及基于这三大分支和其他分支的一些社区发布版本:

商业服务器发行版如Dibian的Ubuntu,Slackware的SLES,RedHat的RHEL

社区发布版如Dibian的mint、knopix,Slackware的OpenSUSE,RedHat的CentOS、Fedora

虽然Linux发行版本众多,但是实际上都基于相同的一个内核,发行版只是给这个内核加上一些应用程序而组成的系统。而这些应用大部分都是来源于GNU社区,源代码基本都一样,因此,各发行版之间差别不大。当然不同的发行版细节上还是有一些差别,按软件包管理系统的不同,分为Redhat/S.u.S.E的RPM包管理系统,包文件以rpm为扩展名;Debian的DPKG包管理系统,包文件以deb为扩展名。



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

Linux的哲学思想:

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

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

3、尽量避免跟用户交互:Linux上支持多种脚本语言,易于以编程的方式实现自动化任务。

4、使用文本文件保存配置信息:通过文本工具完成相关配置。



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

1、Linux的命令使用格式为:#COMMAND [OPTIONS] [ARGUMENTS]。

其中

COMMAND:发起一命令,请求内核将某个二进制程序(静态)运行为一个进程(动态,有生命周期)。

OPTIONS:指定命令的运行特性。

选项有两种表现形式:

短选项:-C, 例如-l, -d;如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld

长选项:--word, 例如--help,;长选项不能合并

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

2、命令详解

ifconfig:用来查看、配置网络接口的信息


常用参数:

-a 显示所有网络接口设备

[root@localhost Desktop]# ifconfig -a
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fe73:16ea  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:73:16:ea  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 3222 (3.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31  bytes 4276 (4.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 770  bytes 65420 (63.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 770  bytes 65420 (63.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


-s 显示摘要信息

[root@localhost Desktop]# ifconfig -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777  1500       17      0      0 0            31      0      0      0 BMRU
lo       65536      770      0      0 0           770      0      0      0 LRU


echo:回显文本


常用参数:

-n 不进行换行

[root@localhost Desktop]# echo -n "hello world"
hello world[root@localhost Desktop]#


-e 让转义字符生效

\n:换行

[root@localhost Desktop]# echo -e "hello\nworld"
hello
world

\t:制表符

[root@localhost Desktop]# echo -e "hello\tworld"
helloworld



tty:查看当前终端设备

[root@localhost Desktop]# tty
/dev/pts/0



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



export:用于将shell变量或函数输出为环境变量以及查看环境变量

[root@localhost Desktop]# export user=yuki
[root@localhost Desktop]# echo $user
yuki
[root@localhost Desktop]# export
declare -x COLORTERM="gnome-terminal"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-m5E5iXsJED,guid=16163bd899775b0c29067b6657a0be09"
declare -x DBUS_STARTER_ADDRESS="unix:abstract=/tmp/dbus-m5E5iXsJED,guid=16163bd899775b0c29067b6657a0be09"
declare -x DBUS_STARTER_BUS_TYPE="session"
declare -x DESKTOP_SESSION="gnome-classic"
declare -x DISPLAY=":0"



pwd:显示当前工作目录

[root@localhost Desktop]# pwd
/root/Desktop



history:显示shell进程会话中当前用户提交执行过的命令

[root@localhost Desktop]# history
    1  mkdir -pv /media/cdrom
    2  mount /dev/sr0 /media/cdrom
    3  cd /media/cdrom
    4  ls
    5  tar -zxvf VMwareTools-10.0.6-3595377.tar.gz 
    6  ls
    7  cp -av VMwareTools-10.0.6-3595377.tar.gz /home
    8  cd /home
    9  ls
   10  tar zxvf VMwareTools-10.0.6-3595377.tar.gz
   11  ls
   12  cd vmware-tools-distrib/
   13  ls
   14  ./vmware-install.pl -d


常用参数:

-c 清空历史命令

-d offset 删除指定历史命令

[root@localhost Desktop]# history -d 4
[root@localhost Desktop]# history
    1  mkdir -pv /media/cdrom
    2  mount /dev/sr0 /media/cdrom
    3  cd /media/cdrom
    4  tar -zxvf VMwareTools-10.0.6-3595377.tar.gz 
    5  ls
    6  cp -av VMwareTools-10.0.6-3595377.tar.gz /home
    7  cd /home
    8  ls
    9  tar zxvf VMwareTools-10.0.6-3595377.tar.gz
   10  ls
   11  cd vmware-tools-distrib/
   12  ls
   13  ./vmware-install.pl -d

-r 从历史命令文件中读取命令历史至历史列表(缓冲区)中

-w 把历史列表(缓冲区)中的命令追加至历史命令文件中

history N:显示最近的N条命令

[root@localhost Desktop]# history 8
   46  cat rhel7.repo 
   47  ls
   48  cd
   49  reboot
   50  history
   51  history -d 4
   52  history
   53  history 8



shutdown:关机或重启


常用参数:

-h 关机

-r 重启

-c 取消已经执行的关机命令


now 立刻关机

+m m分钟之后关机

hh:mm 指定某一时间关机


poweroff:关机或重启


常用参数:

-f 强制关机


reboot:关机或重启



hwclock:查看、设置硬件时间


常用参数:

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

[root@localhost Desktop]# hwclock -s
[root@localhost Desktop]# hwclock
Wed 03 May 2017 08:28:10 AM CST  -0.585888 seconds


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

[root@localhost Desktop]# hwclock -w
[root@localhost Desktop]# hwclock
Wed 03 May 2017 08:28:21 AM CST  -0.289070 seconds

date:查看、设置日期、时间

[root@localhost Desktop]# date
Wed May  3 08:30:43 CST 2017


常用参数:

+FORMAT:格式符

%F 显示日期,=%Y-%m-%d

[root@localhost Desktop]# date +%F
2017-05-03


%T 显示当前时间,=%H:%M:%S

[root@localhost Desktop]# date +%T
08:36:10


%Y 显示年

%m 显示月

%d 显示日

%H 显示小时

%M 显示分钟

%S 显示秒

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

[root@localhost Desktop]# date +%s
1493771886



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

命令分为两类:

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

外部命令:独立的可执行程序文件或文件名即命令名

可以通过type COMMAND来查看


获取命令的帮助信息

内置命令:help COMMAND

[root@localhost Desktop]# type pwd
pwd is a shell builtin
[root@localhost Desktop]# help pwd
pwd: pwd [-LP]
    Print the name of the current working directory.
    
    Options:
      -Lprint the value of $PWD if it names the current working
    directory
      -Pprint the physical directory, without any symbolic links
    
    By default, `pwd' behaves as if `-L' were specified.
    
    Exit Status:
    Returns 0 unless an invalid option is given or the current directory
    cannot be read.


外部命令:

1、命令自带简要格式的使用帮助

#COMMAND --help

[root@localhost Desktop]# type mkdir
mkdir is /usr/bin/mkdir
[root@localhost Desktop]# mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
  -p, --parents     no error if existing, make parent directories as needed
  -v, --verbose     print a message for each created directory
  -Z, --context[=CTX]  set the SELinux security context of each created
                         directory to default type or to CTX if specified
      --help     display this help and exit
      --version  output version information and exit
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'mkdir invocation'


2、使用手册:manual

位置:/usr/share/man

#man COMMAND

MKDIR(1)                         User Commands                        MKDIR(1)
NAME
       mkdir - make directories
SYNOPSIS
       mkdir [OPTION]... DIRECTORY...
DESCRIPTION
       Create the DIRECTORY(ies), if they do not already exist.
       Mandatory  arguments  to  long  options are mandatory for short options
       too.
       -m, --mode=MODE
              set file mode (as in chmod), not a=rwx - umask
       -p, --parents
              no error if existing, make parent directories as needed
       -v, --verbose
              print a message for each created directory

man有章节之分,man1,man2,...

man1:用户命令

man2:系统调用,内核函数

man3:C库调用

man4:设备文件及特殊文件

man5:文件格式(配置文件格式)

man6:游戏使用帮助

man7:杂项

man8:管理工具及守护进行


3、info COMMAND:获取命令的在线文档


4、很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

README:程序的相关信息

INSTALL: 安装帮助

CHANGES:版本迭代时的改动信息


5、主流发行版官方文档

http://www.redhat.com/doc


6、程序官方的文档

https://docs.docker.com/


7、搜索引擎

google



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

Linux的文件系统结构被称为Filesystem Hierarchy Standard(文件系统分层化标准,简称FHS),即其采用层次式的树状目录结构。在此结构上最上层是/,然后在此根目录下是其他的目录和子目录。

[root@localhost Desktop]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var


Linux目录及其功能

/:Linux文件系统的最上层根目录,其他所有项目均是该目录的子目录

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

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

/dev:存储特殊文件或设备文件,设备有两种类型:字符设备(线性设备)、块设备(随机设备)

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

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

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

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

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

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

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

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息,多为内核参数

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

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

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

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

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

/usr:存放用户使用的系统命令和应用程序

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