Linux面试题及错题积累

以下习题来自牛客网
以下答案来自广大热心网友

Linux面试题

  1. 若一台计算机的内存为128MB ,则交换分区的大小通常是
    A. 64MB

    B. 128MB

    C. 256MB

    D. 512MB

答案:C

解析: 一般是内存*1.5或者2

交换分区,就是windows中虚拟内存在linux中的叫法;其空间的分配的推荐做法是:

目前Red Hat(红帽官方)推荐交换分区的大小应当与系统物理内存的大小保持线性比例关系。

在小于2GB物理内存的系统中,交换分区大小应该设置为内存大小的两倍;

如果内存大小多于2GB,交换分区大小应该是物理内存大小加上2GB;

原则上,由于交换分区读写速度比真正内存区慢的多,因此在实际应用中如果不是特别需要应该设置的越小越好。

  1. Samba 服务器的配置文件是

    A. httpd.con

    B. inetd.conf

    C. rc.samba

    D. smb.conf

答案:D

解析:

文件 说明
http.conf WEB服务器配置文件
initd.conf 启动脚本配置文件
rc.samba samba脚本
smb.conf samba服务配置文件
  1. Linux 有三个查看文件的命令

    cat,less,more都可以查看,只是查看的方式不一样;

    less可以让光标上下移动;

    more只能用enter键往下翻;

    cat的话直接跳到最后一页了。

  2. 建立动态路由需要用到的文件有

    A. /etc/hosts

    B. /etc/HOSTNAME

    C. /etc/resolv.conf

    D. /etc/gateways

答案:D

解析:

文件 说明
/etc/hosts 设定用户自已的IP与名字的对应表
/etc/HOSTNAME 设定用户的节点名
/etc/resolv.conf 设置DNS
/etc/gateways 设定路由器
  1. 将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz 文件,并将此文件保存到/home 目录下,实现此任务的tar 格式为

    tar zcvf /home/wang.tar.gz /home/stud1/wang
    

  1. shell不仅仅是用户命令解释器,同时一种强大的编程语言,linux缺省的shell是什么

    A. bash

    B. ruby

    C. PHP

    D. perl

答案:A

解析: 缺省,即默认的意思

linux中,shell缺省的是bash

  1. 下列不是Linux系统进程类型的是 。

    A. 交互进程

    B. 批处理进程

    C. 守护进程

    D. 就绪进程

答案:D

解析:就绪指的是进程三状态之一。

按照进程的功能和运行的程序分类,进程可划分为两大类:

(1) 系统进程:可以执行内存资源分配和进程切换等管理工作;而且,该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行。

(2) 用户进程:通过执行用户程序、应用程序或内核之外的系统程序而产生的进程,此类进程可以在用户的控制下运行或关闭。

针对用户进程,又可以分为交互进程批处理进程守护进程三类。
(1) 交互进程:由一个shell终端启动的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行在后台。

(2) 批处理进程:该进程是一个进程集合,负责按顺序启动其他的进程。

(3) 守护进程:守护进程是一直运行的一种进程,经常在linux系统启动时启动,在系统关闭时终止。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。例如httpd进程,一直处于运行状态,等待用户的访问。还有经常用的crond进程,这个进程类似与windows的计划任务,可以周期性的执行用户设定的某些任务。

  1. Linux文件权限一共10 位长度,分成四段,第三段表示的内容是。

    A. 文件类型

    B. 文件所有者的权限

    C. 文件所有者所在组的权限

    D. 其他用户的权限

/etc/resolv.conf 是DNS配置文件。在网卡配置文件中进行配置,默认情况下 网卡配置文件DNS优先于/etc/resolv.conf。

答案: C

解析: 文件权限只有9位,文件类型不是文件权限

按出题人的意思:

文件类型(1位)+属主权限(3位)+属组权限(3位)+其他用户权限(3位)

文件类型 说明
d directory目录文件
- 普通文件
l link符号链接文件
b block块设备文件
c char字符设备文件
p pipe命名管道文件
s socket套接字文件
文件权限 说明
属主权限 文件所有者权限,可认为是文件创建者权限
属组权限 文件所有者所在组权限,可认为是同组用户权限
其他用户权限 非同组用户权限
  1. 终止一个前台进程可能用到的命令和操作

    A. kill

    B. ctrl+c

    C. shut down

    D. halt

答案:B

解析: kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。

(后台管理员ps:

中止前台进程无法用kill命令的,比如前台显示的是一个安装软件的进程,你连输入kill的机会都没有,何谈中止前台进程,这种情况一般是直接ctrl+c结束 )

  1. compress:压缩.Z文件

    uncompress:解压缩.Z文件

  2. 关闭linux系统(不重新启动)可使用命令。

    A. Ctrl+Alt+Del

    B. halt

    C. shutdown -r now

    D. reboot

答案:B

解析:

关机命令有halt init 0 poweroff shutdown -h 时间,其中shutdown -h 时间是最安全的
重启命令有reboot  init 6 shutdow -r 时间

(1)shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的。
(2)其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
(3)reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。

12. 常见/etc下的配置文件

文件 说明
/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 文件中的内容 会在用户登录系统之前显示出来
  1. Linux下通过哪个命令怎么查看中断?

    A. cat /proc/ioports

    B. cat /proc/interrupts

    C. cat /proc/kcore

    D. cat /proc/kms

答案:B

解析:

文件 说明
/proc/interrupts 显示使用的中断
/proc/ioports 当前使用的I/O端口
/proc/kcore 系统物理内存映像。与物理内存大小完全一样,但不实际占用这么多的内存
/proc/kmsg 内核输出的消息,也被送到syslog
  1. linux修改路由的命令是?

    A. route
    B. tracert
    C. ping
    D. netstat

答案:A

解析:

​ route:route命令是在本地 IP 路由表中显示和修改条目网络命令。

​ tracert:tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他 主机的路由

​ ping:ping命令可以检查网络是否连通

​ netstat:netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息

  1. 写出linux命令: 在当前目录及其子目录所有的.cpp文件中查找字符串"example", 不区分大小写?

    grep -i -r example ./*.cpp
    
  2. 有两台游戏服务器运行于linux 2.6.x内核上,需要同步用户访问日志,你会用下列哪些方法同步日志(开放题:假设权限和条件均可满足)?

答案:

(1)rsync是中小型企业常用的同步工具是基于内容的同步,其他的也都可以,但是存在一些问题,
rsync结合inotify可以达到实时同步,最重要的是rsync是同步差异的内容,而不是同步差异的文件开销比其他的小,并且是基于ssh协议的,sshd服务都是服务器必备的,不需要额外装其他服务

(2) wget 基于http/ftp协议的,ftp 需要其他服务,scp基于ssh协议 ,这些都是基于文件内容做同步开销大

  1. UNIX系统中进程由三部分组成:进程控制块,正文段和数据段。这意味着一个程序的正文与数据可以是分开的,这种分开的目的是为了?

答案:

可共享正文
可共享数据
可重入

  1. linux系统中的/var/log/lastlog日志记录了所有用户最后登录的记录,可以用lastlog命令查看

  2. /var/run/utmp日志记录了正在登录本系统中的用户信息,可以用last -f命令查看

  3. 你通过编辑/etc/group文件来改变了sales group的GID,所有的组员都能成功的进行的转换,除了Jack,他甚至都无法登陆,其原因是什么?

    A. Jack忘记了 group密码

    B. Jack需要再次被加入到group

    C. 在/etc/passwd里指明了Jack的GID

    D. Jack的账号需要被删除然后新建

答案:C

解析:在编辑/etc/group后,也要编辑/etc/passwd中的相关内容

/etc/group是用户组信息文件,里面定义了用户组的ID, /etc/passwd是用户基本信息文件,里面定义了用户的ID,用户组的ID等相关信息,所以因为两个文件中都定义了用户组的信息,所以两个文件应该都要改过来,否则会导致用户找不到所属组

  1. 下面哪个命令可以统计一个文件中"牛客"出现的行数?

grep "牛客" 文件名 | wc -l

  1. 内核不包括的子系统是

A. 进程管理系统
B. 内存管理系统
C. I/O管理系统
D. 硬件管理系统

答案:D

解析:内核分为 进程管理系统 、 内存管理系统 、 I/O管理系统 和文件管理系统 等四个子系统

  1. 你尝试登出时收到一个错误消息,显示你还有任务未完成,你需要使用下面哪个命令?

    A. kill PID-of-the-process

    B. kill job-number-of-process

    C. kill

    D. kill PID-of-the-last-command

答案:A

解析:

kill pid让进程正常退出

kill %job number 直接杀掉进程

  1. 以下方式/命令可以查看某IP是否可达。

    A. telnet
    B. ping
    C. tracert

  2. 使用什么命令把打印任务放到打印队列中去打印

    A. lprm

    B. lpq

    C. lpd

    D. lpr

答案:D

解析:

lprm:用于将一个工作由打印机贮列中移除
lpq:用于查看一个打印队列的状态,该程序可以查看打印机队列状态及其所包含的打印任务。
lpd:一个常驻的打印机管理程序,它会根据 /etc/printcap 的内容来管理本地或远端的打印机。
lpr:(line printer,按行打印)实用程序用来将一个或多个文件放入打印队列等待打印。

  1. 定义bash环境的用户文件是?

A. bash &.bashrc

B. bash & bash_profile

C. bashrc &.bash_profile

D. bashrc &.bash_conf

答案:C

解析:bash_profile是在每次登录的时候执行。bashrc是在新开了一个命令窗口时执行

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. 此文件类似于/etc/profile,也是需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。 ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下) 此文件类似于/etc/bashrc,不需要重启生效,重新打开一个bash即可生效, /etc/bashrc对所有用户新打开的bash都生效,但~/.bashrc只对当前用户新打开的bash生效。

  1. 在RHEL5系统中使用vi编辑文件时,要将某文本文件第1行到5行的内容复制到文件中的指定位置,以下( )操作能实现该功能

A. 将光标移到第1行,在vi命令模式下输入yy5,然后将光标移到制定位置,按p键

B. 将光标移到第1行,在vi命令模式下输入5yy,然后将光标移到制定位置,按p键

C. 使用末行命令1,5yy,然后将光标移到制定位置,按p键

D. 使用末行命令1,5y,然后将光标移到制定位置,按p键

答案:BD

解析:

nyy:复制以下n行

n,my:指定n到m行复制

p:在光标下一行粘贴

P(大写):在光标上一行粘贴(插入)

  1. 在Linux下查看文件有多种方法,若希望在查看文件内容过程中,可以按空格实现翻页,应使用( )命令

A. cat

B. more

C. less

D. head

答案:BC

解析:

cat:由第一行开始显示文件所有内容;

tac:从最后一行开始显示文件的所有内容,注意 tac 与cat 写法正好相反;

more:一页一页的显示文件内容,只能向后翻页;

less:也是一页一页显示文件内容,但是可以通过键盘上的【pagedown】,【pageup】控制向后,向前翻页;

head:显示一个文件的前几行;

tail:显示一个文件的后几行;

  1. 下列说法正确的是:

    A. linux系统中的/var/log/lastlog日志记录了所有用户最后登录的记录,可以用lastlog命令查看

    B. linux系统中的/var/log/last日志可以用last命令查看

    C. /var/log/wtmp日志记录了登录过本系统的用户信息,可以用tail -f命令查看

    D. /var/run/utmp日志记录了正在登录本系统中的用户信息,可以用last -f命令查看

答案:AD

解析:

在 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)

  1. crontab文件由6个域组成,每个域之间用空格分隔,下列哪个排列方式是正确的?

    MIN HOUR DAY MONTH DAYOFWEEK COMMAND

  2. 假如你想计划让系统自动在每个月的第一天早上4点钟执行一个维护工作,以下哪个cron是正确的?

    A. 00 4 1 1-12 * /maintenance.pl

    B. 4 1 * * ~/maintenance.pl

    C. 0 4 31 /1 * * ~/maintenance.pl

    D. 1 4 00 ~/maintenance.pl

答案:A

解析: 计划任务内容格式:分 时 日 月 周 命令/脚本

实例:

每天04:00

0 4 * * * 要执行的命令

周二和周五18:00

0 18 * * 2,5 要执行的命令

1月到3月份, 周二和周五18:00

0 18 * 1-3 2,5 要执行的命令

周一到周五17:30发广播,然后17:45分关机 (写两条计划任务,不是只能写一条)

30 17 * * 1-5 /usr/bin/wall < /root/msg

45 17 * * 1-5 /sbin/shutdown -h now

中午12点到14点,每两分钟(偶数)

*/2 12-14 * * * 命令

1-59/2 (奇数)

  1. 退出交互式的shell,应键入( )

    A. Esc

    B. q

    C. exit

    D. quit

答案:D

解析:

  • esc,在vi的插入模式或者底行命令模式下进入命令模式
  • exit,一般用于退出会话式程序或者交互式命令行,如ssh远程连接,切换 shell(Linux中)
  • q,用来退出 man 手册查看命令或者配置文件的状态,或者more、less等命令查看文件的状态
  • quit,一般用于图形界面的退出

(python中的exit()和quit()都可以用来退出python的交互式shell)

  1. cp拷贝命令的-f参数含义为?

    A. 拷贝目录
    B. 递归处理
    C. 显示执行过程
    D. 强制进行拷贝

答案:D

解析:

-r :recursive,递归处理
-v :verbose,显示详细过程
-f :force,强制执行,多用于覆盖拷贝。无论目的目录是否有同名文件,强制复制

  1. 使用pthread库的多线程程序编译时需要加什么连接参数?

    A. -lpthread

    B. -fthis-is-varialble

    C. fcond-mismatch

    D. -MMD

答案:A

解析:(知识盲区)

  1. linux系统下有多个文件目录,每个文件目录都有其独特的功能和作用,以下描述正确的是:

    A. /bin: 必要的用户二进制可执行文件(部分用户使用)

    B. /usr: 是文件系统的第二个主要部分. /usr是不可共享的只读数据

    C. /etc: 主机特定的系统配置

    D. /boot: 系统启动时要用到的所有文件

答案:C

解析:(知识盲区)

/bin 存放普通用户可以使用的指令。

/usr 这个目录中包含了命令库文件和在通常操作中不会修改的文件,其地位类似Windows上面的”Program Files”目录(安装程序的时候,默认就是安装在此文件内部某个子文件夹内。输入命令后系统默认执行/usr/bin下的程序。

/etc 全局的配置文件存放目录。存放系统和软件的配置。
/boot 引导程序,内核等存放的目录

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

    A. TERM

    B. DISPLAY

    C. ECHO

    D. OUTPUT

答案:B

解析:

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

首先排除CD,应该是没有ECHO和OUTPUT这两个环境变量。。。然后A项也不正确,TERM是终端类型的环境变量,例如xterm,vt100等,和Xserver没什么关系,因此选B

  1. 下列表达式值相同的是哪几项()

    A. 1<<3

    B. 0x0F & 0x08

    C. 23(是幂运算)

    D. 32(是幂运算)

答案:ABC

解析:

A. 1左移3位 即1000

B. 0000 1111 & 0000 1000 即0000 1000

C. 23 即8 即1000

D. 32 即9 即1001

ABC值相同

  1. 不需要编译内核的情况是

    A. 删除系统不用的设备驱动程序时

    B. 升级内核时

    C. 添加新硬件时

    D. 将网卡激活

答案:D

解析:

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

B 肯定需要, D 肯定不需要, 至于 A 和 C 则要具体情况具体分析. 如果相关的驱动是编译成模块, 则不需要动内核, 如果驱动被编译到内核里, 则要动内核.

  1. 写出linux命令: 在当前目录及其子目录所有的.cpp文件中查找字符串"example", 不区分大小写?

    A. grep -i example ./*.cpp
    B. grep -v example ./*.cpp
    C. grep -i -v example ./*.cpp
    D. grep -i -r example ./*.cpp

答案:D

解析:

grep常用参数:

​ -e :使用正则

​ -i:忽略大小写

​ -v:查找不包括指定内容的行

​ -w:按单词查找

​ -c:统计匹配次数

​ -n:显示行号

​ -r:递归遍历目录查找

​ -A:显示匹配行前面多少行

​ -B:显示匹配行后面多少行

​ -C:显示匹配行前后多少行

​ -include:指定匹配的文件类型

​ -exclude:过滤不需要匹配的文件类型

  1. 局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是?

    A. route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
    B. route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
    C. route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1
    D. route add default 192.168.1.0 netmask 172.168.1.1 metric 1

答案:B

解析:

-net 后面跟的是目标网络,gw就是gateway(网关入口)就是你从哪个网关去到那个目标网络。明白这两项这题就能选了。

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

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

答案:D

  1. Linux系统中在给定文件中查找与设定条件相符字符串的命令为?

    A. grep
    B. gzip
    C. find
    D. sort

答案:A

解析:

grep:查找文件内的内容

gzip:压缩文件,文件经压缩后会增加.gz扩展名

find:在指定目录下查找文件

sort:排序

  1. POSIX信号量函数的名字都以( )开头。

    A. pos_
    B. sim_
    C. sem_
    D. meg_

答案:C

  1. 若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为

猜你喜欢

转载自blog.csdn.net/weixin_47133613/article/details/114003352
今日推荐