SCAU期末笔记 - Linux系统应用与开发教程样卷解析(2024版)

我真的不理解奥,为什么会有给样卷不自带解析的,对答案都没得对,故整理一篇

样卷1

一、选择题

1、为了遍历shell脚本调用时传入的参数,需要在shell脚本中使用_____。

  • A.$#表示参数的个数
  • B.S@表示所有参数
  • C.$0表示脚本名
  • D.$1表示第一个参数

2、安装了带图形化界面的RedHatLinux系统,默认的运行级别为_____。

带图形化界面的RedHat Linux系统默认运行级别为5,选C

3、为了回到个人的home目录,可以执行_____。

cd ~可以回到个人的home目录,选C

4、在 bash 中, 在一条命令后加入 “1>&2” 意味着_____。

表示标准输出重定向到错误输出,选D

5、Linux 启动时第一个启动的进程为init进程,它的进程号PID为_____。

init进程的PID为1,选B

6、假设执行cat/etc/passwd命令后,发现以下记录信息:games:x:12:100:games:/usr/games:/sbin/nologin,下列说法错误的是_____。

/etc/passwd文件中,记录格式为用户名:密码:用户ID:组ID:用户描述:家目录:登录Shell,所以用户ID为12,组ID为100,home目录是/usr/games,不能登录shell,选A

7、某系统已存在一块名为/dev/sda的SCSI硬盘,现在再插入一个U盘, 该U盘的设备名可能为_____。

sda被占用,其他的数字从1开始数,所以可能是/dev/sdb1,选C

8、为了查看端口占用情况,可以用_____命令。

  • A.netstat命令用于显示网络连接、路由表、接口统计信息等,通过相关参数可以查看端口占用情况
  • B.ifconfig主要用于配置和现实网络接口信息,如IP地址、子网掩码、MAC地址等
  • C.ping命令用于测试网络连接,向目标主机发送ICMP数据包并等待响应
  • D.traceroute用于追踪数据包在网络中的传输路径,显示从源主机到目标主机所经过的路由器列表

9、下列说法正确的是_____。

  • A.开源软件不一定是免费的
  • B.GPL协议允许公司销售自由软件,但销售时必须遵循GPL协议的规定
  • C.F热额BSD是一个类Unix操作系统,不是Linux发行版本
  • D.正确

10、不能查看系统资源信息的命令是_____。

  • A.du命令用于查看磁盘使用空间,是查看系统资源信息(磁盘资源方面)的命令
  • B.free命令用于显示系统内存的使用情况,包括物理内存、交换空间等信息,是查看系统资源信息(内存资源方面)的命令
  • C.shfs这个命令在正常的Linux系统命令集中根本不存在
  • D.top命令提供了实时动态地查看系统资源使用情况的功能

11、关于前台进程和后台进程,说法正确的是_____。

  • A.后台进程才需要加&,前台直接执行即可
  • B.正确
  • C.后台进程在后台运行,不影响前台继续执行其他命令,不需要等待后台进程执行完毕后执行下一个命令
  • D.Ctrl+C用于终止前台进程,后台进程需要用kill命令加上进程ID等方式

12、下列命令中,不能实现文件保存的是_____。

  • A.:wq表示保存文件并退出
  • B.:w表示保存文件但不退出
  • C.:x用法类似:wq,只在某些情况下略有不同
  • D.:q!表示不保存文件强制退出

13、下列命令中,没有导致vi工作模式切换的是_____。

  • A.:wq会从编辑模式切换到命令模式然后退出
  • B.o指在当前行下方打开新行并进入插入模式
  • C.gg是跳转到文件开头,一直处于命令模式没有切换
  • D.?wq是在vi中进行反向查找wq,会从命令模式切换到查找模式

14、下列命令中,不能使vi进入插入模式的是_____。

  • A.a用于在光标后进入插入模式
  • B.i用于在光标前进入插入模式
  • C.o用于在当前行下方插入新行并进入插入模式
  • D.r用于替换当前字符,不进入插入模式

15、当字符串用单引号括起来时,shell将_____。

不解释特殊字符,选D

16、以下关于shell程序的说法正确的是_____。

  • A.不同的shell解释器有不同的语法和特性
  • B.shell程序执行效率相对较低,不适合用于时间紧迫型或任务器忙碌型任务
  • C.正确
  • D.如果程序文件本身有可执行权限就可以直接执行

17、将光盘/dev/hdc 卸载的命令是_____。

umount/dev/hdc,选A

18、在利用gdb进行调试过程中,如果需要单步执行,且不进入函数内部,应该使用_____。

  • A.next单步执行,不进入函数内部
  • B.step单步执行,进入函数内部
  • C.run运行程序
  • D.go继续执行程序

19、下面关于less和more的说法错误的是_____。

  • A.lessmore都具备分页查看文件内容的功能,用户可以逐页浏览文件。
  • B.通常情况下,less在处理大容量文档时速度更快,并且具有更多功能,如支持上下键滚动浏览等,而more相对简单。
  • C.less允许用户使用上下方向键在文件中上下浏览,方便查看文件内容。
  • D.more在查看文件时会将整个文档读入内存,这在处理大文件时可能会占用较多内存资源。

20、系统默认的_____用户对整个系统拥有完全的控制权。

  • A.administrator是Windows里面的,Linux里面没有这个
  • B.guest顾名思义肯定不是
  • C.root是Linux默认的超级用户,具有最高权限
  • D.supervistor这个默认用户不存在

二、简答题

1、解释软链接、硬链接以及复制三者之间的联系与区别。

  • 联系:都跟文件操作相关
  • 区别:
    • 软链接就是快捷方式
    • 硬链接是对内存的指针,只有把所有的硬链接删除才算是删除这个文件
    • 复制就是内存复制了一份,两个东西是独立的

2、画出VFS的结构图,并说明VFS的功能与作用。

转自知乎@Linux内核库

  • 功能:提供统一的文件和文件系统操作系统,隐藏底层文件系统的差异
  • 作用:隔离应用程序与底层文件系统,方便应用程序的兼容

3、以图解方式解释xinetd工作模式,并说明选择该工作模式的原则。

原则:系统中有多个不常用的网络服务或是安全性要求较高的话就用xinetd

三、编程题

1、编写一个shell程序可以完成以下执行过程。

首先是熟悉的多case,直到读入q结束,不然就是循环读数字,最后返回他们的和

#!/bin/bashwhile true
doecho "Input a list of number:"read numbersif [ "$numbers" = "q" ]; thenbreakfisum=0for num in $numbersdosum=$(($sum + $num))doneecho "the result is $sum"
done

2、编写一段shell程序实现以下功能。

熟悉的if-else开会

#!/bin/bashwhile true
doecho "Please input the student's score:"read scoreif [ $score -lt 0 ]; thenexit 0elif [ $score -le 60 ]; thenecho "Failed!"elif [ $score -le 69 ]; thenecho "Passed!"elif [ $score -le 79 ]; thenecho "Medium!"elif [ $score -le 89 ]; thenecho "Good!"elif [ $score -le 100 ]; thenecho "Excellent!"elseecho "Error score"fi
done

四、综合应用题

1、根据要求写出相应的操作命令,假设文件和目录已存在。

  • 1) ls -al /tmp
    • ls是列出目录内容的命令。
      • -a选项表示显示所有文件,包括隐藏文件(以.开头的文件)。
      • -l选项以长格式显示文件信息,包括文件权限、所有者、大小、修改时间等。
  • 2) chmod 754 /tmp/a.txt
    • chmod用于修改文件权限。
    • 754是权限的八进制表示,其中7表示所有者具有读(4)、写(2)、执行(1)权限,5表示同组用户具有读(4)和执行(1)权限,4表示其他用户具有读(4)权限。
  • 3) chown mail:games /tmp/b.txt
    • chown用于更改文件所有者和所属组。
    • mail是要设置的文件所有者,games是要设置的文件所属组。
  • 4) mv /tmp/c.txt /tmp/c.txt.bak
    • mv命令用于移动或重命名文件。
    • 这里将/tmp/c.txt重命名为/tmp/c.txt.bak
  • 5) date >> ~/d.txt
    • date命令用于显示当前系统时间。
    • >>是追加输出重定向符号,将当前时间追加到当前用户主目录下的d.txt文件中。
  • 6) who | wc -l >> ~/d.txt
    • who命令用于显示当前登录系统的用户信息。
    • wc -l用于统计行数,这里统计who命令输出的行数,即当前用户个数。
    • >>将统计结果追加到d.txt文件。
  • 7) ln -s ~/d.txt /tmp/e.txt
    • ln命令用于创建链接。
    • -s选项表示创建软链接。
    • ~/d.txt是源文件路径(当前用户主目录下的d.txt文件),/tmp/e.txt是软链接的目标路径。
  • 8) tar -cvf tmp.tar /tmp
    • tar是打包工具。
    • -c选项表示创建新的归档文件。
    • -v选项表示显示详细信息。
    • -f选项指定归档文件名,这里是tmp.tar,最后指定要打包的目录/tmp
  • 9) ps -ef | grep vsftpd
    • ps -ef命令用于查看系统中所有进程的详细信息。
    • grep vsftpd用于过滤出包含vsftpd的进程信息,即查看进程名为vsftpd的进程信息。
  • 10) find /usr -name "*.xml"
    • find命令用于在指定目录下查找文件。
    • /usr是要查找的起始目录。
    • -name "*.xml"表示查找文件名以.xml结尾的文件。

2、根据下面的依赖关系图,写出对应的makefile文件内容。

main: a.o main.o b.ogcc -o main a.o main.o b.oa.o: f1/a.c f1/a.hgcc -c f1/a.cmain.o: main.c f1/a.h f2/b.hgcc -c main.cb.o: f2/b.c f2/b.hgcc -c f2/b.c

3、系统需要定期做数据库的备份工作,请根据以上描述给出相应的crontab文件内容,不需要编写脚本内容。

# 每月第一天凌晨1点删除/oracle/tmp目录下的dmp文件
0 1 1 * * rm -f /oracle/tmp/*.dmp# 每月第一天凌晨2点30分以oracle用户执行导出数据脚本
30 2 1 * * su - oracle -c "/home/oracle/exportdata.sh"# 等待2小时(根据实际情况调整)后打包数据文件
50 4 1 * * tar -cvf /oracle/tmp/datafile.tar /oracle/tmp/*.dmp# 等待10分钟(根据实际情况调整)后移动压缩文件并修改权限
0 5 1 * * mv /oracle/tmp/datafile.tar /oracle/backup/ && chmod 400 /oracle/backup/datafile.tar

样卷2

一、选择题

1、通过指定gcc的_____选项,可以指定生成的可执行文件名。

-o,选A

2、文件类型标识d表示的是_____。

  • A.普通文件无前缀标识
  • B.设备文件分为字符设备文件(用c表示)和块设备文件(用b表示)
  • C.目录文件用d表示
  • D.链接文件分为软链接(用l表示)和硬链接(无特殊标识)

3、为了要找到服务名和端口号的映射关系,需要查看_____。

  • A./etc/hosts文件主要用于本地主机名解析,将主机名映射到IP地址,它不涉及服务名和端口号的映射关系。
  • B./etc/services文件包含了常见网络服务与它们所使用端口号的映射关系,通过查看该文件可以找到服务名对应的端口号。
  • C./etc/protocols文件定义了系统支持的网络协议,如TCP、UDP等协议的相关信息,而不是服务名和端口号的映射。
  • D./etc/sysconfig/network文件主要用于配置网络相关的基本设置,如主机名、网关等,与服务名和端口号映射无关。

4、下面关于less和more的说法错误的是_____。

通常情况下,less在处理大型文档时速度更快,并且提供了更多方便浏览的功能,如支持上下键滚动浏览等,而more相对简单且速度较慢,选B。

5、下列说法,不正确的是_____。

普通用户除了可以访问自己的 Home 目录外,还可以访问系统中一些公共目录(如/tmp等),并且在具有相应权限的情况下可以访问其他用户共享的资源等,选D。

6、假设执行cat/etc/passwd 命令后,发现以下记录信息: games:x:12:100:games:/usr/games:/sbin/nologin,下列说法错误的是_____。

用户名:密码:用户 ID: 组 ID: 用户描述:家目录:登录 Shell,故选A。

7、用于存放系统配置文件的目录是_____。

前面有原题,选C。

8、为了使系统启动时进入多用户的字符模式,需要把运行级别设定为_____。

选B。

9、不属于Linux系统中的文件类型的是_____。

Swap文件不属于常规文件类型,选D。

10、下列选项中,不属于Linux特点的是_____。

Linux 具有多用户、设备独立性、可移植性和多任务等特点,选A。

11、为了要获取上一个命令的执行结果,需要用到_____。

选B。

12、假设文件权限属性是654,那么通过ls–l命令查看时,应该看到_____。

  • 对于权限属性 654,其分解如下:
    • 所有者权限为 6,即 4(读)+2(写),对应rw-
    • 同组用户权限为 5,即 4(读)+1(执行),对应r-x
    • 其他用户权限为 4,即 4(读),对应r--

选D。

13、系统的监控命令是_____。

选B。

14、某企业需要安装最新的内核稳定版本,应该安装_____。

当前的最新稳定版本是6.12.5(截止2024/12/19),可以在[The Linux Kernel Archives]查到,题目太古早已无参考价值,真遇到的话选中间是偶数的版本号最新的就行。

15、下列命令中,不能实现文件保存的是_____。

选D。

16、用于存放系统外部设备的目录是_____。

选A。

17、为了回到个人的home目录,可以执行_____。

选C。

18、在利用gdb进行调试过程中,如果需要单步执行,且不进入函数内部,应 该使用_____。

选A。

19、sdb2 表示的含义是_____。

选D。

20、关于文件系统的安装和卸载,下面描述错误的是_____。

外部设备可 mount 到其他合适目录,选B。

21、需要把ls命令的输出追加到tmp文件中,需要这样书写_____。

ls >> tmp可将ls命令输出追加到tmp文件,选C。

22、关于前台进程和后台进程,说法正确的是_____。

选D。

23、要删除已经设定的crontab内容,可以使用的命令是_____。

crontab -r用于删除已设定的 crontab 内容,选B。

24、能够启动vsftpd服务的命令是_____。

启动vsftpd服务应使用/etc/rc.d/init.d/vsftpd start(题中无完全正确选项)。

25、使vi显示行号的命令是_____。

:set number使vi显示行号,选D。

26、下列shell 对变量foo的操作,正确的是_____。

  • A:为变量赋值的正确格式是foo=apple,不需要$符号,A 选项错误。
  • B:判断变量是否等于abc的正确格式是[ "$foo" = "abc" ],B 选项错误。
  • C:测试变量是否为空串的正确格式是[ -z "$foo" ]-f用于测试文件是否存在等,C 选项错误。
  • D:显示变量的值的正确格式是echo $foo,D 选项错误。

都是错的,题目太古早无参考价值

27、init 进程作为所有进程的父进程,它的进程号PID为_____。

选B。

28、下列说法不正确的是_____。

选C。

29、下面命令不能实现系统重启的是_____。

halt -f不能实现系统重启,选D。

30、下列选项不属于Linux内核模块的是_____。

选C。

二、简答题

1、画出Linux操作系统的体系结构图,并说明每个模块的功能与联系。

转自知乎

2、画出VFS(虚拟文件系统)的结构图,并说明VFS的功能与作用。

见样卷1

3、说明软链接和硬链接的区别。

  • 软链接
    • 类似快捷方式,创建软链接使用ln -s命令,如ln -s /original/file /link/file
    • 软链接可以跨文件系统创建,其文件大小较小,存储的是指向目标文件的路径。
    • 当目标文件被删除时,软链接失效,变为一个无效的链接(指向不存在的文件路径)。
  • 硬链接
    • 通过 inode 链接到源文件,创建硬链接使用ln命令(不带-s选项),如ln /original/file /link/file
    • 不能跨文件系统,硬链接文件与源文件共享相同的 inode,文件大小与源文件相同。
    • 只有当所有指向同一 inode 的硬链接(包括源文件本身,如果将源文件视为一个硬链接)都被删除时,文件才会被真正从磁盘上删除。

4、以图解方式解释xinetd工作模式和stand-alone工作模式,并说明选择不同工作 模式的原则。

见样卷1

三、综合应用题

1、根据下面makefile文件内容,画出目标依赖关系图。

自己画的

2、根据要求写出相应的操作命令,假设文件和目录已存在。

  1. 以长格式的形式打印 /tmp 目录下的所有文件,包括隐藏文件
    • 命令:ls -al /tmp
    • 解释:ls是列出目录内容的命令,-a选项表示显示所有文件(包括隐藏文件,隐藏文件以.开头),-l选项以长格式显示文件信息,包括文件权限、硬链接数、所有者、所属组、文件大小、修改时间和文件名等。执行该命令后,会详细列出/tmp目录下的所有文件信息。
  2. 创建一个名为 test 的用户,同时指定 shell 为 /bin/sh
    • 命令:useradd -s /bin/sh test
    • 解释:useradd是用于创建新用户的命令,-s选项用于指定用户的登录 shell,这里指定为/bin/sh。执行该命令后,系统会创建名为test的用户,并将其登录 shell 设置为/bin/sh。可以通过查看/etc/passwd文件来确认用户是否创建成功,例如使用cat /etc/passwd | grep test命令查看与test用户相关的记录。
  3. 把 /tmp/b.txt 文件的文件拥有者修改为 mail,同组用户修改为 games
    • 命令:chown mail:games /tmp/b.txt
    • 解释:chown命令用于更改文件的所有者和所属组,mail是要设置的新所有者,games是要设置的新所属组,/tmp/b.txt是要修改的文件路径。执行该命令后,/tmp/b.txt文件的所有者将变为mail,所属组变为games。可以使用ls -l /tmp/b.txt命令查看文件的所有者和所属组信息是否已更新。
  4. 把 /tmp/c.txt 重命名为 /tmp/c.txt.bak
    • 命令:mv /tmp/c.txt /tmp/c.txt.bak
    • 解释:mv命令用于移动或重命名文件,这里将/tmp/c.txt移动到/tmp/c.txt.bak,实现了对c.txt文件的重命名操作。执行命令后,原/tmp/c.txt文件名将变为/tmp/c.txt.bak
  5. 把当前时间追加到当前用户主目录下的 d.txt 文件
    • 命令:date >> ~/d.txt
    • 解释:date命令用于显示当前系统时间,>>是输出重定向符号,表示将命令的输出追加到指定文件中。~/d.txt表示当前用户主目录下的d.txt文件。执行该命令后,当前时间会被追加到d.txt文件的末尾。如果d.txt文件不存在,该命令会创建一个新的d.txt文件并写入当前时间。
  6. 把系统当前用户的个数追加到当前用户主目录下的 d.txt 文件
    • 命令:who | wc -l >> ~/d.txt
    • 解释:who命令用于显示当前登录系统的用户信息,wc -l用于统计行数,这里通过管道|who命令的输出作为wc -l命令的输入,统计出当前登录用户的个数。然后使用>>将统计结果追加到当前用户主目录下的d.txt文件中。执行该命令后,d.txt文件中会新增一行显示当前系统用户的个数。
  7. 创建当前用户主目录下 d.txt 的软链接,链接到 /tmp/e.txt
    • 命令:ln -s ~/d.txt /tmp/e.txt
    • 解释:ln命令用于创建链接,-s选项表示创建软链接(符号链接)。~/d.txt是源文件路径(当前用户主目录下的d.txt文件),/tmp/e.txt是软链接的目标路径。执行该命令后,在/tmp目录下会创建一个名为e.txt的软链接文件,它指向当前用户主目录下的d.txt文件。可以通过查看/tmp目录下e.txt文件的详细信息(使用ls -l /tmp/e.txt命令)来确认软链接是否创建成功,会显示其指向的源文件路径。
  8. 打包 /tmp 目录下的所有内容,生成名为 out.tar.gz 文件
    • 命令:tar -czvf out.tar.gz /tmp/*
    • 解释:tar是一个强大的打包工具,-c选项表示创建新的归档文件,-z选项表示使用 gzip 压缩算法对归档文件进行压缩,-v选项表示显示详细的打包过程信息,-f选项用于指定归档文件名,这里指定为out.tar.gz/tmp/*表示/tmp目录下的所有文件和子目录。执行该命令后,会将/tmp目录下的所有内容打包并压缩成out.tar.gz文件,保存在当前目录下。可以使用ls命令查看当前目录下是否生成了out.tar.gz文件。
  9. 假设 xinetd 正在运行,打印 xinetd 的进程运行信息
    • 命令:ps -ef | grep xinetd
    • 解释:ps -ef命令用于查看系统中所有进程的详细信息,包括进程的 PID(进程 ID)、PPID(父进程 ID)、用户、启动时间、命令等。grep xinetd用于在ps -ef的输出结果中过滤出包含xinetd关键字的进程信息,即只显示与xinetd相关的进程。执行该命令后,如果xinetd正在运行,会显示其进程信息,例如进程 ID、所属用户、启动命令等。如果没有输出任何信息,则表示xinetd没有在运行。
  10. 把 /tmp/a.txt 的文件权限设置为:拥有者具有读写执行权限,同组用户具有读和执行权限,其他用户具有读权限
    • 命令:chmod 754 /tmp/a.txt
    • 解释:chmod命令用于更改文件或目录的权限。在 Linux 系统中,文件权限用数字表示,每个数字对应三个权限位(读、写、执行),分别对应所有者、同组用户和其他用户。数字与权限的对应关系为:4 表示读权限(r),2 表示写权限(w),1 表示执行权限(x)。7(4 + 2 + 1)表示所有者具有读写执行权限,5(4 + 1)表示同组用户具有读和执行权限,4 表示其他用户具有读权限。执行该命令后,/tmp/a.txt文件的权限将被设置为指定的权限,可以使用ls -l /tmp/a.txt命令查看文件权限是否已更改。

3、编写一个shell程序可以完成以下执行过程的需要。

见样卷1

4、日志备份

  1. 首先创建backuplog.sh脚本内容如下:
    #!/bin/bash# 获取上一个月的年份和月份
    last_month=$(date -d "last month" +%Y%m)# 备份上一个月的日志文件到/var/tmp目录,生成log.bk后缀的备份文件
    for i in {1..31}
    doday=$(printf "%02d" $i)log_file="/var/log/nginx/${last_month}${day}.log"if [ -f "$log_file" ]; thencp "$log_file" "/var/tmp/${last_month}${day}.log.bk"fi
    done# 等待1小时(这里简单使用sleep模拟,实际情况可能需要更精确的等待方式)
    sleep 3600# 打包备份文件成backup.tar.gz并保存到/var/tmp目录,然后删除原始备份文件
    tar -czvf /var/tmp/backup.tar.gz /var/tmp/*.log.bk
    rm -f /var/tmp/*.log.bk
    
  2. 然后设置crontab任务来定时执行上述操作:
    • 编辑admin用户的crontab(使用crontab -e命令,如果是root用户想编辑admin用户的crontab,可以使用crontab -u admin -e)。
    • 添加以下内容:
    # 每月第一天凌晨1点30分执行备份脚本 
    30 1 1 * * /bin/bash /home/admin/backuplog.sh 
    # 当天凌晨6点移动压缩文件 
    0 6 * * * mv /var/tmp/backup.tar.gz /var/log/backup/ 
    
  3. 解释:
    • backuplog.sh脚本中,首先通过date -d "last month" +%Y%m获取上一个月的年份和月份,然后循环备份上一个月每天可能存在的日志文件(如果存在)到/var/tmp目录下并加上.log.bk后缀。接着使用sleep 3600模拟等待1小时,之后使用tar命令将备份文件打包成backup.tar.gz并保存到/var/tmp目录,最后删除原始的.log.bk后缀的备份文件。
    • crontab设置中,第一行指定每月第一天凌晨1点30分执行backuplog.sh脚本进行日志备份操作。第二行指定每天凌晨6点将/var/tmp目录下的backup.tar.gz文件移动到/var/log/backup目录,实现日志备份文件的整理和归档。

样卷3

一、选择题

1、systemd 进程作为所有进程的父进程,它的进程号PID为_____。

选B。

2、下列说法正确的是_____。

选D。

3、用于存放系统管理员常用指令的目录是_____。

选B。

4、默认情况下创建了一个新用户,就会在_____目录下创建一个对应的用户主目录。

选B。

5、以下不属于内核空间的内容的是_____。

见样卷2简答第1题,C函数库属于用户空间,选A。

6、以下指令不能实现关机的是_____。

选C。

7、Linux 系统中的文件权限属性分为三组,其中第二组代表的是_____的权限属性。

选A。

8、假设文件权限属性是rw—xr-x,执行命令chmodu+x,g+r,o-x后,权限变为___。

在 CentOS 7 中,原始权限rw---xr-x转换为数字表示为 605(所有者读写权限为 4 + 2 = 6,同组用户执行和读权限为 4 + 1 = 5,其他用户执行权限为 1)。执行chmod u+x(所有者添加执行权限,变为 7),g+r(同组用户添加读权限,变为 7),o-x(其他用户去掉执行权限,变为 4)后,权限变为 754,选B。

9、执行_____命令可以回到上一级目录。

选B。

10、 能够设置vsftpd服务开机启动的命令是_____。

在 CentOS 7 中,systemctl enable vsftpd.service用于设置vsftpd服务开机启动。/etc/rc.d/init.d/network start用于启动网络服务;systemctl start vsftpd.service用于启动vsftpd服务;ifup vsftdp命令用法错误,应为ifup <网络接口名>用于启动网络接口,选A。

11、 下面关于less和more命令说法正确的是_____。

lessmore都可以实现分页查看功能,less在打开大型文档时速度更快且提供上下浏览功能,more会把整个文档读入内存(相比less在处理大型文档时可能会更耗内存且速度较慢),选D。

12、 在vi的命令模式下,不能 导致工作模式切换的是_____。

dgg是删除从文档开头到当前光标所在行的内容,不会切换工作模式,仍在命令模式,选A。

13、 sdb1 表示的含义是_____。

选C。

14、 在 bash 中, 在一条命令后加入 “2>&1” 意味着_____。

选C。

15、 假设执行cat/etc/passwd 命令后,发现以下记录信息: scau:x:1001:1002:scau:/usr/scau:/bin/bash,下列说法正确的是_____。

选A。

16、关于前台进程和后台进程,说法错误的是_____。

选C。

17、 将一个前台进程变成后台进程,用到的命令是_____。

将一个前台进程变成后台进程,可在前台进程运行时按Ctrl + Z暂停该进程,然后使用bg命令将其放到后台继续运行,选B。

18、 crontab 文件的格式为:f1 f2 f3 f4 f5 program,其中f5表示的是_____。

crontab文件的格式中f5表示一个星期中的天数(0 - 6,0 表示星期日),用于指定命令在星期几执行。f1表示分钟,f2表示小时,f3表示一个月中的天数,f4表示月份,选D。

19、 shell 程序中,为了要获取上一个命令的执行结果,需要用到_____。

选B。

20、 下列shell对变量foo的操作,正确的是_____。

选D。

二、简答题

1. 软连接和硬连接的区别

  1. 本质与存储内容
    • 软连接:类似快捷方式,是一个独立的文件,有自己的 inode。文件大小较小,存储的是指向目标文件的路径。例如,创建一个软连接ln -s /original/file /link/file,软连接/link/file中存储的是/original/file的路径信息。
    • 硬连接:通过 inode 链接到源文件,与源文件共享相同的 inode,不是独立文件。其文件大小与源文件相同,因为它实际上是源文件的一个额外链接。比如创建硬连接ln /original/file /link/file/link/file/original/file在磁盘上指向同一个 inode。
  2. 跨文件系统支持
    • 软连接:可以跨文件系统创建。例如,可以在一个挂载的外部存储设备(如 U 盘,可能是 FAT32 等文件系统)上创建指向本地硬盘(如 ext4 文件系统)上文件的软连接。
    • 硬连接:不能跨文件系统。如果源文件和硬连接尝试跨不同的文件系统创建,会失败。例如,不能在一个 ext4 文件系统分区上的文件创建硬连接到 FAT32 文件系统分区上的文件。
  3. 对源文件删除的影响
    • 软连接:当源文件被删除时,软连接失效,变为一个无效的链接(指向不存在的文件路径)。如果访问该软连接,会提示文件不存在错误(除非重新创建源文件且路径相同)。
    • 硬连接:只有当所有指向同一 inode 的硬链接(包括源文件本身,如果将源文件视为一个硬链接)都被删除时,文件才会被真正从磁盘上删除。只要还有一个硬连接存在,文件的数据就仍然保留在磁盘上。
  4. 创建命令与方式
    • 软连接:创建使用ln -s命令,语法为ln -s [源文件路径] [软连接路径]。如前面提到的ln -s /original/file /link/file
    • 硬连接:创建使用ln命令(不带-s选项),语法为ln [源文件路径] [硬连接路径]
  5. 链接计数
    • 软连接:不增加源文件的链接计数。源文件的链接计数只与硬连接的数量有关,软连接的创建和删除不会影响源文件的链接计数。
    • 硬连接:会增加源文件的链接计数。每创建一个硬连接,源文件的链接计数就会加 1,表示有多少个文件名指向同一个 inode。例如,一个文件初始链接计数为 1,创建一个硬连接后,链接计数变为 2。

2. VI 的模式及切换

  1. 命令模式(Command Mode)
    • 特点:启动vi后默认进入命令模式,在该模式下可以执行各种命令操作,通过特定的按键组合来移动光标、删除文本、复制粘贴、查找替换等。
    • 操作示例:
      • 移动光标:h左移一个字符,j下移一行,k上移一行,l右移一个字符;Ctrl + f向前翻一页,Ctrl + b向后翻一页;0(数字零)移动到当前行首,$移动到当前行尾。
      • 删除文本:x删除当前光标字符,dd删除当前行,dw删除当前光标所在单词。
      • 复制粘贴:yy复制当前行,p粘贴(在当前光标下方粘贴,如果要在上方粘贴,使用P),3yy复制当前行及下面两行(数字表示复制的行数)。
      • 查找替换:/进入查找模式,输入要查找的字符串后按回车键进行查找;:%s/old/new/g在整个文件中替换oldnew%表示整个文件,s表示替换,g表示全局替换,如果不加g,只替换每行的第一个匹配项)。
    • 切换到其他模式:
      • 插入模式:按i(在当前光标位置插入)、I(在当前光标所在行首插入)、a(在当前光标后插入)、A(在当前光标所在行尾插入)、o(在当前光标所在行下方插入新行并进入插入模式)、O(在当前光标所在行上方插入新行并进入插入模式)等键可进入插入模式。
      • 末行模式:按:进入末行模式。
  2. 插入模式(Insert Mode)
    • 特点:用于输入文本内容,在该模式下输入的字符会直接插入到文件中。
    • 切换到其他模式:按Esc键可从插入模式回到命令模式。
  3. 末行模式(Last Line Mode)
    • 特点:可以执行一些文件操作、设置vi的参数、执行外部命令等。
    • 操作示例:
      • 文件保存与退出::w保存文件但不退出vi:q退出vi(如果文件有未保存修改,会提示),:wq:x保存并退出vi:q!不保存强制退出vi
      • 设置参数::set nu显示行号,:set nonu取消显示行号,:set tabstop=4设置制表符宽度为 4 个字符(默认可能是 8 个字符)等。
      • 执行外部命令::! ls在不退出vi的情况下执行ls命令,查看当前目录文件列表,执行完后按回车键回到vi
    • 切换到其他模式:按Esc键可从末行模式回到命令模式。

3. xinetd 工作模式图解及选择原则

见样卷1

4. X Window 组成部分的功能与作用(简单描述,图解可手绘或使用专业绘图工具制作)

  1. X Server
    • 功能:负责管理硬件设备,包括显示器、键盘、鼠标等。它直接与硬件交互,接收来自硬件的输入事件(如键盘按键、鼠标移动和点击等),并将图形输出显示到屏幕上。例如,当用户按下键盘上的一个键,X Server 会捕获这个事件并传递给相应的程序处理;同时,它会将应用程序请求绘制的图形(如窗口、菜单、文本等)显示在显示器上。
    • 作用:是 X Window 系统与硬件交互的底层组件,为其他组件提供图形显示和输入处理的基础服务。没有 X Server,X Client 应用程序无法与硬件设备进行通信,也就无法实现图形界面的显示和用户输入的处理。
  2. X Client
    • 功能:是应用程序,如文本编辑器、浏览器、图形设计软件等。它们向 X Server 发送绘图请求(如绘制窗口的形状、显示文本内容、绘制图形元素等),并接收用户输入事件(通过 X Server 转发)。例如,浏览器应用程序会向 X Server 请求绘制网页内容的窗口,当用户在浏览器中点击链接时,X Server 将点击事件传递给浏览器应用程序,浏览器根据事件进行相应的页面加载等操作。
    • 作用:多个 X Client 可以同时运行并共享 X Server 提供的显示资源,每个 X Client 专注于实现自身的功能逻辑,通过与 X Server 的通信来实现图形界面的显示和交互功能,从而为用户提供各种丰富的应用服务。
  3. X Protocol
    • 功能:定义了 X Server 和 X Client 之间通信的规则和消息格式。它规定了如何发送绘图请求(如请求创建窗口、绘制线条、填充颜色等)、处理输入事件(如键盘事件、鼠标事件的格式和传递方式)、管理窗口(如窗口的创建、移动、大小调整等操作的协议规范)等操作。例如,当 X Client 想要绘制一个矩形时,它会按照 X Protocol 规定的消息格式向 X Server 发送绘图请求,X Server 根据协议解析请求并在屏幕上绘制出矩形。
    • 作用:确保 X Server 和 X Client 能够正确地交互数据,使得不同的 X Client 和 X Server 能够相互协作,实现统一的图形界面环境。无论使用何种编程语言开发 X Client 应用程序,只要遵循 X Protocol,就可以在支持 X Window 系统的环境中正常运行并与 X Server 进行通信。
  4. Window Manager
    • 功能:负责管理窗口的布局、外观和操作。它决定了窗口在屏幕上的位置、大小、堆叠顺序(哪个窗口在前面显示),提供窗口的装饰(如标题栏、边框等),处理窗口的移动、大小调整、最大化、最小化、关闭等操作。例如,用户通过鼠标拖动窗口标题栏来移动窗口时,Window Manager 会捕获这个操作并相应地调整窗口的位置;当用户点击窗口的最大化按钮时,Window Manager 会将窗口扩展到全屏显示。
    • 作用:提供了用户与多个窗口交互的界面,使用户可以方便地操作和管理运行中的 X Client 应用程序窗口,提高用户操作的便利性和效率,使得用户可以在多窗口环境中高效地工作和使用各种应用程序。

5. gdb 调试过程中常用指令及作用

  1. run(r)
    • 作用:用于启动被调试的程序,程序会从main函数开始执行,直到遇到断点或程序结束。例如,调试一个 C 程序时,在设置好断点后,使用run命令开始执行程序,程序会正常运行直到停在第一个断点处,此时可以查看程序的运行状态。
  2. break(b)
    • 作用:设置断点,可以根据函数名、行号或条件表达式来设置断点,使程序在指定位置暂停执行,方便查看程序状态。
    • 示例:
      • b main:在main函数入口处设置断点,程序执行到main函数开始时会暂停。
      • b file.c:10:在file.c文件的第 10 行设置断点,当程序执行到该行代码时会暂停。
      • b function_name if variable == value:当满足条件variable == value时,在function_name函数内暂停程序,可用于在特定条件下调试程序。
  3. next(n)
    • 作用:单步执行程序,但不进入函数内部,如果遇到函数调用,会将函数视为一条语句执行完,然后停在下一行代码。例如,在调试一个包含多个函数调用的程序时,使用next可以快速跳过函数调用,专注于当前函数的执行流程。
  4. step(s)
    • 作用:单步执行程序,遇到函数调用时会进入函数内部,继续单步执行函数内的代码。这对于深入调试函数内部逻辑非常有用,可跟踪函数内的每一步操作,查看函数参数传递、局部变量变化等情况。
  5. continue(c)
    • 作用:从当前断点处继续执行程序,直到遇到下一个断点或程序结束。如果在调试过程中已经查看了当前断点处的程序状态,想要继续运行程序到下一个断点,可以使用continue命令。
  6. print(p)
    • 作用:用于查看变量或表达式的值。例如,在程序暂停时,可以使用print variable_name查看变量variable_name的值,也可以使用print expression查看表达式(如a + b)的计算结果,帮助分析程序运行过程中数据的变化情况。
  7. backtrace(bt)
    • 作用:打印当前函数调用栈的信息,显示函数的调用顺序和参数,帮助分析程序的执行流程和定位问题所在的函数调用层次。例如,当程序出现错误时,通过backtrace可以查看程序是如何调用到当前函数的,以及每个函数的参数传递情况,有助于快速定位问题根源。
  8. quit(q)
    • 作用:退出 gdb 调试环境。在调试结束后,使用quit命令退出 gdb。如果程序还有未处理的状态(如正在运行或有未保存的调试设置),gdb 会提示是否确认退出。

三、代码题

1、代码阅读题

  • 第一个case分支[1 - 5]
    • 作用:当用户输入的年龄在1到5岁这个区间(包含1和5)时,执行该分支内的语句。即输出You belong to the Preschool class.,提示用户属于学前班级。
  • 第二个case分支[6 - 10]
    • 作用:当用户输入的年龄在6到10岁这个区间(包含6和10)时,输出You belong to the Elementary School class.,告知用户属于小学班级。
  • 第三个case分支[11 - 14]
    • 作用:若用户输入年龄在11到14岁之间(包含11和14),则输出You belong to the Middle School class.,表明用户属于初中班级。
  • 第四个case分支[15 - 18]
    • 作用:对于输入年龄在15到18岁范围内(包含15和18)的情况,输出You belong to the High School class.,说明用户属于高中班级。
  • 最后一个*分支:
    • 作用:当用户输入的年龄不在前面任何一个指定的区间范围内时,执行该分支。输出You are not in the specified age range for a school class.,提示用户输入的年龄不在学校班级的指定年龄区间内。

2、编写一个shell程序实现简单的加减乘除运算。

#!/bin/bash# 检查输入参数数量是否为2
if [ $# -ne 2 ]; thenecho "UsageError"exit 1
fi# 检查输入参数是否小于1000
if [ $1 -ge 1000 ] || [ $2 -ge 1000 ]; thenecho "UsageError"exit 1
fi# 使用expr命令计算乘法结果并输出
result=$(expr $1 \* $2)
echo "$1 * $2 = $result"

3、编写⼀个shell程序实现以下功能。

#!/bin/bash# 定义累乘函数
factorial() {local result=1for (( i = 1; i <= $1; i++ )); doresult=$(($result * $i))doneecho $result
}while true
doecho "Input a list of number:"read numbersif [ "$numbers" = "q" ]; thenbreakfiproduct=1for num in $numbersdoproduct=$(($product * $(factorial $num))))doneecho "The result is $product"
done

四、综合应用题

1、根据要求写出相应的操作命令(假设文件和目录已存在)

  1. 统计/dev目录下有多少个socket文件
    • 命令:find /dev -type s | wc -l
    • 解释:find /dev -type s用于查找/dev目录下类型为socket的文件,wc -l用于统计行数,即socket文件的数量。
  2. 创建一个名为usertest的用户,同时指定shell为/bin/sh
    • 命令:useradd -s /bin/sh usertest
    • 解释:useradd用于添加用户,-s选项用于指定用户的登录shell。
  3. 把/etc/passwd中包含root的行追加到/tmp/c.txt文件中
    • 命令:grep root /etc/passwd >> /tmp/c.txt
    • 解释:grep root /etc/passwd用于查找/etc/passwd文件中包含root的行,>>将结果追加到/tmp/c.txt文件。
  4. 把/etc/passwd的前5行追加到/tmp/a.txt文件中
    • 命令:head -5 /etc/passwd >> /tmp/a.txt
    • 解释:head -5用于获取文件的前5行,>>将结果追加到/tmp/a.txt文件。
  5. 查找根目录下包含common路径的所有普通文件并输出到终端
    • 命令:find / -type f -path "*/common/*" -print
    • 解释:find /从根目录开始查找,-type f表示查找普通文件,-path "*/common/*"表示路径中包含common的文件,-print将结果输出到终端。
  6. 打包/tmp目录下的所有内容,生成名为out.tar文件
    • 命令:tar -cvf out.tar /tmp/*
    • 解释:tar -cvf用于创建打包文件,out.tar是打包后的文件名,/tmp/*表示/tmp目录下的所有内容。
  7. 假设vsftpd正在运行,打印vsftpd的进程运行信息
    • 命令:ps -ef | grep vsftpd
    • 解释:ps -ef用于列出所有进程信息,grep vsftpd用于筛选出与vsftpd相关的进程信息。
  8. 把/tmp/a.txt的文件权限设置为:拥有者具有读写执行权限,同组用户具有读和执行权限,其他用户具有读权限
    • 命令:chmod 754 /tmp/a.txt
    • 解释:在Linux权限表示中,7表示拥有者具有读写执行权限(4 + 2+ 1),5表示同组用户具有读和执行权限(4 + 1),4表示其他用户具有读权限。
  9. 写出满足以下要求的crontab内容: 每月的星期三晚上9点 - 11点,执行/usr/bin/run脚本(假设脚本已存在且可执行)
    • 命令:0 21 - 23 * * 3 /usr/bin/run
    • 解释:在crontab中,从左到右依次表示分钟、小时、日期、月份、星期几、要执行的命令。这里表示每月中星期三(星期几用数字3表示)的21点到23点(晚上9点到11点),每分钟(0分钟)执行一次/usr/bin/run脚本。
  10. 把/var/log目录下文件size最大的文件,以长格式的方式,输出到/tmp/bb.txt文件中
    • 命令:ls -lS /var/log | head -1 > /tmp/bb.txt
    • 解释:ls -lS以长格式并按文件大小排序(从大到小)列出/var/log目录下的文件,head -1获取第一行(即文件size最大的文件信息),>将结果输出到/tmp/bb.txt文件。

2、根据下面的依赖关系图,写出对应的makefile文件内容(假设mainfile与 hello.c 在同一层目录下)。

# 定义编译器和编译选项
CC = gcc
CFLAGS = -Wall# 定义目标文件和源文件
OBJS = hello.o hi.o hey.o
SRCS = hello.c hi.c hey.c# 定义可执行文件
hello: $(OBJS)$(CC) $(OBJS) -o hellohello.o: hello.c$(CC) $(CFLAGS) -c hello.c -o hello.ohi.o: hi.c$(CC) $(CFLAGS) -c hi.c -o hi.ohey.o: hey.c$(CC) $(CFLAGS) -c hey.c -o hey.o# 清理规则
clean:rm -f $(OBJS) hello

3、定时统计访问数据。

#!/bin/bash# 获取当前日期
current_date=$(date +%Y-%m-%d)# 定义输出文件名
output_file="${current_date}.out"# 使用关联数组来统计每个id的访问次数
declare -A id_count# 读取日志文件
while IFS='#' read -r id time runner command result; doif [ -z "${id_count[$id]}" ]; thenid_count[$id]=0fi((id_count[$id]++))
done < MyOut.log# 将统计结果输出到文件
for id in "${!id_count[@]}"; doecho "${id}#${id_count[$id]}" >> /tmp/${output_file}
done

将这个写入脚本中即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/64400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring\strust\springboot\isp前后端那些事儿

后端 一. 插入\更新一条数据&#xff08;老&#xff09; Map<String, Object> parameterMap MybatisUtil.initParameterSave("Send_ProjectFrozenLog", sendProjectFrozenLog); commonMapper.insert(parameterMap);parameterMap MybatisUtil.initParameter…

对golang的io型进程进行off-cpu分析

背景&#xff1a; 对于不能占满所有cpu核数的进程&#xff0c;进行on-cpu的分析是没有意义的&#xff0c;因为可能程序大部分时间都处在阻塞状态。 实验例子程序&#xff1a; 以centos8和golang1.23.3为例&#xff0c;测试下面的程序&#xff1a; pprof_netio.go package m…

CSS Grid 布局:属性及使用详解

CSS Grid 布局&#xff1a;属性及使用详解 一、CSS Grid 布局的基础概念二、主要的 CSS Grid 属性1、display: grid / display: inline-grid声明 Grid 容器2、grid-template-columns / grid-template-rowsGrid 容器中列和行的尺寸3、 grid-template-areas命名布局区域4、gap/ g…

【数学建模】利用Matlab绘图(2)

一、Matlab中plot函数的基本用法 在matlab中&#xff0c;函数的基本用法主要包括以下几种 第一类&#xff1a; plot(X,Y,LineSpec) 第二类&#xff1a; plot(tbl,xvar,yvar) 1.1 第一类 1.1.1x-y坐标 x和y的选择取决于绘图所需的数据类型以及图像的类型。下表列出了几种…

编写工具模块

文章目录 1.新建模块1.新建模块sun-common-tool2.sun-dependencies指定依赖3.sun-common统一管理sun-common-tool子模块4.sun-common-tool的pom.xml5.清除掉创建模块时默认sun-frame对sun-common-tool进行管理 2.常用工具类1.DateUtils.java2.EncodeUtils.java3.IpUtils.java4.…

构建一个rust生产应用读书笔记四(实战3)

从这一节开始&#xff0c;我们将继续完善邮件订阅生产级应用&#xff0c;根据作者的选型sqlx作为数据库操作的类库&#xff0c;它有如下优点&#xff1a; 它旨在提供高效、安全且易于使用的数据库交互体验。sqlx 支持多种数据库&#xff0c;包括 PostgreSQL、MySQL 和 SQLite&…

视频直播点播平台EasyDSS推拉流技术结合无人机推流在道路交通巡检场景中的应用

随着城市化进程的加速&#xff0c;交通网络日益复杂&#xff0c;交通巡检工作面临着前所未有的挑战。传统的巡检方式往往依赖于人工巡查或地面监控设备&#xff0c;但这些方法存在巡检范围有限、效率低下等缺点。 无人机凭借其高空视野、灵活机动、实时监控等优势&#xff0c;…

VBA技术资料MF238:ADO提取多文件区域指定数据到工作表

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

Mapper代理开发

引入 Mybatis入门方式中&#xff0c;以下代码仍存在硬编码问题 Mapper 代理开发&#xff1a; 目的&#xff1a; 解决原生方式中的硬编码 简化后期执行sql ------下图中&#xff0c;第一段代码是原生硬编码代码块&#xff0c;第二个是引入了Mapper代理开发的代码块。 Mapper代…

ubuntu22.04编译安装Opencv4.8.0+Opencv-contrib4.8.0教程

本章教程,主要记录在Ubuntu22.04版本系统上编译安装安装Opencv4.8.0+Opencv-contrib4.8.0的具体过程。 一、下载opencv和opencv-contrib包 wget https://github.com/opencv/opencv/archive/refs/tags/4.8.0.zip wget https://github.com/opencv/opencv_contrib/archive/refs/…

使用C语言连接MySQL

库的准备 要使用C语言连接mysql&#xff0c;需要使用mysql官网提供的connect库&#xff0c;可以去官网下载&#xff0c;由于我们要下载到 Linux 操作系统中&#xff0c;也可以使用如下指令进行安装库 sudo apt-get install libmysqlclient-dev MySQL连接C/C的库通常会安装在/us…

【Android学习】RxJava

文章目录 资料连接1. Merge & Zip操作符: 合并数据源2. Map & FlapMap & ConcatMap & Buffer: 变换操作符3. retry & retryUntil & retryWhen : 错误处理操作符4. Transformer & Compose 转换操作符5. 网络请求嵌套回调 FlatMap6. 网络请求出错重连…

Mac配置 Node镜像源的时候报错解决办法

在Mac电脑中配置国内镜像源的时候报错,提示权限问题,无法写入配置文件。本文提供解决方法,青测有效。 一、原因分析 遇到的错误是由于 .npm 目录下的文件被 root 用户所拥有,导致当前用户无法写入相关配置文件。 二、解决办法 在终端输入以下命令,输入管理员密码即可。 su…

PyTorch基础入门

目录 前言一、[张量的广播&基本运算](https://www.bilibili.com/video/BV1Gg411u7Lr/?spm_id_from333.999.0.0)1. 张量的广播特性2. 逐点&规约&比较运算 二、张量的线性代数运算1. BLAS & LAPACK2. 矩阵形变及特殊矩阵构造3. 矩阵基本运算4. 矩阵的线性代数运…

【VSCode】常用插件汇总

1 Path Autocomplete&#xff08;路径提示的插件&#xff09; 步骤一&#xff1a;在vscode的扩展搜索中直接搜索Path Autocomplete&#xff0c;直接安装 步骤二&#xff1a;配置 配置 VS Code settings.json "path-autocomplete.pathMappings": {"": &q…

IOS通过WDA自动化中遇到的问题

IOS自动化遇到的问题 搭建WDA环境中遇到的问题1、XCode unsupport iphone xxx.2、创建Bundle Identifier出现问题&#xff1a;Communication with Apple failed3、创建Bundle Identifier出现问题&#xff1a;Automatic signing failed \Signing certificate is invalid4、创建B…

(六)- DRM驱动开发(qcom)

一&#xff0c;Linux Android Display 1&#xff0c;Linux Android Display Software Subsystem 密 2&#xff0c;Linux Android Display Architecture 密 二&#xff0c;DRM/KMS Adreno DPU 1&#xff0c;硬件框图 密 1.1 Qualcomm Adreno DPU 8-Series Overview 密 …

游戏AI实现-寻路算法(GBFS)

贪婪最佳优先算法是宽度优先遍历和贪婪算法结合的产物&#xff0c;使用启发式函数选择当前最低代价的节点&#xff0c;改善了宽度优先遍历需要遍历地图的大量节点来找寻结果的缺点。 算法过程&#xff1a; 1.首先设置开始节点的启发函数值&#xff08;h&#xff09;为0&#…

[Unity]Unity跨平台开发之Android简介

Android要求和兼容 图形接口支持 注意&#xff1a; 新的 Unity 项目默认不支持 OpenGL ES 2.0。 由于硬件和图形 API 的限制&#xff0c;并非所有渲染管道都与 Android 兼容。 图片压缩 Android标准压缩格式是ETC和ASTC。Unity默认压缩格式是ASTC。如果Android设备不支持您选…

监控易在汽车制造行业信息化运维中的应用案例

引言 随着汽车制造行业的数字化转型不断深入&#xff0c;信息化类IT软硬件设备的运行状态监控、故障告警、报表报告以及网络运行状态监控等成为了企业运维管理的关键环节。监控易作为一款全面、高效的信息化运维管理工具&#xff0c;在汽车制造行业中发挥着重要作用。本文将结合…