1、描述计算机的组成及其功能。
根据冯·诺依曼体系计算机有中央处理器、主存储器、输入/输出三个子系统组成。
1.中央处理器
CPU(Central Processing Unit)用于数据运算。CPU有控制单元、算数逻辑单元、寄存器组组成。
(1)控制单元:控制各个子系统操作
(2)算数逻辑单元:对数据进行逻辑、移位和算数运算
-
逻辑运算:有与、或、非或异或逻辑运算符。逻辑运算把输入数据作为二进制位模式,运算的结果也是二进制位模式。
-
移位运算:逻辑移位运算用来对二进制位模式向左或向右的移位。逻辑算数运算应用于整数。主要用途是用2除或乘一个整数。
-
算数运算:加、减、乘、除等,用于整数和浮点数。
2.主存储器
存储单元的集合,每一个存储单位都有唯一的标识,成为地址。数据以成为字的位组的形式在内存中传入和传出。
存储器中标识的独立的地址单元的总数成为地址空间。每个字都是通过地址来标识的。内存地址用无符号二进制整数定义。
存储器的类型:
-
随机存储器(Random Access Memory,简称RAM):使用存储单元地址来随机存取一个数据项,而不需要存取位于它前面的所有数据项。
-
只读存储器(Read Only Memory,简称ROM):内容是由内存制造商写进去的。用户只能读但不能写。优点:易失性;当切断电源后,数据额也不会丢失。通常用来存储哪些关机后不能丢失的程序或数据。ROM存储开机时运行的程序。
3.输入/输出:Input/Output,简称IO
输入:用于输入数据以便计算机处理数据
输出:计算机输出数据加工的结
I/O分两种类型:
-
存储设备:
磁介质存储设备:磁盘、磁带等;
介质存储设备:一种新技术、使用激光技术来存储和读取数据。有CD-ROM,CD-R、CD-RW,DVD等 ;
-
非存储设备:键盘、监视器、打印机等。
——————————————————————————————————————
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
Linux发行版是由GNU开源组织开源的GNU/Linux内核以及个发行商应用程序进行打包进行编译成完整的操作系统。它使用自由、灵活、编译了安装操作系统便于安装管理整个操作系统。各个发行版使用的不用的包管理器、以及按付费服务或捐赠模式进行商业操作。
常用Linux发行版:
-
RedHat系列:Red Hat 公司的 Linux 发行版,面向商业市场,包括大型机。Red Hat Enterprise Linux 常简称为 RHEL。.rpm包文件,rpm包管理工具,yum前段工具(事务处理有问题),后来参考zypper开发dnf工具
-
RHEL:RHEL 是商业版本,并不提供免费下载和使用。需要购买 Red Hat 公司的商业服务才能合法取得,并得到商业支持。目前有RHEL5、RHEL6、RHEL7版本。
-
CentOS:RHEL 的开源衍生版。
发行版 | 免费下载 | 免费使用 | 技术支持 (商业) |
RHEL | 否 | 否 | 付费 |
---|---|---|---|
CentOS | 是 | 是 | 不提供 |
-
Fedora:它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本。.deb包文件,dpkg包管理器,apt-get前段工具。
-
S.u.S.E Linux:德国的 SuSE Linux AG公司发行维护的Linux发行版。2004年这家公司被Novell公司收购。原是以Slackware Linux为基础,并提供完整德文使用界面的产品。.rpm包,zypper前段工具。
-
ArchLinux:可定制的发行版,你获得的只是一个基础系统,然后你可以在它上面建立属于你个人的发行版。pacman包管理器。
-
Gentoo:Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。portage包管理器
-
LFS:Linux From Scratch,不是程序文件,是编译安装指南。可以根据该指南进行自定义编译Linux系统。
——————————————————————————————————————————
3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
1. 一切皆文件。几乎所有的资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;
2. 由众多单一的小程序组成;组合小程序完成复杂任务
3. 尽量避免跟用户交互;易于以编程的方式实现自动化任务
4. 使用文本格式保存配置信息
——————————————————————————————————————————
4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
ifconfig命令:配置网络接口,即查看或设置网络接口
查看ifconfig命令所在即帮助文件所在文件:
ifconfig命令所在路径:/usr/sbin/ifconfig
ifconfig命令帮助文件:/usr/share/man/man8/ifconfig.8.gz
补充:ifconfig命令帮助 # man 8 ifconfig
[root@localhost tmp]# whereis ifconfig ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
ifconfig命令所在包命:
[root@localhost tmp]# rpm -qf /usr/sbin/ifconfig net-tools-2.0-0.17.20131004git.el7.x86_64
常用选项:
-a 显示所有当前激活或非激活的网络接口
CentOS 7
eno16777736:网络接口信息
inet:IP地址, netmask:子网掩码地址, boradcast:广播地址
lo:本地回环网卡信息
[root@localhost tmp]# ifconfig -a eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.71 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fe4e:2155 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:4e:21:55 txqueuelen 1000 (Ethernet) RX packets 22949 bytes 2045847 (1.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 15933 bytes 2936252 (2.8 MiB) 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 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
interface 显示指定的接口名称的信息
[root@localhost tmp]# ifconfig eno16777736 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.71 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fe4e:2155 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:4e:21:55 txqueuelen 1000 (Ethernet) RX packets 23042 bytes 2054655 (1.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 15972 bytes 2940594 (2.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
up:启用接口
<UP这是指的是启用当前网络接口
[root@localhost tmp]# ifconfig eno16777736 up [root@localhost tmp]# ifconfig eno16777736 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.71 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fe4e:2155 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:4e:21:55 txqueuelen 1000 (Ethernet) RX packets 23223 bytes 2070052 (1.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 16080 bytes 2953145 (2.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
down:禁用接口
[root@localhost tmp]# ifconfig eno16777736 down [root@localhost tmp]# ifconfig eno16777736 eno16777736: flags=4163<BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:0c:29:4e:21:55 txqueuelen 1000 (Ethernet) RX packets 23223 bytes 2070052 (1.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 16080 bytes 2953145 (2.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
address:临时设置IP地址分配各指定的接口,关闭系统之后无效
[root@localhost ~]# ifconfig eno33554984 address 172.168.10.10/16 [root@localhost ~]# ifconfig eno33554984 eno33554984: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.168.10.10 netmask 255.255.0.0 broadcast 172.168.255.255 inet6 fe80::20c:29ff:fe4e:215f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:4e:21:5f txqueuelen 1000 (Ethernet) RX packets 162 bytes 14702 (14.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 92 bytes 11801 (11.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
netmask:设置子网掩码地址
*可是设置IP地址的时候使用/16方式设置子网掩码
[root@localhost ~]# ifconfig eno33554984 address 172.168.10.10 netmask 255.255.0.0 [root@localhost ~]# ifconfig eno33554984 eno33554984: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.168.10.10 netmask 255.255.0.0 broadcast 172.168.255.255 inet6 fe80::20c:29ff:fe4e:215f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:4e:21:5f txqueuelen 1000 (Ethernet) RX packets 172 bytes 15690 (15.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 92 bytes 11801 (11.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
gateway:设置网关地址
[root@localhost ~]# ifconfig eno33554984 address 172.168.10.10/16 gateway 192.168.1.1
————————————————————————————————————————————
echo:回显,即在标准输出上输出信息,默认输出内容后自动添加换行符
echo命令所在路径:/usr/bin/echo
echo命令帮助文件路径:/usr/share/man/man1/echo.1.gz
[root@localhost ~]# echo "Hello world" Hello world [root@localhost ~]#
常用选项:
-n:输出内容后面不添加换行符
[root@localhost ~]# echo -n "Hello world" Hello world[root@localhost ~]#
-e:启用转义符号生效
[root@localhost ~]# echo -e "First \t Second \t \n 01 \t 02 \n" First Second 01 02
对输出内容显示字体颜色、背景颜色、闪烁灯功能
[root@localhost ~]# echo -e "My name is \033[1;31;47;7m;Lingyima\033[0m.How are you?" My name is ;Lingyima.How are you?
\033[mode内容\033[0m
mode:
第一个数字:1-7
1:加粗
3: 字体颜色
4: 背景颜色
5: 闪烁
7: 字体颜色与背景颜色互换
第二个数字:颜色
1-7,分别代代表不同的颜色值
tty:显示终端设备
tty命令所在路径:/usr/bin/tty
tty命令帮助文件路径:/usr/share/man/man1/tty.1/gz
Linux常用终端设备:
物理终端:
系统启动时使用,启动完之后关闭
设备位置:/dev/console
串行终端:
设备位置:/dev/ttyS#
虚拟终端:
设备位置:/dev/tty[0-9], Ctrl+Alt+F[1-6]
图形终端:
启动图形终端必须先启动图形服务(gnome,dke,xfce)然后按下Ctrl+Alt+F7。
启动图形终端(守护进程运行):# startx &
伪终端:
设备设置:/dev/pts/#
远程连接、图形界面下打开的终端都是伪终端
startx命令
启动图形终端,后面加上&表示已守护进程打开图形终端
export
导出环境变量
在当前shelll进程以及子进程有效
用法:
[root@localhost ~]# export name=jerry [root@localhost ~]# echo $name jerry [root@localhost ~]# bash [root@localhost ~]# echo $name jerry
还是可是使用declare -x导出环境变量
[root@localhost ~]# declare -x name=jerry [root@localhost ~]# echo $name jerry [root@localhost ~]# bash [root@localhost ~]# echo $name jerry
pwd
显示当前工作目录
[root@localhost ~]# pwd /root
当前工作目录保存在环境变量$PWD中
当前工作目录的之前工作目录在$OLDPWD环境变量中
[root@localhost tmp]# pwd /tmp [root@localhost tmp]# echo $PWD /tmp [root@localhost tmp]# cd /root [root@localhost ~]# pwd /root [root@localhost ~]# echo $PWD /root [root@localhost ~]# echo $OLDPWD /tmp
history
显示执行命令的历史记录,当系统关闭时保存在当前用户家目录~/.bash_history文件中
shell进程会其会话中保存此前用户提交执行过的命令
命令历史:history
定制history的功能,可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史的条数
HISTFILE:持久保存命令历史的文件;.bash_history
HISTFILESIZE:命令历史文件的大小
命令用法:
history [-c] [-d] [n]
history -anrw [文件名]
history -ps 参数 [参数…]
-c: clear
-d offset:delete
-r: 从文件读取命令历史至历史列表中
-w:把历史列表中的命令追加至历史文件中
history #:显示最近的#条命令
调用命令历史列表中的命令:
!#:再一次执行历史列表中的第#条命令
!!:再一次执行上一条命令
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令
注意:命令的重复执行有时候需要依赖于幂等性
调用上一条命令的最后一个参数:
快捷键:ESC, .
字符串:!$
控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令;
ignorespace:忽略以空白字符开头的命令;
ignoreboth:以上两者同时生效;
shutdown
关闭/重启/取消计算机命令
shutdown [OPTIONS…] [TIME] [WALL…]
-h: halt
-r:reboot
-c:cancel
TIME:now/hh:mm/+m/+0
# shutdown -h now, halt, poweroff
# reboot, shutdown -r now
CentOS 7:
# systemctl poweroff
# systemctl reboot
poweroff
不安全关机命令
reboot
不安全重启命令
hwclock
显示硬件时钟
显示或设定硬件时钟
-s, –hctosys:以硬件为准,把系统调整为与硬件时间相同;
-w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;
date:系统时钟
date [OPTION]… [+FORMAT]
FORMAT:格式符
%F:FULLDATE
%T:TIME
%Y:YEAR
%m:month
%d:day
%H:HOUR
%M:MINUTE
%S:SECOND
%s: 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数; …
设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
内部命令:help COMMAND
外部命令:
(1) 命令自带简要格式的使用帮助
# COMMAND –hep
(2) 使用手册:manual
# ls /usr/share/man/
# man COMMAND
SECTION:
NAME:简要功能性说明
SYNOPSIS:命令语法格式
DESCRIPTION:描述
OPTIONS: 选项
EXAMPLES: 使用示例
AUTHOR: 作者
BUGS: 报告程序bug的方式
SEE ALSO: 参考
SYNOPSIS:
[]: 可选内容;
<>:必选提供的内容;
a|b|c:多选一;
{}:分组
…:同类内容可出现多个
使用手册:压缩格式的文件,有章节之分;
/usr/share/man man1, man2, …
MANUAL SECTION
1: User Command
2: System Call
3: C Library Call
4: Device files and special files
5: Config file
6: Game and etc
7: 杂录
8: Admin Command and daemon process
~]# man CHAPTER COMMAND
注意:并非每个COMMAND在所有章节下都有手册;
查看命令都有哪些章节:
~]# whatis COMMAND
注意:其执行过程是查询数据库进行的;
手动更新数据库:
~]# makewhatis
man命令打开手册以后的操作方法:
翻屏:
b/空格键:向文件首部/尾部翻一屏;
Ctrl+u/d:向文件首部/尾部翻半屏
k/回车键:向文件首部/尾部翻一行
G:跳转至最后一行;
#G:跳转至指定行;
1G,gg:跳转至文件首部;
文本搜索:
/keyword:从文件首部向文件尾部一次查找;不区分字符大小写
?keyword:从文件尾部向文件首部一次查找;
n:与查找命令方向相同
N:与查找命令方向相反
q: quit
选项:-M /PATH/TO/SOMEDIR 到指定目录下查找命令手册并打开 之;
(3) info COMMAND 获取命令的在线文档
(4) 很多程序会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序的相关的信息
INSTALL:安装帮助;
CHANGE:版本迭代时的改动信息;
(5) 主流的发行版官方文档
http://www.redhat.com/doc
(6) 程序官方的文档
官方站点上的”Document”
(7) 搜索引擎
keyworld filetype:pdf
keyworld site:doman.tld
keyworld inurl:value
keyworld intitle:value
书籍的出版社:
O’Reiley
Wrox
机械工业、电子工业、人邮、清华大学、水利水电
——————————————————————————————————————————
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
/bin:所有用户可用的基本命令程序文件
/sbin:系统管理员使用的工具程序
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等
/dev:存储特殊文件或设备文件
设备有两种类型:字符设备(线性设备)、块设备(随机设备)
/etc:系统程序的配置文件,只能为静态
/root:管理员家目录,可选
/home:普通的家目录的集中位置:一般每个普通的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME
/lib:为系统启东或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块
libc.so.*:动态链接的C库;
ld*:运行时链接器/加载器
modules:用于存储内核模块的目录
/lib64:64位系统特有的存放64位共享库的路径;
/media:便携式挂载点(floppy、cdrom等)
/mnt:其他文件系统的临时挂载点
/opt:附加应用程序的安装位置
/srv:当前主机为服务提供的数据;
/tmp:临时文件
为产生临时文件的程序提供的用于存储临时我文件的目录;可供所有用户执行写入操作;有特殊权限;
/usr:Universal Shareable, read-only data 全局共享的只读数据路径;
bin
sbin
include:C程序头文件;
lib, lib64
share:命令手册页和自带文档等架构特有的文件的存储位置;
/usr/local:Local hierarchy, 让系统管理员安装本地应用程序;也通常用于安装第三方程序;
bin,sbin,etc,lib,share,src,include,man,games
src
x11R6 (Window Systemm, version 11 release 6)
/var:/var hierarchy,经常变化的目录文件
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots
/proc:基于内存的文件系统的虚拟文件系统,用于为内核及进程存储其相关信息;内核和进程存储其相关信息;他们多为内核参数,例如:net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_foward
/sys:虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径
其主要作用在与为管理Linux设备提供一种统一模型的接口;
原创文章,作者:rainbow,如若转载,请注明出处:http://www.178linux.com/47701
评论列表(1条)
可以在每个选项下面用一个例子来解释一下,加油