一、填空题

1. 第1题:修改网卡IP地址

在Linux下查看、修改IP地址信息的命令是(ip addr show 和 ip addr change 或者 ifconfig)。

  • 查看IP地址
  • 在OpenEuler系统下
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@openEuler ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp6s18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether bc:24:11:2a:8b:49 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.83/24 brd 192.168.3.255 scope global noprefixroute enp6s18
valid_lft forever preferred_lft forever
inet6 fe80::be24:11ff:fe2a:8b49/64 scope link noprefixroute
valid_lft forever preferred_lft forever
  • 修改P地址
1
ip addr change  192.168.1.100/24 dev enp6s19

>

永久修改IP地址,ubuntu系统下修改 /etc/netplan/00-installer-config.yaml 文件后,直接 netplan apply 即可修改IP地址。

1
2
3
[root@node1 ~]# nmcli connection modify ens224-con224 ipv4.addresses 192.168.8.11/24 ipv4.gateway 192.168.8.1 ipv4.dns 192.168.8.1 ipv4.method manual 
[root@node1 ~]# nmcli connection reload
[root@node1 ~]# nmcli connection up ens224-con224

2. 第2题:基本文件相关命令解释

>

写出以下命令的功能:

  • cat(显示文件内容或连接多个文件到标准输出)

  • rm(删除文件或目录)

  • pwd(显示当前工作目录)

3. 第3题: 新建用户

>

终端方式下新建用户bb的命令( useradd bb )。

1
2
3
[root@openEuler ~]# useradd bb
[root@openEuler ~]# id bb
uid=1001(bb) gid=1001(bb) groups=1001(bb)

4. 第4题: 设置文件权限

>

修改file001.txt的访问权限rwxr-x--x

1
chmod 751 file001.txt
1
2
[root@openEuler ~]# ll file001.txt
-rwxr-x--x. 1 root root 0 Jul 17 17:02 file001.txt

5. 第5题: 路由协议RIP

  • 题目:
1
路由选择协议(RIP)的跳数表示到达目的地之前必须通过的(路由器)数,RIP接受的最长距离是(15)
  • 讲解:

>

路由信息协议(RIP,Routing Information Protocol)是一种距离矢量路由协议,它主要用于小型到中型网络中的路由选择。在RIP中,路由的“开销”或“代价”是通过“跳数”来衡量的,跳数指的是数据包从源到达目的地必须经过的路由器数量。RIP协议通过广播或组播定期(通常每隔30秒)向相邻的路由器发送自己的路由表,包括到各个网络的距离(即跳数)。接收方路由器会根据收到的信息更新自己的路由表,计算出到每个网络的最佳路径。如果有多条路径到达同一网络,RIP会选择跳数最少的那条路径。RIP协议的一个重要限制是它设定的跳数最大值为15。这意味着如果一个数据包需要经过16个或更多的路由器才能到达目的地,RIP就会认为这个目的地是不可达的。这是为了防止路由环路(即数据包无休止地在路由器之间循环)造成网络拥堵。在实际应用中,超过15跳的网络通常会采用更复杂的路由协议,如OSPF(Open Shortest Path First)或BGP(Border Gateway Protocol),这些协议使用更复杂的度量标准来确定最佳路径。因此,当我们在讨论RIP时提到“RIP接受的最长距离是15”,就是在强调RIP协议的这个设计特点,即它将超过15跳的路径视为无效或不可达。这在一定程度上限制了RIP在大规模网络中的应用,但同时也简化了路由算法,降低了计算复杂度。

6. 第6题:ping命令相关

题目:

>

ping命令通过(ICMP)协议来实现网络连通性的测试。

讲解:

ping 命令是一个常用的网络诊断工具,用于测试从一台主机到另一台主机之间的网络连通性。它通过发送Internet Control Message Protocol (ICMP) Echo Request数据包到目标主机,并等待接收ICMP Echo Reply响应来工作。

ICMP协议简介

ICMP是互联网协议(IP)的一部分,用于在网络节点之间传递控制消息,这些消息通常包含有关网络错误或状态的信息。ICMP的主要功能之一就是帮助主机和路由器报告和解决网络问题。

Ping的工作原理

  1. 发送Echo Request: 当你运行ping命令时,你的主机(称为源主机)会构造一个ICMP Echo Request数据包,并将其封装在IP数据报中,然后发送到目标主机的IP地址。
  1. 处理请求: 目标主机上的操作系统收到Echo Request数据包后,会创建一个ICMP Echo Reply数据包作为响应,并将其发送回源主机。
  1. 接收响应: 源主机接收到Echo Reply后,ping命令会计算往返时间(RTT,Round-Trip Time),即从发送请求到接收响应的时间差,通常以毫秒(ms)为单位。
  1. 显示结果: ping命令会显示每次尝试的结果,包括是否成功接收到响应、往返时间和目标主机的IP地址。通常,ping会连续发送多个请求,以便获得更稳定和准确的连通性评估。
  1. 超时处理: 如果在一定时间内(通常是几秒钟)没有收到回应,ping命令会认为请求超时,并报告“Request timed out”。

使用场景

ping 命令非常有用,因为它可以帮助诊断网络问题,如:

  • 检测目标主机是否在线。

  • 检查网络延迟。

  • 判断网络拥塞程度。

  • 排查DNS问题,通过ping域名来验证DNS解析是否正常。

假设你要测试与www.example.com的连通性,你可以在命令行中输入:

1
ping www.example.com

这将开始向 www.example.com 发送ICMP Echo Request数据包,并显示响应结果。通过观察返回的响应时间和包丢失情况,你可以判断网络的健康状况。

7. 第7题: 创建目录

>

在/目录下建立一个子目录/mydir/subdir, 使用命令一次完成:( mkdir -p /mydir/subdir )。

1
mkdir -p /aa/bb/cc

8. 第8题: 正则表达式

  • 题目:

>

使用( 正则表达式 )每次匹配若干个字符。

1
2
3
4
5
6
7
8
使用正则表达式的量词(Quantifiers)可以用来匹配若干个字符。以下是一些常见的量词:

- *:匹配0个或多个前面的字符
- +:匹配1个或多个前面的字符
- ?:匹配0个或1个前面的字符
- {n}:匹配恰好n个前面的字符
- {n,}:匹配至少n个前面的字符
- {n,m}:匹配至少n个且不超过m个前面的字符

9. 第9题: 列出文件

>

罗列出/usr目录下的所有文件及目录,包含隐藏文件和隐藏目录:( ls -la /usr )。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@openEuler ~]# ls -la /
total 76
dr-xr-xr-x. 21 root root 4096 Jul 17 17:42 .
dr-xr-xr-x. 21 root root 4096 Jul 17 17:42 ..
drwxr-xr-x. 3 root root 4096 Jul 17 17:42 aa
dr-xr-xr-x. 2 root root 4096 May 10 11:41 afs
lrwxrwxrwx. 1 root root 7 May 10 11:41 bin -> usr/bin
dr-xr-xr-x. 7 root root 4096 Jun 27 15:54 boot
drwxr-xr-x. 19 root root 3460 Jul 17 15:51 dev
drwxr-xr-x. 2 root root 4096 Jul 17 17:41 DIR
drwxr-xr-x. 84 root root 4096 Jul 17 16:37 etc
drwxr-xr-x. 5 root root 4096 Jul 17 16:37 home
lrwxrwxrwx. 1 root root 7 May 10 11:41 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 May 10 11:41 lib64 -> usr/lib64
drwx------. 2 root root 16384 Jun 27 15:47 lost+found
drwxr-xr-x. 2 root root 4096 May 10 11:41 media
drwxr-xr-x. 2 root root 4096 May 10 11:41 mnt
drwxr-xr-x. 2 root root 4096 May 10 11:41 opt
dr-xr-xr-x. 190 root root 0 Jul 17 15:51 proc
dr-xr-x---. 3 root root 4096 Jul 17 17:00 root
drwxr-xr-x. 31 root root 900 Jul 17 15:51 run
lrwxrwxrwx. 1 root root 8 May 10 11:41 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 May 10 11:41 srv
dr-xr-xr-x. 13 root root 0 Jul 17 15:51 sys
drwxrwxrwt. 9 root root 180 Jul 17 16:03 tmp
drwxr-xr-x. 12 root root 4096 Jun 27 15:47 usr
drwxr-xr-x. 19 root root 4096 Jun 27 15:54 var

10. 第10题 : 如何查看系统信息

>

查看LINUX操作系统的系统信息:( uname -a )。

1
2
[root@openEuler ~]# uname -a
Linux openEuler 6.6.0-28.0.0.34.oe2403.x86_64 #1 SMP Mon May 27 22:22:46 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
  • 还可以使用neofetch等工具详细查看系统信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@openEuler ~]# neofetch
root@openEuler
(##### --------------
(((######## ##### OS: openEuler 24.03 (LTS) x86_64
((( ########## __...__ Host: KVM/QEMU (Standard PC (Q35 + ICH9, 2009) pc-q35-8.1)
(((((((( ####### /((((((###\ Kernel: 6.6.0-28.0.0.34.oe2403.x86_64
((((((((((( ....... \(((((####/ Uptime: 7 hours, 9 mins
(((((( ((((######### ******* Packages: 532 (rpm)
%((((((# ((######## Shell: bash 5.2.15
/((((( ### Resolution: 1280x800
/(((((((# (((&amp; Terminal: /dev/pts/0
((((((((((((( CPU: AMD Ryzen 7 5700U with Radeon Graphics (4) @ 1.796GHz
(((((((((((( GPU: 00:01.0 Vendor 1234 Device 1111
((((((((( ((((((### Memory: 266MiB / 7431MiB
/((((((######
//((((((######
/((((((#####
*********/

11. 第11题: 重命名文件

题目:

>

新建文件a.txt,然后将其重命名为b.txt:( touch a.txt; mv a.txt b.txt )。

1
touch a.txt; mv a.txt b.txt

12. 第12题: 修改用户密码

  • 方法1
1
passwd admin
  • 方法2
1
echo -n "new_password" | sudo passwd --stdin admin

13. 第13题: 如何向远程主机发送文件

>

SCP(Secure Copy) SCP是一种基于SSH协议的安全文件传输方式。使用SCP,你可以将文件从本地机器复制到远程机器,反之亦然,或者在两台远程机器之间复制文件。 例如,要将本地的file.txt发送到远程主机example.com上的/home/user目录,可以使用以下命令:

1
scp file.txt user@example.com:/home/user

14. 第14题: tar归档压缩使用

>

将/home目录做归档压缩,压缩后生成home.tar.gz文件,并保存到/目录下

1
tar -czvf /home.tar.gz /home

15. 第15题: 修改主机名

>

可以使用hostname修改主机名

1
hostnamectl set-hostname neode01

16. 第16题: 查看某个服务正在监听的端口

>

使用 netstat 命令,或者使用 ss 命令。

1
2
3
[root@openEuler ~]# netstat -tunlp |grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1025/sshd: /usr/sbi
tcp6 0 0 :::22 :::* LISTEN 1025/sshd: /usr/sbi

二、单选题

1. 第17题

添加一条静态路由,使到网络196.199.3通过eth2接口出去,用:( )
A. route add -net 196.199.3.0
B. route add -net 196.199.3.0 netmask 255.0.0.0 eth2
C. route add 196.199.3.0 netmask 255.0.0.0 eth2
D . route add -net 196.199.3.0 netmask 255.255.255.0 eth2

>

添加一条静态路由,使到网络196.199.3通过eth2接口出去,用:D. route add -net 196.199.3.0 netmask 255.255.255.0 eth2 )。

2. 第18题

ftp的数据传送模式有几种?( )
A. 1

B. 2

C. 3

D. 4

ftp的数据传送模式有几种?(B. 2)。

FTP(File Transfer Protocol)的数据传送模式主要分为两种,它们是基于数据如何在FTP客户端和FTP服务器之间交换的:

  1. ASCII模式
    这种模式主要用于传输文本文件,它会考虑行结束符的差异(例如,DOS/Windows使用CR+LF,而Unix使用LF),并且可能进行必要的转换,以确保文件在不同操作系统之间的兼容性。
  1. 二进制模式(或称为Binary模式):
    二进制模式不会对数据做任何转换,适用于传输非文本文件,如图像、音频、视频或可执行文件等。在这种模式下,文件被逐位复制,保持原始数据的完整性。

除了上述数据传输模式,FTP还支持两种不同的连接模式,用于建立数据连接:

  • 主动模式(Active Mode)
    在主动模式下,FTP服务器从其端口20(FTP数据端口)开始一个到客户端的连接,以建立数据传输通道。这要求客户端的防火墙或NAT设备允许外部连接。

  • 被动模式(Passive Mode,PASV)
    被动模式中,FTP服务器监听一个临时的端口,并等待客户端来连接这个端口以建立数据传输通道。这种方式对于客户端位于NAT后面或者有防火墙限制的情况更为适用,因为它避免了服务器发起的出站连接。

3. 第19题

所谓的虚拟主机是指: ( )
A. 一个机器具有多个网络接口
B. 一个网络接口具有多个IP地址
C. 一个应用监听多个端口
D. 一个主机提供多种网络服务

所谓的虚拟主机是指:(B. 一个网络接口具有多个IP地址)。

分析:

>

在讨论“虚拟主机”的概念时,我们通常是在Web服务器的上下文中提及的,它指的是在单一的物理服务器上运行多个独立的网站或服务。因此,最符合描述“虚拟主机”的选项是:

B. 一个网络接口具有多个IP地址

不过,这个定义仅适用于基于IP的虚拟主机实现方式。实际上,“虚拟主机”可以有三种配置方式:

  1. 基于IP的虚拟主机:每个网站分配一个独立的IP地址。
  2. 基于域名的虚拟主机:所有网站共享同一IP地址,但是通过不同的域名来区分。
  3. 基于端口的虚拟主机:虽然不常见,但在这种情况下,不同的网站可以通过不同的端口来访问,即使它们共享同一个IP地址。

然而,在给出的选项中,没有直接涵盖所有这些情况,选项B最接近于基于IP的虚拟主机概念。但如果要全面理解虚拟主机,那么它实际上是指在一个物理主机上通过软件手段(如Apache的虚拟主机配置)来隔离并运行多个独立的网站或服务,这更接近于选项D的概念,即一个主机提供多种网络服务,只不过这里的“多种网络服务”特指多个独立的Web服务。但根据题目的选项,B是最准确的答案。

4. 第20题

/dev/hdb表示: ( )
A. 第一个主驱动器
B. 第二个主驱动器
C . 第二个从驱动器
D. 第一个从驱动器

>

在Linux系统中,硬盘和其他块设备通常是通过/dev目录下的特定命名约定来识别的。在较旧的命名方案中,使用的是hd(代表IDE硬盘)或sd(代表SCSI或SATA硬盘)前缀,后面跟着一个字母来表示不同的硬盘或分区。

对于IDE硬盘,命名约定如下:

  • 主IDE控制器上的主硬盘:/dev/hda

  • 主IDE控制器上的从硬盘:/dev/hdb

  • 次IDE控制器上的主硬盘:/dev/hdc

  • 次IDE控制器上的从硬盘:/dev/hdd

因此,按照这个命名规则:

  • /dev/hdb 表示第二个主驱动器,但这其实是一个误导性的选项,因为在IDE配置中,没有“第二个主驱动器”。正确的解释应该是:

  • /dev/hdb 实际上表示的是主IDE控制器上的从硬盘。

所以,正确的答案是:C. 第二个从驱动器

然而,这个答案的前提是按照旧的IDE命名约定。在现代系统中,普遍使用的是基于SCSI/SATA的硬盘,它们通常以sdX的形式出现,例如 /dev/sda, /dev/sdb 等,而IDE的命名约定逐渐被淘汰。

5. 第21题

检查是否安装了Apache软件包的指令是:( )
A. rpm -x apache
B. rpm -r apache
C. rpm -t apache
D. rpm -q apache

检查是否安装了Apache软件包的指令是:(D. rpm -q apache)。

6. 第22题

将Linux配置成路由器时,对( )文件进行了编辑?
A./etc/services
B./etc/inittab
C./etc/sysconfig/network
D./etc/inetd.conf

将Linux配置成路由器时,对(C. /etc/sysconfig/network)文件进行了编辑。

  • 分析:

>

当将Linux系统配置为路由器时,需要修改与网络相关的配置文件,以启用IP转发等功能。在传统的Linux系统中,为了配置路由器功能,通常需要编辑以下文件之一:

  • /proc/sys/net/ipv4/ip_forward :这是一个动态文件,用于启用或禁用IP转发。将其值设置为1可以开启IP转发,从而使系统能够作为路由器工作。
  • /etc/sysctl.conf :这是一个包含各种内核参数的配置文件,其中包括 net.ipv4.ip_forward 。在这里设置 net.ipv4.ip_forward=1 也可以持久化地开启IP转发。
  • /etc/sysconfig/network-scripts/ifcfg-* :这些文件用于配置网络接口,当作为路由器时,可能需要配置多个网络接口的IP地址和子网掩码。
  • /etc/network/interfaces :在Debian和Ubuntu等系统中,网络接口的配置保存在这个文件中。

>

然而,在提供的选项中,没有直接列出上述文件。但是,如果要在这些选项中选择一个与网络配置最相关的文件,那么:C. /etc/sysconfig/network 。这个文件在某些Linux发行版(如Red Hat、CentOS和Fedora)中用于存储全局网络配置信息,尽管它通常不直接用于启用IP转发,但它可能包含影响网络配置的其他重要设置。不过,直接编辑这个文件来配置Linux作为路由器并不常见,一般还是通过编辑 /etc/sysctl.conf 或直接写入 /proc/sys/net/ipv4/ip_forward 来实现。请注意,现代Linux系统可能使用 systemd-networkdNetworkManager 等工具来管理网络配置,这些工具可能需要编辑不同的配置文件。但就本题而言,选项中最接近的是C。

7. 第23题

用( )命令可以查看myfile.tar中包含的文件。
A. tar xvf myfile.tar
B. Gzip –l myfile.tar
C. tar tvf myfile.tar
D. Gzip –d myfile.tar

用(C. tar tvf myfile.tar )命令可以查看myfile.tar中包含的文件。

8. 第24题

移动光标所在位置到下个词的第一个字母的键是:
A. b
B. s
C. w
D. a

>

移动光标所在位置到下个词的第一个字母的键是:(C. w )。

  • 按下w键时,光标会跳到当前光标后的下一个单词的首字母处。这里所说的“单词”是由空白字符分隔的字符序列。

  • b键则是用来将光标移动到前一个单词的起始位置。

  • s和a键在Vi/Vim中也有特定的功能,但它们并不是用于移动到下一个单词的起始位置的。s键通常用于删除当前字符并进入插入模式,而a键用于进入插入模式,但位置在当前光标之后。

9. 第25题

在进行系统分区时,我们至少要分出__分区:
A. /
B. /usr
C. /admini
D. /proc

>

在进行系统分区时,我们至少要分出(A. / )分区。

10. 第26题

关于Linux内核版本说法正确的有:
A. 遵循主版本号.次版本号.修正次数的约定
B. 1.2.2.0表示稳定的发行版
C. 2.2.6表示对内核2.2的第6次修正
D. 1.3表示开发版本
E.以上都对

  • 分析:

关于Linux内核版本的说明,大部分是正确的,但有些细节需要注意:

A. Linux内核版本确实遵循“主版本号.次版本号.修正次数”的约定。这是正确的。

B. 陈述中的“1.2.2.0表示稳定的发行版”并不符合Linux内核版本命名规范,因为通常内核版本号只有三个数字,如“1.2.13”。如果有第四个数字,那可能是某个特定发行版或定制版本的额外标识,但这不是官方内核版本的惯例。

C. “2.2.6表示对内核2.2的第6次修正”是正确的。在旧的命名体系中,2.2.6意味着这是2.2系列的第六次修正或更新。

D. “1.3表示开发版本”也是正确的。在旧的命名规则中,奇数的次版本号(如1.3)通常表示这是开发或测试版本,而偶数的次版本号(如2.2)表示稳定版本。

E. 如果只看A、C和D,则它们是正确的,但是由于B选项中的描述与常规的Linux内核版本命名规则不符,因此不能简单地说“以上都对”。

>

总结起来,A、C和D是对Linux内核版本命名规则的正确描述。然而,选项B中的描述并不符合标准的命名规则,所以正确的答案应该是包含了A、C和D的组合,但并非E(全部正确),因为B选项中的描述不准确。在实际考试或评估中,如果必须选择一个选项,那么最接近正确的将是D,但前提是理解B选项的描述并不符合常规的Linux内核版本命名标准。然而,如果可以选择多个正确答案,那么A、C、D应被选中。

三、简答题

3.1 简述DNS进行域名解析的过程

>

当一个客户端请求解析一个域名时,它首先会查询本地的DNS缓存。如果缓存中没有记录,请求会被发送给本地DNS服务器。本地DNS服务器也会先检查其缓存,如果找到,则返回结果;如果没有找到,它会向根DNS服务器发起请求。根DNS服务器会告诉本地DNS服务器应该询问哪个顶级域(TLD)DNS服务器。这个过程会递归进行,直到找到负责特定域名的权威DNS服务器。权威DNS服务器会返回域名对应的IP地址,然后这一信息被传递回客户端,同时可能被沿途的DNS服务器缓存。

3.2 简述一下DHCP的工作原理

DHCP(动态主机配置协议)允许自动分配网络参数给客户端设备。当一个客户端连接到网络时,它会广播一个DHCP发现消息。DHCP服务器收到请求后,会从可用的地址池中选择一个IP地址分配给客户端,并附带其他必要的网络配置信息,如子网掩码、默认网关和DNS服务器地址。客户端接收到DHCP服务器提供的信息后,会确认接受这个配置。DHCP服务器确认后,客户端就可以使用分配的IP地址和其他配置信息访问网络资源。

3.3 简述一下FTP的作用

>

FTP(文件传输协议)是一种用于在网络上进行文件传输的标准协议。它允许用户在不同的计算机之间上传和下载文件。FTP使用客户-服务器模型,其中FTP客户端程序连接到FTP服务器,以请求文件的传输。FTP支持基本的文件操作,如上传、下载、重命名、删除文件,以及在目录间导航。FTP通常用于网站更新、文件备份和在大型组织内部共享文件。

3.4 Dns、DHCP、Samba、Apache、Ftp的端口号分别是多少?

  • DNS:通常使用端口53(UDP和TCP)。

  • DHCP:客户端使用端口68,服务器使用端口67(UDP)。

  • Samba:使用端口139和445(TCP)。

  • Apache:默认使用端口80(HTTP)或443(HTTPS)。

  • FTP:控制连接使用端口21(TCP),数据连接默认使用端口20(TCP)或被动模式下动态端口。