Linux 例题及详解

1.(yum)以下描述正确的是 

A.在Centos中可以使用yum install 命令安装软件包

B.在Centos中可以使用yum uninstall 命令卸载软件包

C.在Centos中可以使用yum list 查看所有可安装软件包

D.在Centos中可以使用yum show查看所有可安装软件包

选项A、C是正确的,而选项B、D是不正确的。

A. 在CentOS中,确实可以使用yum install命令来安装软件包。yum是CentOS中的一个包管理器,它可以自动处理依赖关系,并从官方或第三方仓库中下载并安装软件包。

B. 虽然在CentOS中可以使用yum remove命令来卸载软件包,但并没有yum uninstall这个命令。正确的命令是yum remove package_name

C. yum list命令可以用来列出所有可用的软件包,包括已安装的和可以从仓库中安装的软件包。这可以帮助用户了解有哪些软件包可供安装。

D. yum show命令并不用于查看所有可安装的软件包,而是用于显示特定软件包的详细信息。要查看所有可安装的软件包,应该使用yum list命令。

因此,正确的描述是A和C。

2. 如果系统的umask设置为244,创建一个新文件后,它的权限:

A.--w-r--r--

B.-r-xr--r--

C.-r---w--w-

D.-r-x-wx-wx

umask 是一个用于设置默认文件权限的命令,它定义了新创建文件或目录的权限掩码。umask 的值是以三位八进制数表示的,每一位对应一个用户组的权限(用户、组、其他)。每位的值是从7(读、写、执行权限全有)减去该位上的数字得到的,这样就可以得到新创建文件或目录的权限。

在这个例子中,umask 244 对应的八进制权限表示为 0244,这里的 0 是前缀,表示这是一个八进制数。实际上,我们只需要关注后面的三位数字 244

按照 umask 的工作原理(777的情况,默认umask为022),我们可以计算出每个用户组的权限:

  • 用户(Owner)权限:从 7 减去第一位数字 2,得到权限为 5,即读(4)和执行(1)权限,没有写(2)权限。
  • 组(Group)权限:从 7 减去第二位数字 4,得到权限为 3,即读(4)和执行(1)权限,没有写(2)权限。
  • 其他(Others)权限:从 7 减去第三位数字 4,得到权限为 3,即读(4)和执行(1)权限,没有写(2)权限。

所以,umask 244 设置的是用户、组和其他用户都没有写权限,但都有读和执行权限。这意味着新创建的文件或目录,其权限将被设置为至少包含读和执行权限,但不包含写权限。

总结一下,umask 244 对应的权限是:

  • 用户(Owner):读(4)+ 执行(1)= 5,无写(2)权限。
  • 组(Group):读(4)+ 执行(1)= 3,无写(2)权限。
  • 其他(Others):读(4)+ 执行(1)= 3,无写(2)权限。

因为该题是文件,不是目录所以默认权限权限为0666去掉掩码后为.-r---w--w-

3. 以下(yum)命令正确的是:

A.yum makecache命令的功能是将服务器的软件包信息缓存到本地

B.yum search命令可以在所有软件包中搜索包含有指定关键字的软件包

C.yum clean all 命令可以清除缓存中老旧的头文件和软件包

D.yum upgrade命令可以更新所有的rpm软件包

上述四个命令都是正确的,它们分别执行不同的功能:

A. yum makecache 命令的功能确实是将服务器的软件包信息缓存到本地,这样可以加快后续的软件包管理操作,因为不需要每次都从服务器下载软件包信息。

B. yum search 命令用于在所有软件包中搜索包含指定关键字的软件包。这个命令可以帮助用户找到他们需要的软件包。

C. yum clean all 命令用于清除缓存中老旧的头文件和软件包,这有助于释放磁盘空间,特别是在软件包经常更新的环境中。

D. yum upgrade 命令用于更新所有的rpm软件包。这个命令会将系统中已安装的所有软件包更新到最新版本。

因此,所有选项A、B、C和D都是正确的。

4.Vi编辑器中,怎样将字符AAA全部替换成yyy?

A.p/AAA/yyy/

B.s/AAA/yyy/g

C.i/AAA/yyy/

D.p/AAA/yyy/h

在Vi编辑器中,要将字符AAA全部替换成yyy,可以使用替换命令。正确的命令格式是:

:s/AAA/yyy/g

这个命令的意思是在当前行中查找所有的AAA并将其替换为yyy。其中:

  • : 开始一个命令
  • s 表示替换(substitute)
  • /AAA/yyy/ 表示将AAA替换为yyy
  • g 表示全局(global),意味着替换每一行中的所有匹配项,如果没有这个选项,则只会替换每行的第一个匹配项

所以,正确答案是:

B. s/AAA/yyy/g

5. 下列关于makefile描述正确的有?

A.makefile文件保存了编译器和连接器的参数选项

B.主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释

C.默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、“makefile”、“Makefile”的文件, 找到了解释这个文件

D.在Makefile不可以使用include关键字把别的Makefile包含进来

A. makefile文件保存了编译器和连接器的参数选项。这个描述是正确的。Makefile确实包含了编译和链接程序所需的命令和选项。它定义了一系列的规则,这些规则指定了如何从不同的依赖文件构建目标文件。

B. 主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。这个描述也是正确的。Makefile中的显式规则指定了具体的依赖关系和生成目标文件的命令。隐晦规则则是make工具自带的一些默认规则,用于自动推导某些文件的依赖关系和构建命令。变量定义允许用户定义一些可以在整个Makefile中使用的变量。文件指示用于包含其他文件或者设置特殊的命令行选项。注释用于添加对Makefile内容的解释。

C. 默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、“makefile”、“Makefile”的文件, 找到了解释这个文件。这个描述部分正确。默认情况下,make命令确实会按照这个顺序寻找Makefile文件。但是需要注意的是,通常推荐使用“Makefile”作为文件名,因为它是许多Unix系统的惯例,而且很多编辑器和工具都对它有特别的支持。

D. 在Makefile不可以使用include关键字把别的Makefile包含进来。这个描述是错误的。Makefile中是可以使用include关键字来包含其他Makefile文件的。这样做可以将一个大的Makefile分解成多个小文件,使得Makefile的管理更加模块化。

综上所述,正确的选项是A、B和C。选项D是不正确的。

6.下列关于make/Makefile描述正确的有?

A.make会生成Makefile中定义的所有目标对象

B.make会自动根据依赖对象检测目标对象是否需要重新生成

C.Makefile中伪对象的功能是目标对象存在则不需要生成

D.Makefile中声明伪对象使用 .PHONY

A. make会生成Makefile中定义的所有目标对象
这个说法不完全正确。make命令会检查Makefile中的依赖关系,并且只会重新编译那些依赖项发生了变化的目标对象。如果一个目标对象的依赖项没有发生变化,那么它不会被重新生成。

B. make会自动根据依赖对象检测目标对象是否需要重新生成
这个说法是正确的。make命令的核心功能就是根据Makefile中定义的依赖关系,自动检测哪些目标对象需要重新生成。如果一个目标对象的依赖项比目标对象本身更新,那么make就会执行相应的命令来更新这个目标对象。

C. Makefile中伪对象的功能是目标对象存在则不需要生成
这个说法不准确。伪对象(phony target)并不是因为目标对象存在而不需要生成,而是即使目标对象存在,也会被执行。伪对象通常用来表示一些不是文件的目标,比如"clean"或者"all",它们不代表实际的文件,而是代表一组操作。

D. Makefile中声明伪对象使用 .PHONY
这个说法是正确的。在Makefile中,使用.PHONY声明后面跟着的是伪对象。这意味着无论是否有同名的文件存在,这些伪对象总是会被执行。

综上所述,正确的描述是B和D。

相关推荐

  1. Linux 例题详解

    2024-07-10 15:34:04       10 阅读
  2. Linux:vim详解使用

    2024-07-10 15:34:04       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 15:34:04       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 15:34:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 15:34:04       4 阅读
  4. Python语言-面向对象

    2024-07-10 15:34:04       5 阅读

热门阅读

  1. 金蝶云苍穹-插件开发(四)GPT开发相关插件

    2024-07-10 15:34:04       13 阅读
  2. Windows图形界面(GUI)-SDK-C/C++ - 应用程序结构

    2024-07-10 15:34:04       14 阅读
  3. MySQL 速记SQL语句(SQL语句学习)

    2024-07-10 15:34:04       11 阅读
  4. xformers版本与其依赖pytorch版本的对应关系

    2024-07-10 15:34:04       9 阅读
  5. C++线程安全队列

    2024-07-10 15:34:04       12 阅读