《24春国家开放大学《Linux操作系统》课程考核作业1-4参考答案.docx》由会员分享,可在线阅读,更多相关《24春国家开放大学《Linux操作系统》课程考核作业1-4参考答案.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、国家开放大学Linux操作系统课程考核作业1-4参考答案作业1一、 填空题1. Linux 系统中的一切都归结为(文件)。2. Linux 是一套(免费)使用和自由传播的类UNIX操作系统。3. Linux系统支持(多)用户、(多)任务。二、简答题1. Linux 主要有哪些特性?答:Linux是一种自由和开放源代码的操作系统,具有多种特性,具体如下:开源性:Linux是一种开源操作系统,其源代码是公开的,任何人都可以获取并修改。这种开源性使得Linux具有高度的灵活性和可定制性,用户可以根据自己的需求进行修改和优化。开放性:Linux遵循开放系统互连(OSI)国际标准,具有强大的网络功能,支
2、持多种通信协议,如TCP/IP、IPX/SPX、AppleTalk等。多用户:Linux支持多用户同时登录,每个用户都有自己的权限,互不影响。这使得Linux非常适合于多用户环境,如服务器、工作站等。多任务:Linux支持多任务处理,可以同时执行多个程序,且各个程序的运行互相独立。这使得Linux在处理大量任务时具有很高的效率。良好的用户界面:Linux提供了图形用户界面(GUI)和命令行界面(CLI)两种用户界面,用户可以根据自己的喜好选择。图形用户界面直观、易操作,而命令行界面则提供了更强大的功能和灵活性。设备独立性:Linux将所有外部设备都视为文件,只要安装了相应的驱动程序,用户就可以
3、像操作文件一样来操作这些设备。这种设备独立性使得Linux具有很好的设备兼容性。稳定性和可靠性:Linux系统通常非常稳定,能够长时间运行而不需要重新启动。这使得Linux非常适合用于服务器和关键任务的系统。安全性:Linux提供了强大的安全特性,如权限管理、用户身份验证、防火墙和加密等,以保护系统免受恶意攻击。多平台支持:Linux可以运行在各种硬件平台上,从嵌入式设备到个人计算机、服务器和大型主机。这使得Linux具有很高的可移植性和适应性。丰富的应用支持:Linux拥有大量的应用程序和工具,包括各种服务器软件、开发工具、办公软件等,可以满足各种用户的需求。总之,Linux具有开源性、开放
4、性、多用户、多任务、良好的用户界面、设备独立性、稳定性和可靠性、安全性、多平台支持和丰富的应用支持等特性,这使得Linux成为了广泛应用于各种领域的操作系统。2. 虚拟机中快照和克隆的区别是什么?答:虚拟机中的快照和克隆都是备份和恢复虚拟机的重要工具,但它们之间有一些区别:(1)目的不同:快照的主要目的是保存虚拟机在特定时间点的状态和数据,以便在需要时可以回滚到该状态。而克隆的目的是创建一个虚拟机的完整副本,以便在同一台物理服务器上运行多个相同的虚拟机,或者在另一台服务器上迁移虚拟机。(2)对原始虚拟机的依赖:快照是基于原始虚拟机创建的,它只记录原始虚拟机在创建快照时的状态,并通过后续的增量变
5、化来跟踪更新。因此,在恢复快照时,需要依赖原始虚拟机的存在。而克隆是基于原始虚拟机创建一个独立的副本,不再依赖于原始虚拟机。克隆的虚拟机可以作为一个独立的实体存在,并且可以与原始虚拟机完全隔离。(3)对存储空间的使用:快照通常采用增量方式存储,只记录与原始虚拟机状态变化相关的差异数据,因此可以节省存储空间。但是,随着快照的增多,虚拟机的性能可能会受到影响。克隆则是创建一个完全独立的虚拟机副本,占用与原始虚拟机相同的存储空间。(4)创建方式:快照的创建通常是在虚拟机运行状态下进行的,它会记录虚拟机当前的内存状态、磁盘状态等信息。而克隆的创建通常是在虚拟机关闭状态下进行的,它会复制原始虚拟机的所有
6、文件和配置信息,并创建一个新的虚拟机实例。总之,快照和克隆都是虚拟机备份和恢复的重要工具,但它们的目的、对原始虚拟机的依赖、对存储空间的使用以及创建方式都有所不同。在选择使用哪种方式时,需要根据具体的需求和场景来决定。作业2简答题1. 建立一个新用户并把它加入wheel组,设置用户的密码为123。答:要在Linux系统中创建一个新用户并将其添加到wheel组(通常用于sudo权限),您可以使用useradd或adduser命令(取决于您的发行版),然后使用passwd命令设置密码。以下是如何执行此操作的步骤:(1)打开终端或命令行界面。(2)创建新用户。这里我们将新用户命名为newuser:b
7、ashsudo useradd -m newuser -g wheel解释:sudo:以超级用户权限执行命令。useradd:添加新用户。-m:创建用户的主目录。newuser:新用户的用户名。-g wheel:将新用户的主要组设置为wheel组。(3)设置新用户的密码。由于您要求密码为123,我们可以使用echo和passwd结合的方式来设置密码,但请注意,直接在命令行中这样做可能会暴露密码,因此通常不推荐这样做。更好的做法是使用交互式命令来设置密码。不过,如果您仍想按照您的要求来,可以使用以下命令:bashecho newuser:123 | sudo chpasswd解释:echo ne
8、wuser:123:输出一个字符串,格式为用户名:密码。sudo chpasswd:以管理员权限更改用户密码。如果您想以交互方式设置密码,请使用:bashsudo passwd newuser然后,按照提示输入并确认密码123。(4)验证用户是否已添加到wheel组:bashgroups newuser该命令应输出用户所属的组列表,其中包括wheel组。请注意,为了系统安全,通常不建议使用弱密码,如123。在实际操作中,请使用更复杂且难以猜测的密码。2. 新建一个组,将root用户添加到该组,并查看是否添加成功。答:要在Linux系统中新建一个组并将root用户添加到该组,您可以按照以下步骤操
9、作:(1)打开终端或命令行界面。(2)使用groupadd命令新建一个组。例如,我们将新组命名为newgroup:bashsudo groupadd newgroup解释: sudo:以超级用户权限执行命令。 groupadd:添加新组。newgroup:新组的名称。(3)将root用户添加到新建的newgroup组中。这通常不是推荐的做法,因为root用户已经拥有所有的权限,将其添加到其他组可能会导致权限管理上的混淆。不过,如果您确实需要这样做,可以使用usermod命令:bashsudo usermod -aG newgroup root解释:sudo以超级用户权限执行命令。usermod
10、:修改用户属性。-aG:追加用户到附加组(而不是替换用户的所有组)。newgroup:目标组的名称。root:要修改的用户名。(4)验证root用户是否已成功添加到newgroup组。您可以使用groups命令来查看root用户所属的所有组:bashgroups root如果newgroup在输出的组列表中,那么添加就成功了。请注意,将root用户添加到其他组并不是常规操作,因为root用户已经拥有系统上的所有权限。这可能会导致潜在的安全风险或意外的行为。通常情况下,我们不会推荐这样做。如果您需要给某个用户额外的权限,可以考虑将该用户添加到sudo组或其他特定的组,而不是直接添加到root组。
11、3. 简述指定用户 Shell 使用/sbin/nologin 的意义。答:将指定用户的 Shell 设置为/sbin/nologin的意义在于限制该用户登录系统。/sbin/nologin是一个特殊的 Shell 程序,当它被设置为用户的登录 Shell 时,该用户将无法通过常规方式(如 SSH、本地终端等)登录系统。这样的设置通常用于以下几种情况:(1)禁用不活跃的用户帐户:如果一个用户不再需要访问系统,但又不希望完全删除该帐户,可以将其 Shell 设置为/sbin/nologin。这样,即使用户尝试登录,也会收到一条消息,告知他们不能登录,因为他们的帐户当前不可用。(2)安全考虑:在某
12、些情况下,为了增加系统安全性,可能会将某些用户的 Shell 设置为/sbin/nologin,以防止未经授权的访问。例如,如果一个用户的帐户被怀疑被恶意用户接管,可以临时将其 Shell 设置为/sbin/nologin,以阻止该用户继续登录。(3)系统服务帐户:有些系统服务或应用程序需要以特定用户的身份运行,但这些用户通常不需要(也不应该)登录系统。在这种情况下,可以将这些用户的 Shell 设置为/sbin/nologin,以确保它们不会被误用。总之,将用户的 Shell 设置为/sbin/nologin是一种有效的方式来阻止该用户登录系统,这在安全管理和用户帐户管理中是非常有用的。作业
13、3一、填空题1.某文件的组外成员的权限为只读,所有者有全部权限,组内的权限为读与写,则该文件的权限为(764)。2. 使用(lsattr)命令可以查看文件的隐藏属性。3. 使用(chmod)命令可以设置文件或目录的权限。4. 使用(setfacl)命令可以查看ACL 权限。5. 使用(chown)命令可以设置文件或目录的所有者和所属组。二、简答题1. 简述命令 chown与 chmod的区别。答:chown 和 chmod 是两个在 Unix 和 Linux 系统中常用的命令,用于管理文件和目录的权限和所有权。(1)chown(change owner):chown 命令用于更改文件或目录的所
14、有者和/或组。所有者通常是创建文件的用户,而组是文件或目录所属的组。使用 chown 可以更改文件或目录的所有者(user)和/或组(group)。例如,chown username:groupname filename 将文件 filename 的所有者和组分别更改为 username 和 groupname。chown 命令通常需要超级用户(root)权限来执行。(2)chmod(change mode): chmod 命令用于更改文件或目录的权限。这些权限决定了哪些用户(如文件的所有者、文件的组用户或其他用户)可以读取、写入或执行文件。chmod 可以使用八进制数、符号表示法或绝对模式来
15、设置权限。例如,chmod 755 filename 将文件 filename 的权限设置为所有者可读写执行(7),组用户可读写(5),其他用户只可读(5)。 chmod 命令通常不需要超级用户权限,除非要更改的文件或目录需要特殊权限。总的来说,chown 主要关注文件或目录的所有者和组,而 chmod 主要关注文件或目录的访问权限。这两个命令结合使用,可以提供对文件和目录的精细控制。2. 简述mask的作用。答:Mask在不同语境下有不同的作用,以下是一些主要的应用场景和解释:(1)作为英语单词:Mask主要用作名词、及物动词和不及物动词,意为“面具”、“口罩”或“掩饰”。作为及物动词,它可
16、以表示“掩饰”、“戴面具”或“使模糊”。作为不及物动词,它的意思是“掩饰”、“戴面具”或“化装”。(2)在图像处理中:Mask通常用来限制或过滤图像的某些部分,以实现区域选择、遮罩效果或图像编辑等功能。通过将Mask与原始图像进行逐像素的逻辑运算,可以实现对图像的选择性处理和显示。Mask的主要作用包括:区域选择:通过设定感兴趣的区域为白色(像素值为255),而其他区域为黑色(像素值为0),可以创建一个只包含感兴趣区域的Mask。将这个Mask与原始图像进行逻辑与运算,即可提取出感兴趣的区域。遮罩效果:通过将需要隐藏的区域设为黑色(像素值为0),而其他区域设为白色(像素值为255),可以创建一
17、个遮罩Mask。将这个Mask与原始图像进行逻辑与运算,即可实现对图像特定部分的遮罩效果。图像编辑:通过创建一个Mask,其中包含需要编辑的区域(白色像素)和不需要编辑的区域(黑色像素),可以实现对图像的局部编辑。(3)在深度学习中:Mask矩阵具有多种应用场景,如自然语言处理、序列预测、图像分割、数据增强和缺失值处理等。例如,在Transformer模型中的自注意力机制中,Mask矩阵用于掩盖不应被模型看到的信息。在图像分割中,Mask矩阵通过创建一个与目标区域匹配的二值掩码来区分前景和背景。此外,Mask矩阵还可以用于随机掩盖输入的部分信息以增强模型的泛化能力,或在训练过程中标识并排除不完
18、整的信息。总之,Mask的作用取决于其应用场景和上下文。在英语单词中,它主要表示“面具”、“口罩”或“掩饰”。在图像处理中,它用于实现区域选择、遮罩效果和图像编辑等功能。而在深度学习中,Mask矩阵则具有多种应用场景,如自然语言处理、图像分割、数据增强和缺失值处理等。作业4一、填空题1. 将前一个命令的标准输出作为后一个命令的标准输入,称为(管道 )。2.标准输出与标准错误都重定向到相同的文件,需要添加()符号。3. 如果需要将两条命令输出都重定向,则需要添加(括号)。4.(grep)命令用于字符串的查找。5. Linux系统的标准输入设备是(键盘)。二、简答题1. 什么是文件描述符?答:文件
19、描述符(file descriptor)是计算机系统中一个非常重要的概念,尤其在UNIX和Linux这样的操作系统中。它是一个非负整数,用于标识打开的文件、管道、网络连接、终端设备等资源。在操作系统中,文件描述符用于抽象地表示这些资源,使得程序可以方便地对它们进行读写操作。每个打开的文件或设备都会有一个唯一的文件描述符,这个描述符可以用来在程序中引用该文件或设备。例如,当程序打开一个文件时,操作系统会返回一个文件描述符,程序可以使用这个描述符来读取或写入文件。同样地,对于管道、网络连接等其他类型的资源,也有相应的描述符用于标识和引用它们。文件描述符实际上是一个索引值,它指向操作系统为每个进程维
20、护的一个打开文件记录表。这个表通常被称为文件描述符表,它包含了关于每个打开文件的详细信息,如文件的打开模式、位置、类型等。通过文件描述符,进程可以方便地访问和操作这些文件。在程序设计中,文件描述符是一个非常重要的概念,尤其是在进行底层编程时。许多系统调用和库函数都会涉及到文件描述符的使用,如打开文件、读写文件、关闭文件等。因此,理解文件描述符的概念和作用对于深入理解计算机系统和操作系统的工作原理是非常重要的。2.简述管道的作用。答:在Linux系统中,管道(pipe)是一种非常重要的机制,用于在命令行操作中实现进程间的数据通信和协作。管道允许将一个进程的输出直接作为另一个进程的输入,从而实现了
21、命令之间的连接和组合。这种机制通过管道符号(|)来实现,极大地提高了命令行操作的效率和灵活性。管道的主要作用包括:(1)数据传输:管道可以将数据从一个进程传输到另一个进程。例如,通过管道,一个进程的输出数据可以直接传递给另一个进程进行处理,而不需要将数据写入文件再读取,从而大大提高了数据传输的效率。(2)数据过滤和处理:管道可以用来过滤和处理数据。通过组合多个命令,可以对数据进行复杂的处理和转换。例如,可以使用管道将一个命令的输出传递给另一个命令来进行文本处理、排序、计数等操作。(3)实现自定义的命令序列:管道允许用户将简单的命令组合成强大的、复杂的命令序列。每个命令执行一个小的任务,并通过管道将结果传递给下一个命令,这样,多个命令就可以协同工作,完成更复杂的处理任务。(4)提高命令行操作的效率和灵活性:通过管道,用户可以创建复杂的数据处理流程,而无需编写复杂的脚本或程序。这极大地提高了命令行操作的效率和灵活性,使得用户可以更加高效地处理数据和完成任务。此外,管道在Linux系统中还具有一些其他的特点和优势,如支持并行计算、进程控制和同步等。通过管道,用户可以更加灵活地进行进程间的通信和协作,从而实现更加高效和复杂的任务处理。总之,管道是Linux系统中一项非常重要的特性,它将简单的命令组合成强大的数据处理工具,极大地提高了命令行操作的效率和灵活性。