一、描述计算机的组成及其功能。
计算机的组成
计算机由五大部件组成:运算器(算术逻辑单元),控制器,存储器,输入装置和输出装置。
(1)运算器或称算术逻辑单元(Arithmetical and Logical Unit) 运算器的主要功能是对数据进行各种运算。
这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,
即“与”、“或”、“非”这样的基本逻辑运算以及数据的比较、移位等操作。
(2)存储器(Memory unit) 存储器的主要功能是存储程序和各种数据信息,并能在计算机运行过程中高速、
自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它用具有两种稳定状态的物理器件来存储信息。
这些器件也称为记忆元件。由于记忆元件只有两种稳定状态,因此在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。
记忆元件的两种稳定状态分别表示为“0”和“1”。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。
计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。
存储器是由成千上万个“存储单元”构成的,每个存储单元存放一定位数(微机上为8位)的二进制数,
每个存储单元都有唯一的编号,称为存储单元的地址。“存储单元”是基本的存储单位,不同的存储单元是用不同的地址来区分的,
就好像居民区的一条街道上的住户是用不同的门牌号码来区分一样。 计算机采用按地址访问的方式到存储器中存数据和取数据,
即在计算机程序中,每当需要访问数据时,要向存储器送去一个地址指出数据的位置,同时发出一个“存放”命令(伴以待存放的数据),
或者发出一个“取出”命令。这种按地址存储方式的特点是,只要知道了数据的地址就能直接存取。但也有缺点,
即一个数据往往要占用多个存储单元,必须连续存取有关的存储单元才是一个完整的数据。
计算机在计算之前,程序和数据通过输入设备送入存储器,计算机开始工作之后,存储器还要为其它部件提供信息,
也要保存中间结果和最终结果。因此,存储器的存数和取数的速度是计算机系统的一个非常重要的性能指标。
(3)控制器(Control Unit) 控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,
保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。 控制器从存储器中逐条取出指令,
分析每条指令规定的是什么操作以及所需数据的存放位置等,然后根据分析的结果向计算机其它部分发出控制信号,
统一指挥整个计算机完成指令所规定的操作。因此,计算机自动工作的过程,实际上是自动执行程序的过程,
而程序中的每条指令都是由控制器来分析执行的,它是计算机实现“程序控制”的主要部件。
通常把控制器与运算器合称为中央处理器(Central Processing Unit-CPU)。
工业生产中总是采用最先进的超大规模集成电路技术来制造中央处理器,即 CPU 芯片。它是计算机的核心部件。
它的性能,主要是工作速度和计算精度,对机器的整体性能有全面的影响。
(4)输入设备(Input device) 用来向计算机输入各种原始数据和程序的设备叫输入设备。
输入设备把各种形式的信息,如数字、文字、图像等转换为数字形式的“编码”,
即计算机能够识别的用1和0表示的二进制代码(实际上是电信号),并把它们“输入”(INPUT)到计算机内存储起来。
键盘是必备的输入设备、常用的输入设备还有鼠标器、图形输入板、视频摄像机等。
(5)输出设备(Output device) 从计算机输出各类数据的设备叫做输出设备。
输出设备把计算机加工处理的结果(仍然是数字形式的编码)变换为人或其它设备所能接收和
识别的信息形式如文字、数字、图形、声音、电压等。常用的输出设备有显示器、打印机、绘图仪
二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别
*Linux发行版=Linux内核+商业软件
linux的发行版:
RedHat、Fedora、suse(Novell)、红旗、debian、Ubuntu、centos
不同发行版之间的联系和区别:
Red Hat ,是redhat自己的发行的企业版,是redhat的一个重要节点。
Fedore是一款基于linux的操作系统,也是一组维持计算机正常运行的软件集合。由红帽公司赞助。
suse linux,针对个人用户。
红旗linux的发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式linux等产品,是中国较大、较成熟的linux发行版之一。
debian,三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。
而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。
Ubuntu(乌版图)是一个以桌面应用为主的linux操作系统。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。
Centos是一个基于redhat linux 提供的可自由使用源代码的企业级linux发行版本。目前Centos已被收购,成为redhat旗下的一个组织。
三、描述Linux的哲学思想,按照自己的理解对其解释性描述
Linux的哲学思想:
1、一切皆文件;
2、单一目的的小程序;
3、联合多个程序进行一个复杂的任务;
4、文本文件保存配置信息;
5、跟用户界面无关;
6、提供机制,而非策略。
自己的理解:
linux的基本原理中就有一切皆文件,所有的资源在linux上都已文件方式存在,
包括硬件设备(设备文件);单一目的的小程序,就是一个程序只做一件事,并且要做好。
联合多个程序可以完成一个复杂的任务;文本文件保存配置信息,在linux中使用简单的文件编辑器(vim),
就可以完成配置。跟用户界面无关,就是尽可能避免和用户交互,易于编程实现自动化运维。
linux中“只提供机制而非策略“,所谓机制就是”提供什么功能”策略就是实现什么功能。
这种独特的设计思想为设计者提供了更大的空间。
四、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、
shutdown、poweroff、reboot、hwclock、date等命令使用,配合相应实例阐述。
Linux系统上命令的使用格式:
COMMAND[OPTIONS…] [ARGUMENTS…]
command:命令
OPTIONS [选项]:用于启用或关闭命令的某个或某些功能;
短选项:-+一个字符, 例如:-l, -h;多个短选项可合并使用,例如-l -h, 可写作-lh;如何不合并,要使用空白字符隔开。
长选项:–word,例如:–long,–human-readable;多个长选项不可以合并使用。
ARGUMENTS [参数]:命令的作用对象,向命令提供数据;多参数应该使用空白字符分隔。
ifconfig命令
命令功能:
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
命令格式:
ifconfig [网络设备] [参数]
命令参数:
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
up|down:up 启动指定网络设备/网卡。down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
[-]arp:设置指定网卡是否支持ARP协议。
address 为网卡设置IPv4地址
add 给指定网卡配置IPv6地址
del 删除指定网卡的IPv6地址
netmask <address> :设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
[hw <HW> <address>]:设置网络设备的类型与硬件地址。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-pointtopoint<地址> 为网卡设置点对点通讯协议
-broadcast<地址> 为指定网卡设置广播协议
multicast 为网卡设置组播标志
txqueuelen<长度> 为网卡设置传输列队的长度
mtu<字节数> 设置网卡的最大传输单元 (bytes)
示例1:
显示网络设备信息:
[root@magedu ~]# ifconfig | more
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.4 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::5efc:7882:ed4c:fc9a prefixlen 64 scopeid 0x20<link>
ether 08:00:27:1b:c2:e0 txqueuelen 1000 (Ethernet)
RX packets 9 bytes 2822 (2.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 37 bytes 5757 (5.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
说明:
enp0s3:表示当前使用的网卡
flags=4163<UP,BROADCAST,RUNNING,MULTICAST>标志状态
mtu 1500:最大数据包大小1500字节
网卡的ip地址:inet 10.0.2.4
子网掩码:netmask 255.255.255.0
广播地址:broadcast 10.0.2.255
网卡的ipv6地址:inet6 fe80::5efc:7882:ed4c:fc9a
网卡物理地址(MAC地址):ether 08:00:27:1b:c2:e0
实例2:启动关闭指定网卡
[root@magedu ~]# ifconfig enp0s3 up
[root@magedu ~]# ifconfig enp0s3 down
说明:
[root@magedu ~]# ifconfig enp0s3 up //为启动网卡enp0s3
[root@magedu ~]# ifconfig enp0s3 down //为关闭网卡enp0s3
实例3:为网卡配置和删除IPv6地址
命令:
ifconfig enp0s3 add 33ffe:3240:800:1005::2/64
ifconfig enp0s3 del 33ffe:3240:800:1005::2/64
说明:
ifconfig enp0s3 add 33ffe:3240:800:1005::2/64 为网卡eth0配置IPv6地址;
ifconfig enp0s3 add 33ffe:3240:800:1005::2/64 为网卡eth0删除IPv6地址;
实例4:用ifconfig修改MAC地址
命令:
ifconfig enp0s3 hw ether 00:AA:BB:CC:DD:EE
实例5:配置IP地址
[root@magedu ~]# ifconfig enp0s3 192.168.1.110 netmask 255.255.255.0 broadcast 192.168.1.255
实例6:启用和关闭ARP协议
命令:
ifconfig enp0s3 arp //开启网卡eth0 的arp协议;
ifconfig enp0s3 -arp //关闭网卡eth0 的arp协议;
实例7:设置最大传输单元
命令:
[root@magedu ~]#ifconfig enp0s3 mtu 1480
echo命令:
命令格式:
echo [SHORT-OPTION]… [STRING]…
echo LONG-OPTION
命令功能:
显示文字
命令参数:
-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
示例1
[root@magedu ~]# echo -e “a\tb\tc\nd\te\tf”
a b c
d e f
上例运用 \t 来区隔 abc 还有 def ,以及用 \n 将 def 换至下一行
tty命令
命令格式:
tty [OPTION]…
命令功能:
显示终端机连接标准输入设备的文件名称。
命令参数:
-s或–silent或–quiet 不显示任何信息,只回传状态代码。
–help 在线帮助。
–version 显示版本信息。
返回的状态码:
0表示标准输入是一个终端。
1表示标准输入不是一个终端。
2表示给定的参数是不正确的参数。
3表示发生了写错误。
示例1
查看当前的标准终端文件描述符号:
[root@magedu ~]# tty
/dev/pts/0
这里,输入tty之后,输出”/dev/pts/6″就是当前连接的终端对应的文件描述符号,
我们可以通过向这个文件,这样会看到当前终端会输出我们写入的数据,
例如:
[root@magedu ~]# echo “mytest” >/dev/pts/0
mytest
startx命令
命令格式:
startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]
命令功能:
startx命令用来启动X Window,实际上启动X Window的程序为xinit
export命令
命令格式:
export [-fnp][变量名称]=[变量设置值]
命令功能:
设置或显示环境变量
命令参数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
三种方法来设置环境变量:
1、直接用export命令:
[root@magedu ~]#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
2、修改profile文件:
[root@magedu ~]#vi /etc/profile
在里面加入:
export PATH=”$PATH:/opt/au1200_rm/build_tools/bin”
3. 修改.bashrc文件:
[root@magedu ~]# vi /root/.bashrc
在里面加入:
export PATH=”$PATH:/opt/au1200_rm/build_tools/bin”
pwd命令
命令格式:
pwd [OPTION]…
命令功能:
用于显示工作目录
命令参数:
-L, –logical #use PWD from environment, even if it contains symlinks
-P, –physical#avoid all symlinks
–help #display this help and exit
–version #output version information and exit
-L目录连接链接时,输出连接路径
-P输出物理路径
示例1
查看当前所在目录
[root@magedu ~]# pwd
/root
查看链接路径
[root@magedu init.d]# pwd
/etc/rc.d/init.d
[root@magedu init.d]# pwd -P
/etc/rc.d/init.d
[root@magedu init.d]# pwd -L
/etc/rc.d/init.d
写到环境变量中
export PS1='[\u@$PWD]\$’
shutdown命令
命令格式:
shutdown [OPTIONS…] [TIME] [WALL…]
命令功能:
可以停止、关闭和重启系统,或指定某些操作。
命令参数:
-a Use /etc/shutdown.allow.
-c 取消等待关闭。只会对带有时间参数的shutdown指令(不是”+0”或”now”)有效。
-f 重新启动时不进行磁盘检测(fsck)
-F 重新启动时进行磁盘检测(fsck)
-h 相当于–poweroff,除非指定–halt
-k 并不是关机,关闭和重启系统,仅仅只是发送警告信息。
-n 不调用init进程进行关机,而是强行关机
-r /–reboot 重启系统
-t<秒数> 延迟关机的时间
-w 仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
-P /–poweroff 关闭系统。(默认情况)
-H /–halt 停止机器。
–no-wall 在关闭,停止,重启之前不发生警告信息。
–help 输出简短的帮助文档并退出
示例1
立即关闭系统
[root@magedu ~]#shutdown -h now
示例2
指定时间关机,并送出警告信息给目前登录用户
[root@magedu ~]#shutdown +5 “System will shutdown after 5 minutes”
示例3
给所有登录用户发送信息
[root@magedu ~]#shutdown -k now “this is a test wall message!”
poweroff命令
命令格式:
poweroff [OPTIONS…]
命令功能:
用来关闭计算机操作系统并且切断系统电源
命令参数:
-n:关闭操作系统时不执行sync操作;
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
示例:
如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。
使用poweroff立即关闭系统: poweroff
[root@magedu ~]# poweroff
reboot命令
命令格式:
reboot [OPTIONS…]
命令功能:
用来重新启动正在运行的Linux操作系统。
命令参数:
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
-f:强制重新开机,不调用shutdown指令的功能;
-i:在重开机之前,先关闭所有网络界面;
-n:重开机之前不检查是否有未结束的程序;
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
示例1
reboot //重启机器
[root@magedu ~]# reboot
示例2
[root@magedu ~]#reboot -w //做个重开机的模拟(只有纪录并不会真的重开机)。
hwclock命令
命令格式:
hwclock [function] [option…]
命令功能:
是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。
命令参数:
–adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟;
–debug:显示hwclock执行时详细的信息;
–directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟;
–hctosys:将系统时钟调整为与目前的硬件时钟一致;
–set –date=<日期与时间>:设定硬件时钟;
–show:显示硬件时钟的时间与日期;
–systohc:将硬件时钟调整为与目前的系统时钟一致;
–test:仅测试程序,而不会实际更改硬件时钟;
–utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作;
–version:显示版本信息。
示例1
设置硬件时间要依赖于操作系统时间,具体方法如下:
[root@magedu ~]# hwclock –systohc –utc
示例2
不加任何参数使用hwclock,可以查看当前的硬件日期和时间。
[root@magedu ~]#hwclock
示例3
查看clock文件,确认是否设置了UTC:
cat /etc/default/rcS UTC=yes
在其他一些版本的Linux(如RebHat)中可以这样查看:
cat /etc/sysconfig/clock ZONE=”America/Los_Angeles” UTC=false ARC=false
date命令
命令格式:
date [OPTION]… [+FORMAT]
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
命令功能:
按格式显示时间或设置系统时间。
命令参数:
-d, –date=STRING
显示STRING指示的时间,STRING是比较随性的可读的字符串,
比如说“2012-06-16 18:31:00”或者“next Thursday”,这个字符串通常包含日历时间、
时间、星期、日期、相对时间,相对日期或者数字。
-f, –file=DATEFILE
和-d类似,对文件DATEFILE里的每一行做date -d操作
-ITIMESPEC, –iso-8601[=TIMESPEC]
以ISO 8601格式显示时间/日期。TIMESPEC=`date’只显示日期, `hours’, `minutes’, or `seconds’显示相应的精度. –iso-8601不带TIMESPEC时等同于`date’.
-r, –reference=FILE
显示文件FILE最后修改的时间
-R, –rfc-822
输出与RFC-822相适应的时间字符串
-s, –set=STRING
设置STRING指定的时间
-u, –utc, –universal
输出或者设置UTC时间
–help
显示命令帮助
–version
输出版本信息
%a 缩写的星期名 Thu
%A 全星期名 Thursday
%b 缩写的月名 Aug
%B 全月名 August
%c 日期和时间 Thu Aug 23 14:55:02 2001
%C 年/100 [00,99] 20
%d 十进制表示的每月的第几天 [01,31] 16
%D 月/天/年 [m%/d%/y%] 06/16/12
%e 十进制表示的每月的第几天 ,一位数前加空格[1,31] 10
%F 年-月-日 [Y%-m%-d%] 2012-06-16
%g ISO 8601使用基于周的年的后两位数字 12
%G ISO 8601使用基于周的年 2012
%h 简写的月份名 ,与%b相同 Aug
%H 24小时制的小时 [00,23] 14
%I 12小时制的小时 [01,12] 02
%j 每年的第几天 [001,366] 235
%k 24小时制的小时 [0,23] 5
%l 12小时制的小时 [1,12] 5
%m 十进制的月 [01,12] 08
%M 分钟 [00,59] 55
%n 换行符
%N 十亿分之一秒,纳秒 [000000000,999999999] 000000001
%p AM/PM PM
%P am/pm pm
%r 本地时间:(12时制) 11:01:23 AM
%R 与“%H:%M”相同 11:01
%s 自’00:00:00 1970-01-01 UTC’ 的秒数 1339819819
%S 秒 [00,60] 02
%t 水平制表符
%T 与“%H:%M:%S”相同 11:01:23
%u ISO 8601的星期,星期一为1,[1,7] 2
%U 周数 ,以周日为一周开始 [00,53] 33
%V ISO 8601周数 [01,53] 07
%w 星期,星期天为0. [0,6] 4
%W 周数,以星期一为一周开始 [00,53] 34
%x 标准日期 06/16/12
%X 标准时间 14:55:02
%y 年份的后两位数字 [00,99] 12
%Y 年 2012
%z ISO 8601格式的UTC偏移量 -0500
%Z 时区名 EST
%% 百分号 %
示例1
显示7天前的时间
[root@magedu ~]# date -d “7 days ago”
Wed Nov 29 17:22:22 CST 2017
示例2
格式化输出:
[root@magedu ~]# date +”%Y-%m-%d”
2017-12-06
示例3
2秒后输出:
[root@magedu ~]# date -d “2 second” +”%Y-%m-%d %H:%M.%S”
2017-12-06 17:37.31
五、如何获取帮助信息,描述man文档章节划分
linux中常用的几个帮助命令:
man
info
help
tab键(双tab)
-h 或–help
man文档章节划分:
man1:用户命令;
man2:系统调用;
man3:C库调用;
man4:设备文件及特殊文件;
man5:文件格式(配置文件格式);
man6:游戏使用帮助:
man7:杂项:
man8:管理工具及守护进行;
六、罗列发行版基础目录名称命名法则及功用规定
[root@magedu ~]# 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
/bin:所有用户可用的基本命令程序文件
/sbin:供系统管理使用的工具程序
/boot:引导加载器必须用到的各静态文件:kernel,initramfs(initrd),grub等
/dev:存储特殊文件或设备文件:设备有两种类型:字符设备、块设备;
/etc:系统程序的配置文件,只能为静态。
/home:普通的家目录的集中位置,一般每个普通用户的家目录默认为此目录下与用户名同名的子目录:/home/yu
/lib:为系统启动或跟文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
libc.so.*:动态链接C库:
ld*:运行时链接器和加载器;
modules:用于存储内部模块的目录
/lib64:64位系统特有的存放64位共享库的路径;
/media:便携式设备挂载点:cdrom,floppy等;
/mnt:其它文件系统的临时挂载点;
/opt:附加应用程序的安装位置;可选路径;
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录:可供所用户执行写入操作;有特殊权限;
/usr:usr Hierarchy:全局共享的只读数据路径;
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89605
评论列表(1条)
总结的很完善,注意在日常运维过程加以实践。