1.描述计算机的组成及其功能。
组成:CPU (运算器+控制器),存诸器(内存与硬盘),输入设备,输出设备。
运算器:对数据进行加工处理的部件(包括算述运算与逻辑运算)。
控制器:负责从存储器取出指令,按指令的要求发出控制信号,使各部件协调的,一步步的完成各种操作。
存储器:计算机记忆或暂存数据的部件
输入设备:人机接口,负责输入信息(数据与指令)转成计算机能识别二进代码,送入存储器保存。
输出设备:输出计算机处理的结果并转换成便于人们识别的形式。
2.按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别。
linux的发行版大体分为2类:商业版(Enterprise)和社区版(Community);商业版如Redhat、Solaris等,社区版如FreeBSD、Debian、CentOS等;
Linux大体可以分为4大家族:
(1)Redhat系列包括RHEL、Fedora、CentOS,使用Yum方式管理软件包,使用人群较大,较为流行;RHEL有一套完善的认证体系;
CentOS是其社区克隆版本,二者稳定性非常好,适合服务器使用;Fedora的稳定性较差;
(2)Debian系列包括Debian和Ubuntu等,使用apt-get/dpkg 包管理方式;
据我所接触到的很多游戏公司以及一些国外的软件开发公司偏好使用。
ubuntu是基于debian发行版,是一个以桌面应用为主的linux操作系统,在桌面化linux操作系统上较为流行,目前ubuntu有一套完整的ubuntu生态体系(手机、平板、PC端、服务器端、云端);
Linux Minit也是基于Debian的一个发行版;
(3)SUSE系列包括SLES,openSUSE等,是Noverll公司产品;SLES是企业版,openSUSE是社区版;
SUSE采用Yast包管理方式,是基于RPM为基础的;
(4)其它发行版本如Gentoo、Arch等,Gentoo、Arch定制性很强,上手比较困难;
3.描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
linux的哲学思想:
(1)一切皆文件;
linux系统上所有的东西都是以文件形式出现的;如磁盘设备、驱动、进程、管道等都被抽象成了文件;
(2)能简写,绝不全写;
linux上很多命令基本上选项参数都带有简写模式,设置一些"命令+参数"都被定义别名,使用一个命令来表示;
(3)尽量避免捕获用户接口;
(4)作用范围越小的越是最终生效的;
在linux上很多服务配置文件中都分为全局配置和局部配置,如果有重复的参数配置时,通常都是以局部配置的参数配置为准,作用域小的最终生效;
(5)组合小命令完成复杂任务;
linux上的命令通过一些参数的配合具有很强大的能力,通过合适的命令组合通常都能够完成非常复杂的任务;
如查看当前系统上tcp的连接情况:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
使用netstat和awk命令的组合就能快速地统计到结果;
4.描述Linux系统命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、histroy、shutdown、poweroff、reboot、hwclock、data命令的使用,并配合相应的示例来阐述。
(1)ifconfig命令
#ifconfig -a:列出所有接口的详细信息;
[root@director1 ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.3 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe59:396f prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:59:39:6f txqueuelen 1000 (Ethernet)
RX packets 444 bytes 41402 (40.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 372 bytes 53149 (51.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.0.1 netmask 255.255.255.0 broadcast 172.16.0.255
inet6 fe80::20c:29ff:fe59:3979 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:59:39:79 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 888 (888.0 B)
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
#ifconfig <interface>:查看指定接口的网络信息;
[root@director1 ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.3 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe59:396f prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:59:39:6f txqueuelen 1000 (Ethernet)
RX packets 482 bytes 44862 (43.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 404 bytes 59267 (57.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#ifconfig <interface> <address>[/<prefixlen>]|[netmask] [broadcast]:添加子网卡并配置临时地址;
[root@director1 ~]# ifconfig eth1:0 172.16.0.100/24
[root@director1 ~]# ifconfig eth1:0
eth1:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.0.100 netmask 255.255.255.0 broadcast 172.16.0.255
ether 00:0c:29:59:39:79 txqueuelen 1000 (Ethernet)
#ifconfig <interface> up|down:临时启用或关闭网卡;
[root@director1 ~]# ifconfig eth1 down
[root@director1 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.3 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe59:396f prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:59:39:6f txqueuelen 1000 (Ethernet)
RX packets 1150 bytes 106278 (103.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 913 bytes 129375 (126.3 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 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
#ifconfig <address> mtu <NUM>:设置网卡的最大传输单元,默认是1500;
[root@director1 ~]# ifconfig eth0 mtu 1460
[root@director1 ~]# ifconfig eth0|grep mtu
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
(2)echo命令
用法:echo [参数] [字符串]
参数:
-n:输出不换行;
-E:不启用反斜杠转义功能,默认;
-e:启用反斜杠转义功能;
\\:插入'\'字符;
\a:发出警告声;
\b:删除前一个字符;
\c:最后不加入换行符号;
\v|\f:换行但光标仍旧停留在原来位置;
\n:换行且光标移至行首;
\r:光标移至行首,但不换行;
\t:插入tab符;
示例:
[root@director1 ~]# echo 'hello \n world'
hello \n world
[root@director1 ~]# echo -e 'hello \nworld'
hello
world
特殊用法:
输出颜色文本
[root@director1 ~]# echo -e "\033[44;31;1m HELLO \033[0m world"
\033[44;31;1m HELLO:设置背景为蓝色,前景为红色,加粗的HELLO;
\033[0m:重新设置屏幕到默认设置;
(3)tty命令
打印连接到标准输出的终端文件名称
用法: tty [参数]
参数:
-s,–slient,–quiet:不显示输出,指返回退出状态码;
–help:显示帮助信息;
–version:显示tty版本;
示例:
[root@director1 ~]# tty
/dev/pts/0
[root@director1 ~]# tty -s
[root@director1 ~]# echo $?
0
[root@director1 ~]# tty –version
tty (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
(4)startx命令
启动X Windows服务;
用法: startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]
(5) export命令
用法:export [-fn] [名称[=值] …] 或 export -p
-f:指定shell函数
-n:删除每个NAME名称的导出属性
-p:显示所有导出的变量和函数的列表
(6) pwd命令
显示出当前/活动目录的名称
示例:
[root@kvm apache2]# pwd
/usr/local/apache2
(7) history命令
显示当前终端输入过的历史命令信息;
用法:history [参数]
参数:
-c:清空历史命令;
-d offset:删除offset位置的历史条目;
NUM:读取最新的NUM个历史命令;
-r:读取历史文件的内容,使用它们作为当前历史;
-w:将当前历史列表写入到历史文件,覆盖原有内容;
示例:
[root@kvm apache2]# history 4
1017 man history
1018 history -3
1019 history
1020 history 4
[root@kvm apache2]# history -c
[root@kvm apache2]# history
22 history
(8) shutdown命令:
用于关闭系统,可以指定立即或一段时间之后关闭系统;
用法:shutdown [-t sec] [-arkhncfF] time [warning-message]
参数:
-a:使用 /etc/shutdown.allow 来验证身份;
-t sec:通知 init在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号;
-k:并非关机,只是向所有人显示警告信息;
-r:重启;
-h:停机;
-f:重启时跳过磁盘检测;
-F:重启时强制磁盘检测;
-c:取消运行中的shutdown进程;
time:指定关机时间
warning-message:指定发送所有用户的告警信息;
示例:
[root@kvm apache2]# shutdown -h +5 "shutdown after 5 minutes "
Shutdown scheduled for 二 2016-08-09 14:12:39 CST, use 'shutdown -c' to cancel.
[root@kvm apache2]#
Broadcast message from root@kvm (Tue 2016-08-09 14:07:39 CST):
shutdown after 5 minutes
The system is going down for power-off at Tue 2016-08-09 14:12:39 CST!
shutdown -c
Broadcast message from root@kvm (Tue 2016-08-09 14:07:43 CST):
The system shutdown has been cancelled at Tue 2016-08-09 14:08:43 CST!
(9) poweroff命令
用来关闭系统并切断电源;
用法:poweroff [参数]
可不加参数;
参数:
-n:关闭操作系统时不执行sync操作;
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
(10) reboot命令
用来重启系统;
用法:reboot [参数]
可不加参数;
参数:
-d:重新启动时不把数据写入记录文件/var/tmp/wtmp;
-f:强制重新开机,不调用shutdown指令的功能;
-n:保存数据后再重新启动系统;
-w:仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件;
-h:在系统关机或poweroff之前,将所有的硬盘处于待机模式;
-i:关闭网络设置之后再重新启动系统;
(11) hwclock命令
可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间;
用法: hwclock [参数]
功能:
-r:读取硬件时钟并打印结果;
-s,–hctosys:从硬件时钟设置系统时间;
-w,–systohc:从当前系统时间设置硬件时钟;
-c:定期将系统时钟与CMOS时钟相比较;
-v:显示版本信息
(12) date命令
显示或设置日期时间;
用法:
date [OPTION]… [+FORMAT]
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
常用参数:
-u:显示目前的格林威治时间
%H:小时(00..23)
%M:分钟(00..59)
%S:秒(00..60)
%T:相当于%H:%M:%S
%Y:年份,如2016
%m:月份(01..12)
%d:天,如01,11;
%F:相当于%Y-%m-%d
%D:直接显示日期(mm/dd/yy)
%a|%A:显示星期
示例:
[root@kvm apache2]# date +"%F %T"
2016-08-09 14:32:57
5.如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
获取命令帮助信息的方法:
(1)COMMAND -h
(2)COMMAND –help
(3)help COMMAND
(4)man COMMAND
(5)info COMMAND
man文档章节分类:
1:普通的命令;
2:系统调用;
3:库函数;
4:特殊文件,如/dev目录下各种文件;
5:文件格式;
6:游戏相关;
7:其它内容相关;
8:系统管理命令相关;
9:内核例程相关;
6.请罗列Linux发行版的基础目录命名法则及功用规定
[root@director1 ~]# 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:存放一般用户都可使用的二进制可执行命令;
/boot:存放Linux内核及系统引导程序所需的文件;
/dev:存放特殊设备文件;
/etc:系统管理和配置文件;
/home:普通用户的家目录;
/lib:标准程序设计库或动态链接共享库,根文件系统上的程序所需的共享库;
/media:空目录,可用于用户临时挂在其它文件系统;
/mnt:空目录;
/opt:给主机安装额外软件预留的目录;
/proc:虚拟目录,是系统内存的映射;
/root:root用户的家目录;
/sbin:超级管理命令,通常存放的是系统管理员使用的命令;
/srv:服务启动之后需要访问的数据目录;
/sys:伪文件系统,是系统内核的映射;
/tmp:临时目录;
/usr:应用程序存放的目录;
/var:某些大文件的溢出区,如日志
原创文章,作者:N22-昆山-Dexter_Wang,如若转载,请注明出处:http://www.178linux.com/36523