1、描述计算机的组成及其功能
现在计算机遵循冯洛伊曼体系结构:
运算器:用于完成各种算术运算、逻辑运算和数据传送等数据加工处理。
控制器:用于控制程序的执行,是计算机的大脑。运算器和控制器组成计算机的中央处理器(CPU)。控制器根据存放在存储器中的指令序列(程序)进行工作,并由一个程序计数器控制指令的执行。控制器具有判断能力,能根据计算结果选择不同的工作流程。
存储器:用于记忆程序和数据,例如:内存。程序和数据以二进制代码形式不加区别地存放在存储器中,存放位置由地址确定。
输入设备:用于将数据或程序输入到计算机中,例如:鼠标、键盘。
输出设备:将数据或程序的处理结果展示给用户,例如:显示器。
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
1).Red Hat Linux
Red Hat Enterprise Linux;
CentOS;
Fedora
2).Debian
ubuntu
Linux Mint
....
3).Slackware
suse
opensuse
4).Gentoo
5).Arch Linux
6).LFS
Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版。
CentOS是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成,和Red Hat Enterprise Linux完全兼容。
Fedora基于Red Hat Linux,是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。
3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
1)一切皆文件
把几乎所有的资源,包括硬件设备都组织为文件格式
2)由从多单一目的的小程序组成
一个程序只实现一个功能,并且要做好
3)组合小程序完成复杂任务
通过多个不同的程序的功能结合,完成复杂的任务需求
4)尽可能避免跟用户交互
为了方便脚本编程以实现自动化执行
5)使用纯文本文件保存程序的配置信息
使用一个文件编辑器即可完成系统及服务配置工作
4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
命令的语法格式:
COMMAND [OPTIONS] [ARGUMENTS]
1)ifconfig
ifconfig是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。
语法:ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<硬件地址>][io_addr][irq][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
参数:
up 启动指定网络设备/网卡
down 关闭指定网络设备/网卡
-arp 设置指定网卡是否支持ARP协议
-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add 给指定网卡配置IPv6地址
del 删除指定网卡的IPv6地址
<硬件地址> 配置网卡最大的传输单元
mtu<字节数> 设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
为网卡设置IPv4地址
txqueuelen<长度> 为网卡设置传输列队的长度
示例:
# ifconfig #处于激活状态的网络接口
# ifconfig eth0 #显示eth0的网卡信息
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 #给eth0网卡配置IP地址,并加上子掩码
2)echo
允许在标准输出上显示STRING(s).
-n 不输出行尾的换行符.
-e 允许对下面列出的加反斜线转义的字符进行解释.
-E 禁止对在STRINGs中的那些序列进行解释.
--help 显示帮助并退出(须单独运行)
--version 输出版本信息并退出(须单独运行)
在没有 -E 的情况下,可承认并可以内置替换以下序列:
\NNN 字符的ASCII代码为NNN(八进制)
\\ 反斜线
\a 报警符(BEL)
\b 退格符
\c 禁止尾随的换行符
\f 换页符
\n 换行符
\r 回车符
\t 水平制表符
\v 纵向制表符
示例:
# echo "11111" #输出11111
3)tty
显示出连接到当前标准输入的终端设备文件名。
-s, --silent, --quiet 什么也不显示,只返回退出状态值
--help 显示此帮助信息并退出
--version 显示版本信息并退出
示例:
# tty #显示当前终端
4)startx
启动图形化界面
示例:
# startx
5)export
显示和设置环境变量值
-f 带边环境变量为函数名称
-n 删除指定的环境变量
-p 列出所有的环境变量
示例:
# export aaa #加入环境变量
# export -n aaa #删除环境变量
6)pwd
print working directory
显示当前目录
-L, --logical
显示当前目录
-P, --physical
显示当前目录的实际物理地址
示例:
# pwd #显示当前目录
7)history
可以用来显示曾执行过的命令
n 显示n个最近的记录
-a 添加记录
-r 读取记录,但不会添加内容记录
-w 覆盖原有的history 文件
-c 清除记录
-d<编号>[n] 删除指定n条记录
-n<文件> 读取指定文件
-r<文件> 读取文件但不记录
-w<文件> 覆盖原有文件
示例:
# history #查看所有执行过的命令
8)shutdown
以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示。可以指定立刻关机,也可以指定系统在一定的延时后关机。
-a
使用 /etc/shutdown.allow 来验证身份。
-t sec
通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号。
-k
并非真正关机,只向所有人显示警告信息。
-r
重启。
-h
停机。
-n
[DEPRECATED(不应再使用)] 不调用 init(8) 程序进行关机操作,而由自己进行。不建议用户使用这种关机方式,它的结果一般也不是你希望的那样。
-f
重启时跳过磁盘检测。
-F
重启时强制磁盘检测。
-c
取消运行中的 shutdown 进程。不可能为此选项指定 time 参数,但你可以在命令行输入一条解释消息来向所有用户说明。(一般的shutdown指令可以用按“+”号来进行中断)
time
关机时间。
warning-message
发送给所有用户的消息。
示例:
# shutdown –h now #关机
# shutdown –h 23:00 #晚上11点关机
# shutdown –r now #重启
9)poweroff
关闭计算机操作系统并且切断系统电源。
-n:关闭操作系统时不执行sync操作;
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
示例:
# poweroff
10)reboot
重启系统
-d 重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有"-n"参数的效果。
-f 强制重新开机,不调用shutdown指令的功能。
-i 在重开机之前,先关闭所有网络界面。
-n 重开机之前不检查是否有未结束的程序。
示例:
# reboot
11)hwclock
设置或者显示硬件时间的近似值
-s 以硬件为准
-w 以系统为准
示例:
# hwclock #显示硬件时间
12)date
根据指定格式显示当前时间或设置系统时间
-d, --date=STRING
显示由 STRING 指定的时间, 而不是当前时间
-f, --file=DATEFILE
显示 DATEFILE 中每一行指定的时间, 如同将 DATEFILE 中的每行作为 --date 的参数一样
-I, --iso-8601[=TIMESPEC] 按照 ISO-8601 的日期/时间格式输出时间.
TIMESPEC=`date' (或者不指定时)仅输出日期,等于 `hours', `minutes', 或`seconds'时按照指定精度输出日期及时间.
-r, --reference=FILE
显示 FILE 的最后修改时间
-R, --rfc-822
根据 RFC-822 指定格式输出日期
-s, --set=STRING
根据 STRING 设置时间
-u, --utc, --universal
显示或设置全球时间(格林威治时间)
格式 FORMAT 控制着输出格式. 仅当选项指定为全球时间时本格式才有效。 分别解释如下:
%%
文本的 %
%a
当前区域的星期几的简写 (Sun..Sat)
%A
当前区域的星期几的全称 (不同长度) (Sunday..Saturday)
%b
当前区域的月份的简写 (Jan..Dec)
%B
当前区域的月份的全称(变长) (January..December)
%c
当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989)
%d
(月份中的)几号(用两位表示) (01..31)
%D
日期(按照 月/日期/年 格式显示) (mm/dd/yy)
%e
(月份中的)几号(去零表示) ( 1..31)
%h
同 %b
%H
小时(按 24 小时制显示,用两位表示) (00..23)
%I
小时(按 12 小时制显示,用两位表示) (01..12)
%j
(一年中的)第几天(用三位表示) (001..366)
%k
小时(按 24 小时制显示,去零显示) ( 0..23)
%l
小时(按 12 小时制显示,去零表示) ( 1..12)
%m
月份(用两位表示) (01..12)
%M
分钟数(用两位表示) (00..59)
%n
换行
%p
当前时间是上午 AM 还是下午 PM
%r
时间,按 12 小时制显示 (hh:mm:ss [A/P]M)
%s
从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充)
%S
秒数(用两位表示)(00..60)
%t
水平方向的 tab 制表符
%T
时间,按 24 小时制显示(hh:mm:ss)
%U
(一年中的)第几个星期,以星期天作为一周的开始(用两位表示) (00..53)
%V
(一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (01..52)
%w
用数字表示星期几 (0..6); 0 代表星期天
%W
(一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (00..53)
%x
按照 (mm/dd/yy) 格式显示当前日期
%X
按照 (%H:%M:%S) 格式显示当前时间
%y
年的后两位数字 (00..99)
%Y
年(用 4 位表示) (1970...)
%z
按照 RFC-822 中指定的数字时区显示(如, -0500) (为非标准扩充)
%Z
时区(例如, EDT (美国东部时区)), 如果不能决定是哪个时区则为空
示例:
# date #显示日期和时间
# date -s '14:35:40' #设置时间
# date 080200092016.00 #设置时间为2016-08-02 00:09:00
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
内置命令:help COMMAND
例如:help history
外部命令:
1).COMMAND --help
2).手册,manual
有章节之分,1-9
man [#] COMMAND
如何查看指定命令在哪些章节下有帮助:whatis COMMAND
手册的段落:
NAME:命令名称
DESCRIPTION:命令功能的详细描述
OPTIONS:所有选项
SYNOPSIS:使用格式
EXAMPLES:使用示例
FILES:与当前命令相关的配置文件
SEE ALSO:可参考的其他手册
帮助中的格式字串:
[]:可省略
<>:不可省略
|:二选一或多选一
...:同类内容可以出现多个
man的使用机制:
翻屏:
空格键:向文件尾部翻一屏
b:想文件首部翻一屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
ctrl+d :向文件尾部翻半屏
ctrl+u :向文件首部翻半屏
字串搜索:
/keyword:从文件首部向尾部进行搜索
?keyword:从文件尾部向首部进行搜索
n:显示找到的下一个
N:显示找到的上一个
退出:q
man能够为除命令之外的配置文件、系统调用、库调用等都能提供帮助手册,他们分别位于不同的章节中
①.用户命令
②.系统调用
③.库调用
④.设备文件
⑤.配置文件
⑥.游戏
⑦.杂项
⑧.管理命令
3).info命令:获取在线文档
4).很多应用程序都自带有帮助文档 /usr/share/doc/
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
FHS:
/bin,/sbin:系统自身启动和运行时可能会用的核心二进制命令
/lib,/lib64:共享库文件和内核模块
/etc:配置文件
/usr:大部分软件包的文件存放位置
/usr/bin,/usr/sbin:系统运行中,用户为完成某些操作可能用到的命令
/usr/lib,/usr/lib64:库文件
/usr/share/man,/usr/share/doc 帮助文件
/dev:所有的设备文件,设备文件通常也称为特殊文件(仅有元数据,而没有数据)
/proc:伪文件系统,内核和进程信息的虚拟文件系统接口
/sys:伪文件系统,硬件设备信息的虚拟文件系统接口
/boot:系统引导加载时用到的静态文件
内核和ramdisk
grub(bootloader)
/home/USERNAME:家目录
/srv:服务所用到的数据
/tmp:临时文件存储位置
/media:移动设备默认挂载点
/mnt:临时挂载点
/root:root用户家目录
/var:系统运行要改变的数据
cache:应用程序缓存数据目录
lib:应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock:锁文件
log:日志目录和文件
opt:专用于为/opt下的应用程序存储可变数据
run:运行中的进程相关数据,通常用于存储进程的pid文件
spool:应用程序数据池
tmp:保存系统两次重启之间产生的临时数据
/opt:第三方应用程序的安装目录