linux期末考试题

一、选择题(共20分,每小题2分)

1.以下哪个环境变量表示shell搜索外部命令或程序路径(C

A.ENV B.PWD C.PATH D.ROOT

解答:

ENV用于显示当前环境变量,PWD显示当前工作目录,ROOT表示超级用户

2.为了达到使文件的属主和同组用户有读(r)、写(w)和执行(x)的权限,而其他用户只能进行只读访问,在设置文件的许可值时,应当设为(D)

A、 747 B、744 C、775 D、774

解答:

1️⃣r (读):4 w (写):2 x (执行):1

因此,计算如下:

属主(Owner):读(4) + 写(2) + 执行(1) = 7

同组用户(Group):读(4) + 写(2) + 执行(1) = 7

其他用户(Others):读(4)

因此,权限应该设置为 774

3.若要使用进程名来结束进程,应使用(D)命令。

A、ps -d B、psfree C、profree D、kill

解答:

ps命令用于显示当前进程的状态,-d选项通常用于指定显示哪些进程(如仅显示当前终端的进程),但它本身并不用于终止进程。

psfree:?????没找到这个命令

profree:??????没找到这个命令

4.默认情况下管理员创建了一个用户,就会在(B)目录下创建一个用户主目录。

A./usr B./home C./root D./etc

解答:

/usr 目录通常用于存储系统软件和程序资源,例如可执行文件、库文件和文档等。

/home 是Linux系统中用户主目录的标准存储位置。默认情况下,当管理员创建一个新用户时,系统会在 /home 目录下为该用户创建一个以用户名命名的子目录作为其主目录。

/root 是系统管理员(root用户)的专属主目录。

/etc 目录用于存储系统的配置文件,例如用户账户信息、网络配置、服务配置等。

5.Linux启动的第一个进程init启动的第一个脚本程序是(D

A、/etc/fstab B、/etc/rc.d/init.d C、/etc/inittab D、/etc/rc.d/rc.sysinit

解答:

init 是Linux系统启动后的第一个进程(PID为1),负责初始化系统环境并启动其他进程。

init 进程的启动流程

内核启动后,会启动 init 进程。

init 进程首先会执行全局系统初始化脚本,通常是 /etc/rc.d/rc.sysinit(在某些系统中可能是 /etc/rc.sysinit)。这个脚本负责挂载文件系统、设置主机名、初始化网络、加载内核模块等基础任务。

/etc/fstab 是一个配置文件,不是脚本程序,用于定义系统启动时自动挂载的文件系统。

/etc/rc.d/init.d 是一个目录,存放所有服务的启停脚本。它本身不是脚本程序,而是包含多个脚本的目录。.d 结尾表示目录,通常包含一组脚本或配置文件

/etc/inittab 是一个配置文件,用于定义 init 进程的行为(如默认运行级别、启动脚本等)。它不是脚本程序,而是 init 的配置文件。

6.下列(B)指令可以用来显示目前主机的路由表(routing table)。

A、netstat -rn B、route C、print route D、show ip route

解答:

路由表用于定义数据包从本地主机到其他网络的转发路径。

netstat 是一个网络统计工具,用于显示网络连接、路由表、接口统计等信息。-r 选项表示显示路由表,-n 选项表示以数字形式显示地址和端口(不解析主机名和服务名)。

route 是一个用于显示和操作IP路由表的命令。直接输入 route(不带任何选项)会显示当前主机的路由表。

print route 不是Linux中的标准命令。在Windows系统中,route print 可以显示路由表,但在Linux中无效。

show ip route 是Cisco IOS等网络设备中的命令,用于显示IP路由表。在Linux中无效。

7.Linux系统目录中/boot存放的内容是(A

A、存放系统的内核文件和引导装载程序文件

B、存放所有重要的库文件

C、应用程序存放目录

D、存放系统的大部分配置文件和子目录

解答:

/boot 目录主要用于存放与系统启动相关的文件。这些文件包括内核映像(kernel image)、初始RAM磁盘(initramfs或initrd)以及引导加载程序(如GRUB)的配置文件和模块。

重要的库文件通常存放在 /lib/usr/lib 目录中。

应用程序通常存放在 /usr/bin/usr/local/bin/opt 等目录中。

系统的大部分配置文件存放在 /etc 目录中。

8.Linux支持的文件系统有(ABCD)

A、Swap B、NFS C、ISO9660 D、proc

解答:

答案是BC

Swap(交换空间)是Linux中用于虚拟内存的一种机制。虽然Swap不是传统意义上的文件系统(如ext4、XFS等),但Linux确实支持Swap分区或Swap文件,并将其视为一种特殊的“文件系统”类型。

NFS(Network File System)是一种网络文件系统协议,允许不同主机之间通过网络共享文件。Linux内核支持NFS客户端和服务器端,因此NFS是Linux支持的一种文件系统类型。通过挂载NFS共享目录,可以在本地访问远程文件系统。

ISO9660是一种用于光盘(如CD-ROM、DVD)的文件系统标准。Linux支持挂载ISO9660格式的光盘镜像(如 .iso 文件),因此ISO9660是Linux支持的一种文件系统类型。

/proc 是Linux中的一个虚拟文件系统(pseudo-filesystem),用于提供内核和进程信息的接口。它不是存储在磁盘上的传统文件系统,而是由内核动态生成的。尽管 /proc 不是存储文件系统的类型(如ext4、XFS等),但它是一种特殊的文件系统类型,Linux内核明确支持它。在Linux中,/proc 文件系统总是挂载在 /proc 目录下,用于访问系统信息。

9.下列哪些命令可以用来显示文件内容(ABCD)

A、cat B、more C、tail D、head

解答:

cat用于显示文件内容,more用于分页显示文件内容,tail用于显示文件末尾内容,head用于显示文件开头内容

10.在/etc/password文件中包含以下哪些内容(ABCD)

A、用户ID B、用户密码 C、用户名称 D、用户使用的She11

解答:

cat /etc/passwd输出:

[root@node2 etc]# cat passwd

root0:0:root:/root:/bin/bash

bin1:1:bin:/bin:/sbin/nologin

daemon2:2:daemon:/sbin:/sbin/nologin

/etc/passwd 中存储的是密码的占位符(通常是 x),不是实际的加密密码。

二、简答题(共50分,每小题10分)

1.Linux系统的Shell作为操作系统的外壳,其主要的功能是什么?

答:Linux系统的Shell作为操作系统的外壳,主要功能是提供用户与内核交互的接口,负责解释并执行用户输入的命令,支持交互式命令行操作、脚本编程以实现自动化任务,提供输入/输出重定向和管道功能以灵活处理数据流,从而高效地管理系统资源和执行复杂操作。

2.在Shell的变量应用中,三种引号的作用有什么区别?

答:在双引号中,除了$,",和\以外所有的字符都解释成字符本身。

在单引号中所有的字符包括特殊字符$,“,和\都将解释成字符本身而成为普通字符;

在反引号中的字符串将解释成shell命令来执行。

3.执行命令ls -l时,显示结果如下:

-rw-r--r-- 1 john 2017 jul 16 11:58 data

(1)用户john 对该文件具有什么权限?

答:用户 john 对该文件具有读(r)和写(w)权限(-rw-),但没有执行(x)权限。

(2)用户tom和root都不是john 组的成员,他们对该文件具有什么样的访问权限?

答:用户 tom对该文件只有读(r)权限(r--)。

用户 root 作为超级用户,默认拥有对所有文件的完全访问权限(读、写、执行),不受文件权限限制。

(3)如何使任何用户都可以读、写、执行该文件?

答:使用 chmod 命令将文件权限设置为 777,输入命令:chmod 777 data

(4)如何把该文件属主改为用户tom?

chown tom data

如果需要同时更改属组,可以添加 :group,例如 chown tom:users data

4.某系统管理员每天需完成以下的重复工作,请编制一个任务调度计划。

考点:

cron任务调度系统中,时间定义基本格式

* * * * * <command-to-execute>
| | | | |
| | | | +----- 星期几 (0 - 7) (0和7都表示周日)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59) #特殊字符的使用
星号(*)
表示“每一”或“任意”。
例如:*在分钟字段表示“每分钟”,在小时字段表示“每小时”。 逗号(,)
用于指定多个不连续的时间点。
例如:0 9,17 * * *表示每天9:00和17:00执行。 横线(-)
用于指定一个时间范围。
例如:0 9-17 * * *表示每天9:00到17:00之间的每小时(9:00, 10:00, ..., 17:00)。 斜杠(/)
用于指定时间间隔(步长)。
例如:*/2 * * * *表示每2分钟执行一次,0 */2 * * *表示每2小时执行一次。 #日期和星期几的冲突处理:在标准Linux cron中,日期和星期几字段是“或”关系。如果同时指定了日期和星期几,任务会在满足任一条件时执行。

重定向操作符

> 	用于将命令的输出重定向到文件中。
>> 将命令的输出追加到文件的末尾,而不是覆盖文件内容。
2> 将命令的错误输出重定向到文件。
&> 将命令的标准输出和错误输出同时重定向到文件。

命令行工具

ls
功能:列出目录内容。
常用选项:
-l:详细列表(权限、所有者、大小、修改时间等)。
-a:显示所有文件(包括隐藏文件)。
-h:可读的文件大小(如KB、MB)。 cd
功能:切换当前工作目录。 pwd
功能:显示当前工作目录的完整路径。 mkdir
功能:创建新目录。
常用选项:
-p:递归创建父目录(如果需要)。 rm
功能:删除文件或目录。
常用选项:
-r:递归删除目录及其内容。
-f:强制删除(不提示确认)。 cp
功能:复制文件或目录。
常用选项:
-r:递归复制目录。 mv
功能:移动或重命名文件或目录。 locate
功能:快速查找文件(基于预建的数据库)。
注意:需要先运行updatedb更新数据库。 cat
功能:查看文件内容或连接多个文件。 less 和 more
功能:分页查看文件内容(less比more更强大,支持前后翻页)。 head 和 tail
功能:查看文件的开头或结尾部分。
常用选项:
-n:指定行数。 grep
功能:在文件或输出中搜索文本模式。
常用选项:
-i:忽略大小写。
-r:递归搜索目录。 sed
功能:流编辑器,用于文本替换、删除、插入等。
示例:
sed 's/old/new/g' file.txt # 将file.txt中的"old"替换为"new" awk
功能:强大的文本处理工具,常用于提取和格式化数据。
示例:
bash
awk '{print $1, $3}' file.txt # 打印每行的第1和第3列 vim 和 nano
功能:文本编辑器。
vim:功能强大但学习曲线陡峭。
nano:简单易用,适合初学者。 ps
功能:查看当前运行的进程。
常用选项:
aux:显示所有用户的所有进程。 top 和 htop
功能:实时监控系统进程和资源使用情况。
htop:是top的增强版,界面更友好。 kill 和 pkill
功能:终止进程。
kill:通过进程ID(PID)终止进程。
pkill:通过进程名终止进程。 bg 和 fg
功能:控制后台和前台进程。
bg:将暂停的作业放到后台运行。
fg:将后台作业带到前台。 jobs
功能:列出当前shell会话中的作业。 uname
功能:显示系统信息(如内核名称、版本等)。
常用选项:
-a:显示所有信息。 df
功能:显示磁盘空间使用情况。
常用选项:
-h:人类可读的格式。 du
功能:显示目录或文件的磁盘使用情况。
常用选项:
-h:人类可读的格式。
-s:仅显示总计。
示例:
du -sh /var/log # 显示/var/log目录的总大小 free
功能:显示内存和交换空间使用情况。
常用选项:
-h:人类可读的格式。 uptime
功能:显示系统运行时间和当前负载。 ifconfig 和 ip
功能:查看和配置网络接口。
ifconfig:较旧的工具(部分系统已弃用)。
ip:现代替代工具。 ping
功能:测试网络连通性。 netstat 和 ss
功能:查看网络连接、路由表等信息。
netstat:较旧的工具。
ss:现代替代工具。 nslookup 和 dig
功能:查询DNS信息。
dig:功能更强大。
示例:
dig example.com # 查询example.com的DNS记录 wget 和 curl
功能:从网络下载文件。
wget:适合下载文件。
curl:适合发送HTTP请求和调试API。
示例:
wget https://example.com/file.zip # 下载文件
curl -I https://example.com # 查看HTTP头信息 sudo
功能:以其他用户(通常是root)身份执行命令。
示例:
bash
sudo apt update # 以root权限更新软件包列表 su
功能:切换用户身份。
示例:
bash
su - username # 切换到其他用户 passwd
功能:修改用户密码。
示例:
passwd # 修改当前用户的密码 chmod
功能:修改文件或目录的权限。
常用选项:
755:所有者可读、写、执行,其他用户可读和执行。 chown
功能:修改文件或目录的所有者。
示例:
chown user:group file.txt # 修改file.txt的所有者和组 tar
功能:打包和解包文件(通常与压缩工具结合使用)。
常用选项:
-c:创建归档文件。
-x:解压归档文件。
-z:使用gzip压缩/解压。
-j:使用bzip2压缩/解压。
-v:显示详细输出。
示例:
tar -czvf archive.tar.gz /path/to/dir # 创建gzip压缩的tar包
tar -xzvf archive.tar.gz # 解压gzip压缩的tar包 gzip 和 gunzip
功能:压缩和解压文件(.gz格式)。
示例:
gzip file.txt # 压缩文件
gunzip file.txt.gz # 解压文件 zip 和 unzip
功能:压缩和解压文件(.zip格式)。
示例:
zip archive.zip file1.txt file2.txt # 创建zip文件
unzip archive.zip # 解压zip文件 ssh
功能:远程登录到其他Linux/Unix服务器。
示例:
ssh username@hostname # 远程登录 scp
功能:在本地和远程系统之间安全复制文件。
示例:
scp file.txt username@hostname:/remote/path/ # 上传文件
scp username@hostname:/remote/path/file.txt . # 下载文件 rsync
功能:高效同步文件和目录(支持增量同步)。
示例:
rsync -avz /local/path/ username@hostname:/remote/path/ # 同步目录 crontab
功能:管理定时任务(cron作业)。
示例:
bash
crontab -e # 编辑当前用户的cron作业 history
功能:查看命令行历史记录。

(1)每天早上9点和下午5点将在线人数保存到num文件中;

0 9,17 * * * who >> /opt/test/num

注意:这里的>>是追加内容到文件末尾,也可以使用>,但会覆盖原来文件的内容。

(2)周一至周五每2小时进行一次备份pub文件数据到data文件中;

0 */2 * * 1-5 cp /opt/test/pub /opt/test/data

提示: */2的意思是每两小时。

cp:复制命令。

cp -r 源文件路径 目标文件路径

  • -r-R:递归复制目录及其内容(用于复制目录时)。
  • -i:交互式复制,覆盖前提示用户确认。
  • -v:显示详细输出,显示复制的文件名。
  • -u:仅当源文件比目标文件新,或目标文件不存在时才复制。

(3)每周五下午6:00删除临时文件(/temp目录中的所有文件);

0 18 * * 5 rm -rf /temp/*

注意:rm -rf是递归强制删除文件和目录。

/temp/*表示删除temp目录下的所有文件和子目录。

(4)每月1日8:30发消息给所有用户,提醒准备提交上月工作总结。

30 8 1 * * wall "请准备提交上月工作总结!"

注意:wall 是一个命令行工具,用于向所有登录到系统的用户发送消息。wall 是 "write all" 的缩写

5.读下列程序my.sh的功能,以及读入命令行参数后的执行结果。

#!/bin/bash

echo 'key in a number (1-10):'		#显示提示信息,要求用户输入一个数字(1-10)
read a #将用户输入的值存储到变量 a 中 if [ "$a" -lt 1 -o "$a" -gt 10 ] #检查输入的数字是否小于 1 或 大于 10
then
echo 'Error Number.' #如果满足条件,输出 Error Number. 并退出脚本(exit)
exit
elif [ ! "$a" -lt 5 ] #检查输入的数字是否 不小于 5(即大于或等于 5)
then
echo "It's not less 5." #如果满足条件,输出 It's not less 5.
else
echo "It's less 5." #如果输入的数字在 1-4 之间,输出 It's less 5.
fi

运行#bash my.sh 6

考点:

关系运算符

运算符 说明 示例
-eq 等于 if [ $a -eq $b ]
-ne 不等于 if [ $a -ne $b ]
-gt 大于 if [ $a -gt $b ]
-lt 小于 if [ $a -lt $b ]
-ge 大于或等于 if [ $a -ge $b ]
-le 小于或等于 if [ $a -le $b ]

解:该程序用于读取用户输入的数字(1-10),并根据输入的数字输出不同的提示信息。

echo是一个基础的 命令行工具,用于将文本或变量的值输出到标准输出。

这里的-o表示或,是旧式写法,-a表示与。

输入 6 的输出结果:It's not less 5

三、综合编程题(共30分,每小题15分)

1.编写Shell脚本test.sh,第一个位置参数为指定的目录,其后指定的位置参数为第一个位置参数指定目录下的文件,显示这些文件的内容。

解:批量查看指定目录下文件内容。

#!/bin/bash

# 检查是否提供了目录参数
#检查命令行参数数量,如果未提供任何参数($# -lt 1),则显示用法提示并退出
#$0 表示脚本自身名称,<directory> 是必选参数,后续可跟多个可选文件名 if [ $# -lt 1 ]; then
echo "Usage: $0 <directory> [file1] [file2] ..."
exit 1
fi # 获取目录路径
#提取第一个参数作为目标目录路径 directory="$1" # 检查目录是否存在
#使用 -d 测试操作符验证目录是否存在
#对路径进行双引号包裹处理,可正确处理含空格的目录名 if [ ! -d "$directory" ]; then
echo "Error: Directory '$directory' does not exist."
exit 1
fi # 遍历后续参数(文件)
#shift 命令将参数列表左移一位,使 $1 变为第一个文件名
#遍历剩余参数("$@" 保留带空格的文件名)
#使用 -f 测试操作符检查:文件是否存在 是否为普通文件(排除目录/设备文件等特殊类型)
#对有效文件:打印分隔线(包含文件名) 使用 cat 显示文件内容 打印结束分隔线
#对无效文件:输出警告信息(包含具体路径) shift # 移除第一个参数(目录),剩下的参数是文件
for file in "$@"; do
# 检查文件是否存在且是普通文件
if [ -f "$directory/$file" ]; then
echo "===== Contents of $file ====="
cat "$directory/$file"
echo "============================="
else
echo "Warning: '$directory/$file' is not a valid file or does not exist."
fi
done

2.编写程序,实现多进程编程,主进程每隔2秒获取当前系统时间写入某文件,子进程打开该文件,读取文件的内容显示在屏幕上。

解:下面是time_logger.sh脚本。

#!/bin/bash

# 定义文件路径
output_file="time_log.txt" # 清空或创建文件
> "$output_file" # 主进程:每隔 2 秒写入当前时间到文件
#( ... ) &:启动一个后台子 Shell 进程,括号内的代码会在子 Shell 中运行。
#while true; do ... done:无限循环,持续执行括号内的代码。
#current_time=$(date "+%Y-%m-%d %H:%M:%S"):调用 date 命令获取当前时间,格式为 年-月-日 时:分:秒,并将结果赋值给变量 current_time。 (
while true; do
current_time=$(date "+%Y-%m-%d %H:%M:%S")
#将当前时间追加写入 time_log.txt 文件。
echo "Main process writes: $current_time" >> "$output_file"
#暂停 2 秒,然后继续循环。
sleep 2
done
) & # 获取主进程的 PID(用于后续管理)
#$!:获取上一个后台进程的 PID(即主进程的 PID)。
#main_pid=$!:将主进程的 PID 赋值给变量 main_pid,以便后续管理(如终止进程)。 main_pid=$! # 子进程:读取文件内容并显示到屏幕
(
while true; do
if [ -f "$output_file" ]; then
echo "Child process reads:"
cat "$output_file"
echo "---------------------"
fi
sleep 1 # 子进程读取频率可以比主进程写入频率高
done
) & # 获取子进程的 PID(用于后续管理)
#获取上一个后台进程的 PID(即子进程的 PID)。
#child_pid=$!:将子进程的 PID 赋值给变量 child_pid,以便后续管理(如终止进程)。 child_pid=$! # 捕获退出信号(如 Ctrl+C),清理后台进程
#trap "..." SIGINT SIGTERM:捕获 SIGINT(Ctrl+C 信号)和 SIGTERM(终止信号),执行引号内的命令。
#kill $main_pid $child_pid:终止主进程和子进程。 trap "kill $main_pid $child_pid; exit" SIGINT SIGTERM # 保持脚本运行
#wait:等待所有后台进程完成。由于主进程和子进程是无限循环的,wait 会一直阻塞,直到脚本收到终止信号(如 Ctrl+C)
wait

linux期末考试题(1)的更多相关文章

  1. C++期末考试题库

    哈尔滨商业大学计算机专业C++期末考试题库 下载:题库 示例: 一.单选题:1.能作为 C ++程序的基本单位是( C )A .字符 B .语句 C .函数 D .源程序文件2.程序中主函数的名字为( ...

  2. 中期linux课程考试题

    [口头表达] 1)请描述你了解的磁盘分区的相关知识2)什么是rsync,你有什么生产环境的应用?3)在生产环境中,公司的IDC机房即将超过254台机器,请问你有什么解决方案来规划扩展IDC机房的内网网 ...

  3. (转)linux实战考试题:批量创建用户和密码-看看你会么?

    老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1:[roo ...

  4. Linux期末总结

    Linux内核学习总结 1.计算机是如何工作的? 存储程序计算机工作模型 X86汇编基础 汇编一个简单的C程序分析其汇编指令执行过程 2.操作系统是如何工作的? 三个法宝——存储程序计算机.函数调用堆 ...

  5. Linux期末复习题

    版权声明: https://blog.csdn.net/u014483914/article/details/36622451 1.More和less命令的差别         More命令通经常使用 ...

  6. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  7. 基于Web在线考试系统的设计与实现

    这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973   ...

  8. AC日记——单词替换 1.7 21

    21:单词替换 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区 ...

  9. AC日记——删除单词后缀 openjudge 1.7 20

    20:删除单词后缀 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个单词,如果该单词以er.ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否 ...

  10. 【Beta阶段】展示博客

    Beta阶段展示博客 blog software buaa 1.团队成员简介 Email:qianlxc@126.com Free time:8:00 7:00 a.m ~ 11:00 12:00p. ...

随机推荐

  1. 正权图的 Dijkstra 最短路算法

    最短路径问题是图论中最经典且重要的应用问题之一.它的目标是找到一个图中从起点到终点的最短路径,即在所有可能的路径中,选择一条边权和最小的路径.该问题广泛存在于多个实际场景中,比如交通运输.通信网络.导 ...

  2. 淘宝H5 sign加密算法

    淘宝H5 sign加密算法   淘宝H5 sign加密算法 淘宝对于h5的访问采用了和客户端不同的方式,由于在h5的js代码中保存appsercret具有较高的风险,mtop采用了随机分配令牌的方式, ...

  3. 推荐一款最新开源,基于AI人工智能UI自动化测试工具!支持自然语言编写脚本!

    随着互联网技术的飞速发展,Web应用越来越普及,前端页面也越来越复杂.为了确保产品质量,UI自动化测试成为了开发过程中不可或缺的一环.然而,传统的UI自动化测试工具往往存在学习成本高.维护困难等问题. ...

  4. C#中对面向standard2.0、standard2.1的项目进行单元测试

    单元测试项目的目标框架 (TargetFramework或TargetFrameworks) 不能是standard2.0或standard2.1. 这是因为.NET Standard只是一个规范,它 ...

  5. python实现批量自动访问站点URL并获取内容,自动模拟打开电脑端及移动端URL访问站点,打开URL页面获取页面内容

    问题描述:假设目前有多个网站URL,需要检查各站点keyword,description是否正常设置,如果人工逐个打开URL访问比较耗时,故采用python模拟电脑端和移动端自动打开网站URL访问,并 ...

  6. C# 之事件及event关键字存在的意义

    总结:event关键字的作用,用于不公开发布器中委托对象实例,对事件委托对象进行保护,禁止外部调用. 1.C#事件举例说明 1 //事件及event关键字存在的意义 2 class Program 3 ...

  7. 三分钟构建高性能WebSocket服务 | 超优雅的Springboot整合Netty方案

    前言 每当使用SpringBoot进行Weboscket开发时,最容易想到的就是spring-boot-starter-websocket(或spring-websocket).它可以让我们使用注解, ...

  8. Docker | 如何在 Linux 服务器使用 docker

    目录 00 需求 01 安装 docker 02 准备工作 03 配置 Dockerfile 和 docker composer 04 启动 docker 05 测试能否 ssh 连接这个 docke ...

  9. K8S组件详解

    K8S的控制平面.和工作节点是集群正常运行的核心,通过这两部分的协同工作,K8S才能够实现高效的容器编排.管理.和自动化运维. K8S Kubernetes(简称K8s),是一个开源的容器编排平台,用 ...

  10. Docker镜像介绍

    一.Docker镜像介绍 镜像是Docker的三大核心概念之一. Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hu ...