九、为了OFFER而战,那些日子在牛客网刷Linux面试题(下)
发布日期:2021-07-01 02:08:21 浏览次数:2 分类:技术文章

本文共 7265 字,大约阅读时间需要 24 分钟。

@Author:Runsen

@Date:2020/9/11

文章是Runsen在Gitchat付费文章分享:

顺便同步到CSDN中,八月份写的,有些时间了。

下面的Linux面试题都是来自牛客网,都是本人觉得挺重要的题目,然后记录下。

文章目录

1、死锁

在()情况下,系统出现死锁。

正确答案: A 你的答案: A (正确)

A、若干进程因竞争资源而无休止地相互等待对方释放已占有的资源B、有多个封锁的进程同时存在C、计算机系统发生重大故障D、资源数大大小于进程数或进程同时申请的资源数大大超过资源总数

死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

2、命令

写出完成gdb查看线程信息功能的gdb命令

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

A、btB、info threadC、set scheduler-locking offD、info break
  • backtrace bt 打印当前的函数调用栈的所有信息。
  • info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。
  • set scheduler-locking 线程调试 显示线程状态,off 不锁定任何线程
  • info break 可列出所有断点信息,info break 后也可设置要查看的break num

linux查看cpu占用的命令是什么?

正确答案: A 你的答案: A (正确)

A、topB、netstatC、freeD、df

top查看CPU、netstat显示网络连接、路由表、网络接口信息、free查看内存使用情况、df检查文件系统的磁盘空间的占用情况

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

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

rm dir dirsrm -r dirsmv dirs /dev/nulldestroy dirs

很常用的命令rm -rf /directory -r表示递归删除(文件夹删除)。-f表示强制删除 。本题只能这么删除文件夹,mv是移动命令,/dev/null就是一个黑洞,移进去的文件就会消失,但非root用户没有执行权限。

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

正确答案: B 你的答案: B (正确)

A、vim "牛客" 文件名 | wc -lB、grep "牛客" 文件名 | wc -lC、ls "牛客" | wcD、vim "牛客" 文件名 | wc

grep “牛客” 文件名:输出文件中所有含有牛客的信息

|将上面输出的信息通过管道作为wc的输入源
wc -l统计行数

补充wc(Word Count)命令:

  • -c 统计字节数。
  • -l 统计行数。
  • -m 统计字符数。这个标志不能与 -c 标志一起使用。
  • -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
  • -L 打印最长行的长度。
  • -help 显示帮助信息
  • -version 显示版本信息

假如你需要找出/etc/my.conf文件属于哪个包(package),你可以执行:()

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

A、rpm -requires/etc/my.confB、rpm -q/etc/my.confC、rpm -q|grep /etc/my.confD、rpm -qf /etc/my.conf

不同Linux发行版用的是不同软件包系统,分为Debian的.deb技术(Debian,Ubuntu)和Red Hat的.rpm技术(Fedora,CentOS,redHat).

其中rpm是低级的RedHat软件包管理工具:

  • -i package_name 安装软件包

  • -U packagefile 更新软件包

  • -qa 列出已安装的软件包列表

  • -q package-name 判断软件包是否安装

  • -qf file_name 判断某个特定文件是由哪个软件包负责安装的

批量删除当前目录下后缀名为.c的文件。如a.c、b.c。

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

A、rm *.cB、find . -name "*.c" -maxdepth 1 | xargs rmC、find . -name "*.c"   | xargs  rmD、以上都不正确

A没有问题。B:题目中是说删除当前目录下 后缀名为.c的文件,需要加上-maxdepth 1,表示是当前目录,不包括其子目录。所以C这样是不对的

3、路由

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

正确答案: B 你的答案: B (正确)

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

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

补充:Linux中的route命令

  • route print--本命令用于显示路由表中的当前项目,由于用IP地址配置了网卡,因此所有的这些项目都是自动添加的。

  • route add--使用本命令,可以将新路由项目添加给路由表。例如,如果要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器,其IP为202.96.123.5,子网掩码为255.255.255.224,那么你应该输入以下命令:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5
  • route change--你可以使用本命令来修改数据的传输路由,不过,你不能使用本命令来改变数据的目的地。下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3个网段的更直的路径:
route change 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3
  • route delete--使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33

4、读写权限

在linux文件系统权限中(rwx),只读权限对应的数值为()

正确答案: A 你的答案: A (正确)

A、4B、2C、1D、选项均不正确

用二进制表示rwx(r:可读,w:可写,x:可执行)文件权限的时候,rwx对应000的位置

比如可读的,不可写,不可执行的时候就应该二进制表示是100;
不可读的,可写,不可执行的时候就应该二进制表示是010;
不可读的,不可写,可执行的时候就应该二进制表示是001;
可读的,可写,可执行的时候就应该二进制表示是111;
题目中是只可读,所以二进制是100,二进制100转为十进制就是4

Linux下,为某个脚本赋予可执行权限()

正确答案: A 你的答案: A (正确)

A、chmod +x filename.shB、chown +x filename.shC、chmod +r filename.shD、chown +r filename.sh

chmod命令修改权限 +x表示增加执行权限,+r表示增加读取权限,+w表示增加写权限。

chown将指定文件的拥有者改为指定的用户或组

在Linux中,file.sh文件的权限为-rw-r–r-x,其对应权限用数值形式表示为()

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

A、775B、745C、645D、643

linux下给文件start.sh设置权限为自己可读可修改可执行,组内用户为可读可执行不可修改,其余用户没有任何权限,那么设置该文件权限的命令为()

正确答案: B 你的答案: B (正确)

A、chmod start.sh 706B、chmod start.sh 750C、chmod start.sh 705D、chmod start.sh 777

linux中权限有九位二进制数表示XXX YYY ZZZ,前一个XXX表示owner的权限,YYY表示group的权限(也就是同组用户的权限),ZZZ表示other的权限(非同组用户的权限)。根据本题要求,XXX=111=7,YYY=101=5,ZZZ=000=0,所以是750

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

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

A、文件类型B、文件所有者的权限C、文件所有者所在组的权限D、其他用户的权限

1,代表文件类型,一般有三类,- 代表普通的二进制文件,l 代表符号链接文件(软链接),d 代表目录文件

2-4,代表文件所有者的权限表示情况,分别对应 可读® 可写(w) 可执行(w),- 代表没有该项权限
5-7,代表文件所有这所属组的权限表示情况。分别对应 可读® 可写(w) 可执行(w),- 代表没有该项权限
8-10,代表除文件所有者和所属组的其他人所拥有的权限表示情况。分别对应 可读® 可写(w) 可执行(w),- 代表没有该项权限

如;umask 的值为022

创建一个文件的默认权限应该就是777-022=755

由于 执行权限(x) 比较危险,Linux默认不会赋予此权限,所以实际创建文件的默认权限是 755-111=644
如果此时创建的是一个软链接文件,则权限位为lrx-r--r-;如果此时创建的是一个普通文件,则权限位为 -rx-r--r--;如果此时创建的是一个目录文件,则权限位为 drx-r--r--

5、时间日期

以下命令的执行时间为:01 07 * * 5 /usr/bash /usr/local/run.sh

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

A、每周一5:07分B、每周一07:05分C、每周五07:01分D、每周周五01:07

对应: 分 时 日 月 周。min hour day(几号) month week(周几),也就是每周五07:01分执行run.sh

每5分钟运行一次crond任务exam,下面哪项正确?

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

A、*/12 * * * * examB、5/* * * * * examC、* * */12 * * examD、*/5 * * * * exam

6、shell环境变量配置

在RHEL5系统中,下面关于shell环境变量配置文件的描述,正确的是( )

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

A、用户登录系统时,bash首先执行/etc/profile配置文件和/etc/profile.d/目录下的配置文件,这些配置文件对所有用户都有效B、用户登录系统时,bash首先执行.bash_profile文件和.bashrc文件,这些配置文件对所有用户都有效C、用户主目录下的.bashrc设置为每次登录时执行,而.bash_profile则为每次打开新的终端时执行D、执行用户主目录下的环境变量配置文件时,不可以重复设置用户登录时配置文件中已经设置的选项

A、/ect/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从 /etc/profile.d 目录的配置文件中搜集shell的设置。因此A正确

B、/etc/bashrc:为每一个 运行bash shell 的用户执行此文件.(只有当bash shell被打开时,该文件被读取,并不是用户登录时候自动执行,因此B错误)

C、~/.bash_profile:(用户主目录下的bash_profile)每个用户都可使用该文件输入 专用于 自己使用的shell信息, 当用户登录时,该文件仅仅执行一次(因此C错误) !默认情况下,他设置一些环境变量,执行~/.bashrc文件。~/.bashrc该文件包含专用于用户的bash shell的bash信息 ,当登录时以及每次打开新的shell时,该该文件被读取 .,因此C错误

D、~/.bash_logout当每次退出系统(退出bash shell)时,执行该文件.

总结:/etc下的profileprofile.d是为所有的用户设置的环境变量等信息

用户主目录下的 .bash_profile、 .bashrc、和. bash_logout只对某一个用户有效

7、输入/输出重定向

bash中,需要将脚本demo.sh的标准输出和标准错误输出重定向至文件demo.log,以下哪些用法是正确的()

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

A、bash  demo.sh &>demo.logB、bash  demo.sh < demo.logC、bash  demo.sh >demo.log 2>&1D、bash  demo.sh 2>demo.log 1>demo.log

该题考察Linux下的输入/输出重定向。在Linux中,每个打开的文件被赋予一个文件描述符(file descriptor),包括标准输入(stdin),标准输出(stdout)和标准错误输出(stderr),由0,1,2分别描述。

A选项,command &> file 表示将标准输出(stdout)和标准错误输出(stderr)重定向至指定的文件file中。

B选项,语法错误。正确的语法是M >& N,M和N都是文件描述符,M在不指定的情况下默认是文件描述符1。

C选项,command > file 2>&1,是由两部分组成。首先command>file表示将标准输出(stdout)重定向到文件file中。接下来的2>&1表示将标准错误输出(stderr)输出到文件描述符1指定的位置,即标准输出(stdout)的位置,由于标准输出已经冲定向到文件file中,所以标准错误输出也会重定向到文件file中。

D选项,command 2> file 1> file,也可看成是由两部分组成。首先command 2> file,表示将标准错误输出(stderr)重定向到文件file中;1> file,表示将标准输出(stdout)重定向到文件file中。 最终的file中不会包含标准错误输出(stderr)的信息,因为会被之后的标准输出(stdout)覆盖。

8、Linux文件目录

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

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

A、/bin: 必要的用户二进制可执行文件(部分用户使用)B、/usr: 是文件系统的第二个主要部分. /usr是不可共享的只读数据C、/etc: 主机特定的系统配置D、/boot: 系统启动时要用到的所有文件
  • /bin 存放普通用户可以使用的指令。
  • /usr 这个目录中包含了命令库文件和在通常操作中不会修改的文件,其地位类似Windows上面的”Program Files”目录(安装程序的时候,默认就是安装在此文件内部某个子文件夹内。输入命令后系统默认执行/usr/bin下的程序。
  • /etc 全局的配置文件存放目录。存放系统和软件的配置。
  • /boot 引导程序,内核等存放的目录。

Linux执行ls,会引起哪些系统调用()

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

A、nmapB、readC、execveD、fork

任何shell都会执行 exec 和 fork。而 ls会执行read,三个加起来。

9、网关

在Linux系统中搭建DHCP服务器时,若需要给客户机指定默认网关地址为192.168.1.1,可以在dhcpd.conf配置文件中进行( )设置

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

A、option default-gate-way 192.168.1.1;B、option gateways 192.168.1.1;C、option routers 192.168.1.1;D、option router-servers 192.168.1.1;
  • option routers 192.168.0.1;配置默认网关

  • option subnet-mask 255.255.255.0;配置子网掩码

  • option domain-name-servers 192.168.1.1;指定DNS服务器

  • option domain-name-servers 配置多个DNS服务器

其实上面Linux知识都是基础中的基础,如果想深入linux运维,下面是我做的关于Linux运维的思维导图,作为本次GitChat的结尾。

本次 GitChat 思维导图由自己绘制,文字内容参考以下链接:

转载地址:https://maoli.blog.csdn.net/article/details/108331747 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:DataFountain训练赛 | 用户逾期行为预测
下一篇:为了OFFER系列 | 牛客网美团点评数据分析刷题

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月11日 04时07分19秒