linux期末考试题(2)

打印 上一主题 下一主题

主题 1875|帖子 1875|积分 5625

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
linux期末考试题

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

1.以下关于自由软件的说法,正确的是(D
A、自由软件是一种有版权保护的软件        B、修改自由软件应取得原作者的许可
C、微软的 Ofice 软件属于自由软件        D、自由软件不一定都是免费的
解答:
自由软件确实有版权保护(通常基于版权法或类似法律框架),但它通过特定的许可证(如GPL、MIT等)赋予用户特定的自由。因此,自由软件是有版权保护的,但这种保护是为了确保用户享有自由软件的自由,而不是限制用户的使用。
自由软件的核心原则之一是用户可以自由地修改软件,而无需事先取得原作者的许可。只要遵守相应的自由软件许可证条款(如提供修改后的源代码),用户就可以自由地修改和分发软件。
微软的Office软件是专有软件,其源代码不公开,用户没有自由使用、修改和分发的权利。
自由软件的“自由”指的是用户享有运行、复制、分发、学习、修改和改进软件的自由,而不是指软件的价格。自由软件可以免费获取,也可以收费(例如,某些公司可能提供自由软件的技术支持或附加服务并收费)。关键在于用户是否享有上述自由,而不是软件是否免费。
2.使用下列哪个命令可以将目次下所有文件和子目次全都表现出来(D)
A、ls -l        B、dir -all        C、ls -a        D、ls -R
解答:
ls -l 用于以长格式(详细信息)列出当前目次下的文件和子目次,但它不会递归表现子目次中的内容。
dir 是一个在某些系统(如Windows的CMD)中使用的命令,用于列出目次内容。在Unix/Linux系统中,dir 通常是 ls 的别名,但 -all 不是 dir 或 ls 的有用选项。因此,这个选项在Unix/Linux系统中不适用。
ls -a 用于列出当前目次下的所有文件和子目次,包括隐藏文件(以点开头的文件)。然而,它不会递归表现子目次中的内容。
ls -R 用于递归列出当前目次及其所有子目次中的文件和子目次。
3.下面哪个命令可以在文件中查找内容(C)。
A、pause        B、cat        C、grep        D、 more
解答:
pause 不是Unix/Linux系统中的尺度命令。在某些环境(如Windows批处置处罚脚本)中,pause 用于停息脚本执行并等待用户按键,但它与文件内容查找无关。
cat 命令用于表现文件的全部内容,但它不具备搜刮功能。
grep 是一个强大的文本搜刮工具,专门用于在文件中查找匹配特定模式(字符串或正则表达式)的行。
ore 是一个分页查看文件内容的命令,用户可以逐页欣赏文件内容,但它本身不提供搜刮功能。
4.以下哪个环境变量表示命令的搜刮路径(A)。
A、PATH        B、PWD        C、HOME        D、PSI
解答:
PATH 是一个环境变量,用于定义系统在哪些目次中查找可执行命令。当用户在终端输入一个命令时,系统会按照 PATH 中列出的目次顺序依次查找该命令的可执行文件。echo $PATH 会输出当前系统的命令搜刮路径。
PWD(Print Working Directory)是一个环境变量,表示当前工作目次的绝对路径。它与命令的搜刮路径无关。
HOME 是一个环境变量,表示当前用户的主目次路径。它通常用于存储用户的个人文件和配置,与命令的搜刮路径无关。
PSI 不是一个常见的环境变量,也不是用于定义命令搜刮路径的变量。在某些上下文中,PSI 可能有其他含义(如进程状态接口),但与本题无关。
5.默认环境下管理员创建了一个用户,就会在(B)目次下创建一个用户主目次。
A、/usr        B、/ home        C、/root        D、/boot
解答:
/usr 目次通常用于存储系统软件和程序资源,例如可执行文件、库文件和文档等。
/home 是Linux系统中用户主目次的尺度存储位置。默认环境下,当管理员创建一个新用户时,系统会在 /home 目次下为该用户创建一个以用户名命名的子目次作为其主目次。
/root 是系统管理员(root用户)的专属主目次。
/etc 目次用于存储系统的配置文件,例如用户账户信息、网络配置、服务配置等。
6.vi中哪条命令可以用来生存文件(A)。
A、:w        B、:save        C、:q        D、:r
解答:
:w 是 vi 编辑器中的命令,用于将当前缓冲区的内容写入(生存)到文件中。如果文件已存在,则覆盖原文件;如果文件不存在,则创建新文件。
:save 不是 vi 的尺度命令。vi 中没有直接名为 :save 的命令用于生存文件。
:q 是 vi 编辑器中的命令,用于退出编辑器。但如果文件未生存,直接使用 :q 会导致错误(除非使用 :q! 强制退出)。
:r 是 vi 编辑器中的命令,用于读取文件内容并将其插入到当前光标位置。
7.Linux中,用户的密码生存在以下哪个文件里(C)。
A、/etc/sudoers        B、/etc/ passwd        C、/etc/shadow        D、/etc/inittab
解答:
/etc/sudoers 文件用于配置 sudo 命令的权限,定义哪些用户或用户组可以以其他用户(通常是 root)的身份执行命令。
/etc/passwd 文件是Linux系统中用于存储用户账户信息的文件,包括用户名、用户ID、组ID、家目次、登录Shell等。然而,出于安全考虑,当代Linux系统通常不在此文件中存储加密后的用户密码,而是使用一个占位符(如 x 或 *)代替。
/etc/shadow 文件是Linux系统中专门用于存储加密后的用户密码的文件。它只能由 root 用户读取,包含了用户的加密密码、密码最后修改时间、密码有用期等信息。
/etc/inittab 文件(在较新的系统中可能已被 systemd 取代)用于配置系统的初始化过程,定义系统运行级别、启动脚本等。
8.Linux 中表现文件的类型的命令是(C)。
A、whereis        B、list        C、file        D、cat
解答:
whereis 用于查找二进制文件、源文件和手册页的位置。
ls 用于列出目次内容,但不表现文件类型(除非联合 -F 或 -l 等选项查看部门类型信息,但不直接表现文件类型描述)。
file 是Linux中的一个命令,用于确定文件的类型。它会读取文件的内容并尝试识别文件的格式(如文本文件、二进制文件、可执行文件、图片文件等),并输出相应的描述。
cat 命令用于表现文件的全部内容,但它不提供文件类型的信息。它只是将文件内容输出到终端。
9.dirl是一个目次,当执行"rm -rf dirl"命令时,Linux系统会(B)。
A.颠末用户确认后再删除 dirl        B.直接删除 dirl及 dirl下的所有文件
C.只删除 dirl 下的文件,生存目次 dirl        D.只有当 dirl 非空时才华删除
解答:
rm 是用于删除文件或目次的命令。
-r(或 -R)选项表示递归删除,即删除目次及其所有内容(包括子目次和文件)。
-f 选项表示强制删除,即不提示用户确认,直接删除文件或目次(纵然文件是只读的或用户没有写权限,也会尝试删除,除非遇到权限完全拒绝的环境)。
10.执行"cp -s"命令可以(D)。
A.拷贝文件        B.拷贝目次        C.创建一个文件的硬链接        D.创建一个文件的符号链接
解答:
cp 是用于复制文件或目次的命令。
-s选项在cp命令中用于创建符号链接(也称为软链接),而不是复制文件内容。
符号链接是一个指向另一个文件或目次的特别文件,类似于Windows中的快捷方式。如果源文件被删除或移动,符号链接将失效(成为“悬空链接”)。
cp 命令的根本功能是拷贝文件,但 -s 选项改变了默认行为,不举行实际拷贝,而是创建符号链接。
cp 命令可以使用 -r 或 -R 选项递归拷贝目次。
硬链接是通过 ln 命令(不带 -s 选项)创建的,硬链接是文件的另一个名称,与原文件共享相同的inode和数据块。
11.以下哪个命令可以对文件重命名(C)。
A、chown        B、chname        C、mv        D、chmod
解答:
hown 命令用于更改文件或目次的所有者(即用户或用户组)。它的根本语法是 chown [选项] 新所有者 文件。
chname 不是Linux中的尺度命令。在常见的Linux发行版中,没有这个命令用于文件重命名。
mv 命令用于移动文件或目次,同时也可以用于重命名文件或目次。它的根本语法是 mv [选项] 源文件或目次 目标文件或目次。如果目标路径与源路径在同一目次下但名称差别,则相当于重命名。
chmod 命令用于更改文件或目次的权限(即读、写、执行权限)。它的根本语法是 chmod [选项] 权限 文件。
12.使用gcc命令编译C语言程序,需要输出的可执行程序带调试信息,应该(B)
A、gcc -o        B、gcc -g        C、gcc -E        D、gcc -c
解答:
-o 选项用于指定输出文件的名称。例如,gcc -o myprogram source.c 会将编译后的可执行文件命名为 myprogram。但 -o 本身并不添加调试信息。
-g 选项用于在编译时生成调试信息。这些调试信息(如符号表、行号信息等)会被嵌入到可执行文件中,供调试器(如 gdb)使用。
gcc -E 用于仅对源文件举行预处置处罚,并将预处置处罚效果输出到尺度输出(或通过重定向生存到文件)。它不生成可执行程序,也不添加调试信息。
-c 选项用于仅编译源文件,生成目标文件(.o 文件),而不举行链接。它不生成最终的可执行程序,也不添加调试信息到可执行程序(因为根本没有生成可执行程序)。
13.文件的 inode 中不包含以下哪些内容(A)。
A、文件名称        B、文件的访问权限        C、文件的链接数        D、文件数据 block 的位置
解答:
inode(索引节点)是Linux文件系统中用于存储文件元数据的数据结构。
inode中包含的信息通常包括:

  • 文件的类型(如普通文件、目次、符号链接等)。
  • 文件的访问权限(如读、写、执行权限)。
  • 文件的硬链接数(即指向该inode的目次项数量)。
  • 文件所有者的用户ID和组ID。
  • 文件的大小(以字节为单位)。
  • 文件数据块的指针(即文件数据在磁盘上的存储位置)。
  • 文件的创建时间、修改时间、访问时间等时间戳。
inode中不包含的信息是文件名。文件名存储在目次项中,目次项将文件名映射到对应的inode号。
14.为了到达使文件的属主和同组用户有读(r)、写(w)和执行(x)的权限,而其他用户有读(r)执行权限(x),在设置文件的许可值时,应当设为(C)。
A、665        B、774        C、775        D、654
解答:
读(r):4        写(w):2        执行(x):1
属主权限:4+2+1=7
同组用户权限:4+2+1=7
其他用户权限:4+1=5
故而设置许可值时,应当设为775
15.shell编程时,表达式[ $a = $b ]的含意是(B)
A、将变量b的值赋给变量a        B、测试字符串a和字符串b是否相等
C、测试整数a和整数b是否相等        D、将变量b的值赋给变量a并返回b的值
解答:
= 在 [ ] 中用于字符串比较(不是赋值)。
如果变量 $a 和 $b 的字符串值相同,则表达式返回真(退出状态为0),否则返回假(非0)。
= 在 [ ] 中不是赋值利用,赋值在shell中用 = 直接完成(如 a=$b)
测试整数是否相等应使用 -eq(如 [ $a -eq $b ])
[ ] 是条件测试,不会赋值或返回值。
二、简答题(共40 分,每小题10分)

1、什么是 Linux 的管道功能和输入/输出重定向功能?举例阐明如何使用该功能。

答:Linux的管道功能(|)用于将一个命令的输出作为另一个命令的输入,实现命令间的数据通报;输入/输出重定向则通过符号(如 >、>>、 file.txt 将 echo 的输出重定向到 file.txt(覆盖原内容),>> 则追加内容。输入重定向:grep "word" < file.txt 从 file.txt 读取输入并搜刮 "word"。
</ul>2.请列出Linux利用系统的主要目次,并阐明该目次的功能是什么。(注:请至少列出10个要目次)
答:
以下是Linux利用系统中至少10个主要目次及其功能的阐明:

  • /(根目次)
    整个文件系统的出发点,所有其他目次和文件都位于根目次下或其子目次中,是Linux文件系统的最高层级。
  • /bin
    存放系统启动和日常利用所必需的根本命令,如ls、cp、mv和cat等,这些命令无需额外权限即可使用。
  • /sbin
    存放关键的命令,这些指令大多专为root用户计划,好比分区工具、ifconfig(网络配置工具)和shutdown(关机命令)等。
  • /etc
    存放系统的配置文件,险些所有的系统服务设置文件都被放置在这个目次中,涵盖了从用户账户设置(如/etc/passwd)到网络设置(如/etc/network),以及系统启动相关设置(如/etc/hostname)等多个方面。
  • /dev
    存放装备文件,这些文件并非用于存储数据,而是充当利用系统与各类硬件装备沟通的桥梁,通过这些装备文件来实现对硬件如硬盘、键盘、鼠标、光驱等的识别与利用。
  • /proc
    一个虚拟文件系统,实时反映了系统运行时的状态信息,用户可以通过这个目次下的文件来获取进程、内存、CPU以及硬件状态等数据。
  • /var
    存放系统中经常变动的文件,如系统日志、缓存、邮件和打印队列等。由于这些文件会不停增多,管理员需要定期对其举行维护和清理。
  • /tmp
    用于存储暂时文件,无论是程序运行时产生的暂时文件,还是用户利用生成的暂时数据,都会存放在这里,该目次下的文件通常有用期限较短。
  • /usr
    用于存放通用文件和用户应用程序的区域,其中包含了众多应用程序、库文件及文档等。
  • /home
    存放所有普通用户个人资料的根目次,每个用户都有一个以其用户名命名的专属子目次,这里生存了他们的个人文件、设置和文档。用户可以独立管理自己的主目次内容,而系统管理员则有权限访问和管理所有用户的主目次。
3.什么是内存泄漏?内存泄漏对系统有什么影响?在编程时如何制止内存泄漏。
答:内存泄漏是指程序在动态分配内存后未正确释放不再使用的内存,导致这部门内存被永久占用,无法被系统接纳利用;
其对系统的影响包括逐渐耗尽可用内存、引发程序或系统性能下降(如卡顿、响应变慢),甚至导致系统瓦解(尤其在恒久运行的进程或内存资源受限的环境中);
编程时制止内存泄漏的方法包括:及时释放不再使用的内存、接纳主动内存管理的语言(如Java/Python的垃圾接纳机制)、利用工具检测泄漏,并养成良好编程风俗制止循环中重复分配未释放的内存。
4.系统管理员每天需完成以下的重复工作,请按照下列要求,用crontab命令编制完成这些工作:
(1)每小时(整点)在屏幕上表现当前时间;
  1. 0 * * * * echo "当前时间: $(date)"
复制代码
(2)每天早上6:00定时打开网络装备(eth0);
  1. 0 6 * * * ifconfig eth0 up
复制代码
(3)每天晚上23:00定时关闭网络装备(eth0);
  1. 0 23 * * * ifconfig eth0 down
复制代码
(4)周一至周五每2小时举行一次备份 pub 文件数据到 data 文件中;
  1. 0 */2 * * 1-5 cp /opt/pub /opt/data
复制代码
(5)每周五下午18:00 删除暂时文件(/temp 目次中的文件)。
  1. 0 18 * * 5 rm -rf /temp/*
复制代码
三、综合编程题(共 30分,每小题15分)

1.编写shell脚本,能够循环录入门生的百分制成绩,将其转换为对应的成绩等级表现。
优:90-100        良:80-89        中:70-79        及格:60-69        不及格0-59
录入完毕时按q或Q键,表现已经录入的各个等级成绩的人数,然退却出程序。
解:
[code]#!/bin/bash# 初始化计数器excellent=0good=0medium=0pass=0fail=0# 循环录入成绩#使用read命令提示用户输入成绩,并将输入存储在变量score中while true; do    read -p "请输入门生的百分制成绩(输入q或Q退出): " score    # 查抄是否退出    if [[ "$score" =~ ^[qQ]$ ]]; then        break    fi    # 查抄输入是否为数字    if ! [[ "$score" =~ ^[0-9]+$ ]]; then        echo "输入无效,请输入一个整数或q/Q退出。"        continue    fi    # 判断成绩等级    if (( score >= 90 && score = 80 && score = 70 && score = 60 && score = 0 && score = 90 && score
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表