Linux错题集

1、以下说法正确的是

        正确答案: A D   你的答案: A C D (错误)

  1. linux系统中的/var/log/lastlog日志记录了所有用户最后登录的记录,可以用lastlog命令查看
  2. linux系统中的/var/log/last日志可以用last命令查看
  3. /var/log/wtmp日志记录了登录过本系统的用户信息,可以用`tail -f`命令查看
  4. /var/run/utmp日志记录了正在登录本系统中的用户信息,可以用`last -f`命令查看

解析:

在 Linux 里,utmp 文件的绝对路径是 /var/run/utmp ,该文件通常用 who 命令来读取;wtmp 文件的绝对路径是 /var/log/wtmp ,该文件通常通过 last 命令来读取。这两个文件都不是普通的文本文件,所以不能用 cat ,less,more 等命令来查看。

utmp日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。系统中需要查询当前用户状态的程序,如 who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。

wtmp日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。

-f 文件名

指定登录的日志文件(默认是/var/log/wtmp)

last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户

users用单独的一行打印当前登录的用户,每个显示的用户名对应一个登录对话

w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息

who命令查询utmp文件并报告当前登录的每个用户

ac命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连结的时间

wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并(使用cat命令),用户需要使用who、w、users、last和ac来使用这两个文件包含的信息。

2、以下对logcat 命令描述正确的是:

        正确答案: B D   你的答案: A B (错误)

  1. logcat是linux  shell中的一个命令行工具,可以用于得到程序的输入信息
  2. adb logcat –v time
  3. adb log cat –F logcat.txt
  4. adb logcat -c

解析:

logcat是Android中一个命令行工具,可以用于得到程序的log信息

logcat -v time 打印log的同时打印系统时间

logcat -c 清除已有log

3、对于Linux说法,下列说法正确的是()

        正确答案: A   你的答案: D (错误)

  1. 线性访问内存非法时,当前线程会进入信号处理函数
  2. 用mv命令移动文件时,文件的修改时间会发生变化
  3. ulimit -c设置的是函数调用栈的大小
  4. malloc函数是操作系统最底层申请内存的接口

解析:

A

B:不会变化

C:ulimit用于shell启动进程所占用的资源.-c size:设置core文件的最大值.单位:blocks

D:malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具***置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。

malloc是库函数,"操作系统申请内存的接口 "指的是系统调用,库函数中封装了系统调用,库函数与系统调用是两个不同的概念。所以D选项错误。

malloc是glibc里的库函数,它封装了一些向系统申请内存的系统调用,而且并不是每次使用malloc的时候都会向系统申请新的内存,所以D是错的

4、哪个变量用来指定一个远程X应用程序将输出放到哪个X server上

        正确答案: B   你的答案: D (错误)

  1. TERM
  2. DISPLAY
  3. ECHO
  4. OUTPUT

解析:

Linux X Window System中X是一个开放的协议规范,当前版本为11,俗称X11。X Window System由客户端和服务端组成,服务端X Server负责图形显示,而客户端库X Client根据系统设置的DISPLAY环境变量,将图形显示请求发送给相应的X Server。

5、用 vi 打开一个文件,如何用字母 “new” 来代替字母 “old”()

        正确答案: C   你的答案: D (错误)

  1. :s/old/new
  2. :r/old/new/
  3. :1,$s/old/new/g
  4. :s/old/new/g

解析

C 选项正确,表示从第一行到最后一行寻找 old 字符串,并将该字符串取代为 new。
1,$ 表示从第一行到文件尾行;
s 表示替换;
/g 表示在全局文件中进行替换,省略时仅对每行第一个匹配串进行替换。

6、vivek希望将他的login ID从vivek改为viv,应该执行下列哪个命令?

        正确答案: A   你的答案: B (错误)

  1. usermod -l viv vivek
  2. usermod -l vivek viv
  3. usermod -m viv vivek
  4. usermod -m vivek viv

解析:

usermod -l 修改账号名称,使用格式:usermod -l  new_name  old_name

usermod(选项)(参数):参数若为两个,顺序一般为  usermod (选项)  目标参数  原始参数

-c<备注>:修改用户帐号的备注文字; 

-d<登入目录>:修改用户登入时的目录; 

-e<有效期限>:修改帐号的有效期限; 

-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号; 

-g<群组>:修改用户所属的群组; 

-G<群组>;修改用户所属的附加群组; 

-l<帐号名称>:修改用户帐号名称; 

-L:锁定用户密码,使密码无效; 

-s:修改用户登入后所使用的shell; 

-u:修改用户ID; 

-U:解除密码锁定。

7、在bash中,在一条命令后加入“1>&2”的意义是

        正确答案: C   你的答案: A (错误)

  1. 标准错误输出重定向到标准输入
  2. 标准输入重定向到标准错误输出
  3. 标准输出重定向到标准错误输出
  4. 标准输出重定向到标准输入

解析:

0:标准输入

1:标准输出

2:标准错误输出

">"表示重定向,&2表示标准错误输出的通道, 所以1>&2表示标准输出重定向到标准错误输出通道 ;

而1>2表示标准输出重定向到文件名为2的文件中。

8、网络服务的daemon是:

        正确答案: A   你的答案: B (错误)

  1. netd
  2. httpd
  3. inetd
  4. lpd

解析:

1、 Service就是指常驻内存大一些程序,且可以提供一些系统或是网络功能。提供service的那个程序就成为daemon。Daemon和service可以视为等同,不必刻意去区分。
2、 Daemon可以分为两类,一类是可独立启动的,成为stand alone;另一类是通过一支super daemon来统一管理的服务。
3、 Stand alone类型的daemon能够自动启动,常驻内存,对请求响应较快,如httpd、vsftpd等。
4、 Super daemon统一管理的是用户有请求,super daemon就唤醒响应daemon,如果用户请求结束,就kill掉该daemon。优点不用常驻内存,缺点装到内存需要时间。如telnet。这个super daemon早期是inetd,后来被xinetd取代。

这里说的是网络的daemon应该指的是network daemon,netd表示network的守护进程,netd主要负责一些网络的相关配置,操作,管理和查询功能的实现
关于netd的资料找到的很少,以下是唯一找到的一片文章介绍的 netd学习记录(一)概述|Gaozhipeng's Blog 

A:     Netd 就是Network Daemon 的缩写,表示Network守护进程. Netd负责跟一些涉及网络的配置,操作,管理,查询等相关的功能实现,比如,例如带宽控制(Bandwidth),流量统计,带宽控制,网络地址转换(NAT),个人局域网(pan),PPP链接,soft-ap,共享上网(Tether),配置路由表,interface配置管理,等等.好像Andorid用的

C:    inetd是监视一些网络请求的 守护进程 ,其根据网络请求来调用相应的服务进程来处理连接请求。它可以为多种服务管理连接,当 inetd 接到连接时,它能够确定连接所需的程序,启动相应的进程,并把 socket 交给它 。

9、Linux2.6 中,默认情况下一个进程最多能打开多少文件?

        正确答案: D   你的答案: B (错误)

  1. 64
  2. 128
  3. 512
  4. 1024

10、采用多路 I/O 复用监听 3 个套接字的数据时,如果套接字描述符分别是:5,17,19,则下面 select 代码中的 maxfd 应取为()

1

select(int maxfd,struct fd_set* rdset,NULL,NULL)

        正确答案: B   你的答案: D (错误)

  1. 4
  2. 20
  3. 5
  4. 19

解析

maxfd 是指定要监视的文件描述符的范围,一般取监视的描述符数的最大值 + 1。

11、新建一个管理员用户 admin,需要使用的参数()

        正确答案: A   你的答案: B (错误)

  1. useradd -u 0 -o admin
  2. useradd -g -0 admin
  3. useradd -p -d admin
  4. useradd -e -f admin

解析:

-u 用户号 指定用户的用户号;因为系统用户的用户号为 0,故指定用户号为 0;

如果同时有 -o 选项,则可以重复使用其他用户的标识号,因为系统本身存在用户号为 0 的系统用户,故应该使用该参数。

12、不需要编译或加载内核的情况是 :

正确答案: D   你的答案: A (错误)

  1. 删除系统不用的设备驱动程序时
  2. 升级内核时
  3. 添加新硬件时
  4. 将网卡激活

解析:

激活网卡就用ifconfig eth0 up

只要你代码或配置有改动,都要重新编译的,只是如果代码写成块模式的,不用整个代码都重新编译,编译器会自动编译改动了的代码。ABC都改动了原有的配置,D没有,选择D。

13、以下哪一个命令只查找源代码、二进制文件和帮助文件,而不是所以类型的文件?此命令查找的目录是由环境变量$PATH指定的

        正确答案: A   你的答案: C (错误)

  1. whereis
  2. whatis
  3. which
  4. apropos

解析:

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。

但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

1.命令格式:

whereis [-bmsu] [BMS 目录名 -f ] 文件名

2.命令功能:

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。

3.命令参数:

-b   定位可执行文件。

-m   定位帮助文件。

-s   定位源代码文件。

-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

-B   指定搜索可执行文件的路径。

-M   指定搜索帮助文件的路径。

-S   指定搜索源代码文件的路径。

whereis    查看文件的位置

-b : 只找二进制文件 
-m: 只找在说明文件manual路径下的文件 
-s : 只找source源文件 
-u : 没有说明文档的文件

which      查看可执行文件的位置

whatis    用于查询命令有什么功能

apropos    搜索指定关键词的命令

14、在Linux中,下列错误的是()

        正确答案: A   你的答案: B (错误)

  1. /etc/ld.so.conf是ping的配置文件
  2. tar -czvf filename.tgz *可以压缩部分文件
  3. /etc/httpd/conf/httpd.conf是apache的主配置文件
  4. tar -xzvf filename.tgz解压缩tar文件

解析:

/etc/ld.so.conf 此文件记录了编译时使用的动态库的路径,也就是加载so库的路径。

默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,而通常通过源码包进行安装时,如果不指定--prefix会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf中添加/usr/local/lib这个目录。

15、在Redhat公司发布的Linux版本中,若要使得用户登录验证,需要修改以下__ ___脚本。

        正确答案: C   你的答案: A (错误)

  1. /etc/inittab
  2. /etc/passwd
  3. /etc/shadow
  4. /etc/group

解析:

/ect/passwd用来保存用户的基本信息,而/etc/shadow用来保存所有用户的密码,在/etc/shadow中第二字段为用户的加密密码,如果密码是"!!"或" * "则代表没有密码不能登录,需要用户登录验证

16、在Linux上,对于多进程,子进程继承了父进程的下列哪些?

        正确答案: B C D   你的答案: A B C D (错误)

  1. 进程地址空间
  2. 共享内存
  3. 信号掩码
  4. 已打开的文件描述符
  5. 以上都不是

解析:

正确答案是BCD

  • 参考CSDN BlogCSDN了解更多。
  • 子进程继承父进程
    • 用户号UIDs和用户组号GIDs
    • 环境Environment
    • 堆栈
    • 共享内存
    • 打开文件的描述符
    • 执行时关闭(Close-on-exec)标志
    • 信号(Signal)控制设定
    • 进程组号
    • 当前工作目录
    • 根目录
    • 文件方式创建屏蔽字
    • 资源限制
    • 控制终端
  • 子进程独有

    • 进程号PID
    • 不同的父进程号
    • 自己的文件描述符和目录流的拷贝
    • 子进程不继承父进程的进程正文(text),数据和其他锁定内存(memory locks)
    • 不继承异步输入和输出
  • 父进程和子进程拥有独立的地址空间和PID参数。

  • 子进程从父进程继承了用户号和用户组号,用户信息,目录信息,环境(表),打开的文件描述符,堆栈,(共享)内存等。
  • 经过fork()以后,父进程和子进程拥有相同内容的代码段、数据段和用户堆栈,就像父进程把自己克隆了一遍。事实上,父进程只复制了自己的PCB块。而代码段,数据段和用户堆栈内存空间并没有复制一份,而是与子进程共享。只有当子进程在运行中出现写操作时,才会产生中断,并为子进程分配内存空间。由于父进程的PCB和子进程的一样,所以在PCB中断中所记录的父进程占有的资源,也是与子进程共享使用的。这里的“共享”一词意味着“竞争”

17、关于Linux交换分区的说法正确是(      )

        正确答案: B C   你的答案: B D (错误)

  1. 安装Linux系统时必须划分交换分区
  2. 交换分区的作用是虚拟内存空间
  3. 交换分区的数据存取速度比物理内存慢
  4. 计算机内存为8GB,则交换分区的大小通常设置为16GB

18、邮件服务器为每个用户限制磁盘存储空间上限,执行checkquota -cug /var/mail指令后, 在/var/mail目录自动创建的配置文件是(      )

        正确答案: B C   你的答案: A D (错误)

  1. quota.user
  2. aquota.user
  3. aquota.group
  4. quota.group

解析:

aquota.group与aqouta.user分别是组以及用户磁盘配额需要的配置文件。

如果没有这两个文件,则磁盘配额是不会生效的。

quota(选项)(参数)

选项有:

-g:列出群组的磁盘空间限制;
-q:简明列表,只列出超过限制的部分;
-u:列出用户的磁盘空间限制;
-v:显示该用户或群组,在所有挂入系统的存储设备的空间限制;
-V:显示版本信息。
 

参数有:

用户或者工作组:指定要显示的用户或者工作组。

19、在Linux主机上完全安装了RHEL5,这时系统会默认安装DHCP服务器软件包,下面关于DHCP服务器的配置文件描述正确的是(  )

        正确答案: B D   你的答案: A C (错误)

  1. DHCP服务器的配置文件为/etc/dhcp/dhcpd.conf
  2. DHCP服务器的配置文件为/etc/dhcpd.conf
  3. DHCP服务器的配置文件默认是存在的,不需要创建
  4. DHCP服务器的配置文件默认是不存在的,需要手工创建

解析:

        如果是RHEL7的话,选AC

20、以下哪个是日志文件系统()

        正确答案: C D E   你的答案: C D E (正确)

  1. ext2
  2. fat32
  3. ntfs
  4. ext3
  5. ext4

1.基本的linux操作系统:ext文件系统,ext2文件系统

2.日志文件系统:ext3文件系统,ext4文件系统,Reiser文件系统,JFS文件系统,XFS文件系统

3.写时复制文件系统:ZFS文件系统,Btrf文件系统

21、linux下查看当前网络连接的命令。

        正确答案: B   你的答案: A (错误)

  1. ping
  2. netstat
  3. route
  4. tracert

解析:

22、下列有关Nginx配置文件nginx.conf的叙述正确的是()

        正确答案: A D   你的答案: A C D (错误)

  1. nginx进程数设置为CPU总核心数最佳
  2. 虚拟主机配置多个域名时,各域名间应用逗号隔开
  3. sendfile on;表示为开启高效文件传输模式,在进行下载等应用磁盘IO重负载应用时,应设置为on
  4. 设置工作模式与连接数上限时,应考虑单个进程最大连接数(最大连接数=连接数*进程数)


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值