2021年04月18日Linux专项练习5

考点1:Linux开发者

Linux 最早是由一位名叫( )的计算机爱好者开放。

  • A Richard Petersen
  • B Linus Torvalds
  • C Rob Pike
  • D Linus Sarwar

解析

显示答案/隐藏答案正确答案: B

李纳斯·脱袜子

考点2:Linux pagefault

Linux什么情况下回发生page fault;

  • A 系统可用内存不够时
  • B 所需访问虚拟内存未被装载
  • C 当开始进行swap交换时
  • D 当进程被挂起时

解析

显示答案/隐藏答案正确答案: B

影响一个应用程序性能的因素有很多,这次说说page fault。

  1. 为什么会存在page fault问题?
    计算机的物理内存(看看你的内存条)有限,一般现在都是几个GB的容量了,BTW,我的笔记本有8GB,:-)。
    但应用程序的需求是无限的,操作系统为了解决这个矛盾,使用了虚拟内存的设计。简单的描述就是,给应用程序
    一个与物理内存无关的虚拟地址空间,并提供一套映射机制,将虚拟地址映射到物理内存。当然应用程序是不知道
    有这个映射机制存在的,他唯一需要做的就是尽情的使用自己的虚拟地址空间。操作系统提供的映射机制是
    运行时动态进行虚拟地址和物理地址之间的映射的,当一个虚拟地址没有对应的物理内存时候,
    映射机制就分配物理内存,构建映射表,满足应用程序的需求,这个过程就叫page fault。
    与直接访问物理内存不同,page fault过程大部分是由软件完成的,消耗时间比较久,所以是影响性能的一个关键指标。
    Linux把page fault又进一步分为minor page fault和major page
    fault。前面提到的分配物理内存,构建映射表过程可以看做是
    minor page fault。major page
    fault是由swap机制引入的,对于swap情况,地址映射好了后,还需要从外部存储读取数据,这个
    过程涉及到IO操作,耗时更久。
  2. 如何查看应用程序的page fault指标呢?
    1) 可以使用time命令:
    比如我想看看svm-train的情况(模型训练很耗资源)\time svm-train
    age_train_equal.txt(前面的斜杠表示不使用shell的内嵌time命令)
    输出是:7.68user 0.02system 0:07.71elapsed 99%CPU (0avgtext+0avgdata
    42768maxresident)k
    0inputs+6696outputs (0major+15445minor)pagefaults
    0swaps
    可以看到只有minor page fault,没有major。
    time命令的实现是用到了Linux提供的rusage机制。Linux的wait API可以返回一个应用程序的运行过程的资源消耗情况。
    如果你想在自己的代码中获取资源利用情况,可以使用libc的getrusage函数,这个函数也是内核的API。
    2) proc文件系统
    Linux系统下的/proc/PID/stat文件,也提供了相关统计数据。
    转自: http://www.cnblogs.com/cornsea/archive/2012/12/17/2821429.html

考点3:Linux文件去重并排序

以下哪个命令可实现文件去重并排序:

  • A uniq demo.txt
  • B sort demo.txt
  • C uniq demo.txt|sort
  • D sort demo.txt|uniq

解析

显示答案/隐藏答案正确答案: D

考点4:自定义DNS解析

当内网内没有条件建立dns服务器,又不想用IP访问网站,应配置什么文件

  • A hosts
  • B sysconfig
  • C network
  • D hostname

解析

显示答案/隐藏答案正确答案: A

hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决。通过可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问。

hosts文件在/etc/hosts下。
既然看到/etc/了,兄弟萌一起来回顾下/etc/目录下的一些文件的作用吧!!!
/etc/resolv.conf 是DNS配置文件。在网卡配置文件中进行配置,默认情况下 网卡配置文件DNS优先于/etc/resolv.conf。
/etc/hostname 在Centos 7,配置主机名,查看修改。
/etc/hosts ip与域名对应关系 ,解析域名(主机名),用/etc/hosts搭建网站的测试环境 (虚拟机)。不同服务器之间相互访问。
/etc/gateways 设置路由器
/etc/fstab file system table :文件系统挂载表,开机的时候设备与入口对应关系 开机自动挂载列表。
/etc/rc.local 开机自启
/etc/inittab(centos 6)运行级别的配置文件
/etc/profile 环境变量配置文件
/etc/bashrc 命令别名
/etc/motd 文件中的内容 会在用户登录系统之后显示出来
/etc/issue /etc/issue.net 文件中的内容 会在用户登录系统之前显示出来

考点5:tar解压缩到指定目录:tar -xvzf 压缩包 -C 目的目录

为了将当前目录下的归档文件myftp. tgz解压缩到/tmp目录下,用户可以使用命令

  • A tar xvzf myftp. tgzC /tmp
  • B tar xvzf myftp. tgzR /tmp
  • C tar vzf myftp. tgzX /tmp
  • D tar xvzf myftp. tgz /tmp

解析

显示答案/隐藏答案正确答案: A

tar命令中
-x:extract files from an archive即从归档文件中释放文件;
-v:verbosely list files processed即详细列出要处理的文件;
-z:filter the archive through gzip即通过gzip解压文件;
-f:use archive file or device ARCHIVE即使用档案文件或设备;
通常情况下解压.tar.gz和.tgz等格式的归档文件就可以直接使用tar xvzf;
因为要解压到指定目录下,所以还应在待解压文件名后加上-C(change to directory)参数

tar 配合压缩解压缩常用用法

tar压缩

tar -cvzf 打包文件名 打包文件集

tar解压缩

tar -xvzf 需要解包的文件名 -C 解压路径.

x解压
z表示gz压缩文件
v显示过程
f指定的文件

-C指定位置

-c: 建立新的备份文件
-t:列出备份文件的内容
-x:从备份文件中还原文件
-z:通过gzip指令处理备份文件
-v:显示指令执行过程
-f:指定压缩或解压文件

touch a.c  
# 压缩 a.c文件为test.tar.gz a.c
tar -czvf test.tar.gz a.c   
# 列出压缩文件内容
tar -tzvf test.tar.gz
# 解压文件
tar -xzvf test.tar.gz

-C(change to directory)参数

考点6:

设定linux系统默认为字符模式,需要修改的配置文件是( )

  • A /etc/fstab
  • B /etc/inittab
  • C /etc/boot
  • D /etc/inittab.conf

解析

显示答案/隐藏答案正确答案: B

etc/inittab 最后一行是运行等级,我的是centos6.5,默认是5,即图形化界面,将5修改为3后,则默认的启动模式将由图形化界面变为纯字符的命令行模式。两者之间也可以通过键盘组合键来转换,ctrl+alt+F2切换到纯字符,alt+F2切换成图形化界面。

把id:5:initdefault中5修改3,

Linux下有7个运行级别

0系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。
1单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
2多用户模式,没有NFS网络支持。
3完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
4系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 5图形化模式,登陆后进入图形GUI模式,X Window系统。
6重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启。

考点7:chmod修改文件权限

文件目录data当前权限为rwx------,只需要增加用户组可读可执行权限,但不允许写操作,具体方法为:

  • A chmod +050 data
  • B chmod +040 data
  • C chmod +005 data
  • D chmod +004 data

解析

显示答案/隐藏答案正确答案: A

对目录来说只有(r)权限是无法进入的,还要赋予执行权限(x)

考点8:chmod修改文件权限

文件exer1的访问权限为rw-r--r-- ,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是

  • A chmod a+x,g+w exer1
  • B chmod 775 exer1
  • C chmod o+x exer1
  • D chmod g+w exer1

解析

显示答案/隐藏答案正确答案: AB

u-g-o:表示用户-用户组-其他用户。
a : 表示所有 用户,
x : 执行权限,r:读权限,w:写权限。
A: a+x = 增加所有用户的执行权限;g+w = 同组用户的写权限,正确;
B:由于文件exer1 刚开始的访问权限为
rw- r– r–,
所有用户加上执行权限变为:rwx r-x r-x
同组用户加上写权限变为:rwx rwx r-x = 775(4-2-1表示r-w-x)。正确。

考点9:删除非目录的方法

Linux的非root用户,在自己的目录中,不可以删除非空目录dirs的方法是:

  • A rm dir dirs
  • B rm -r dirs
  • C mv dirs /dev/null
  • D destroy dirs

解析

显示答案/隐藏答案正确答案: ACD