牛客网刷题错题记录(Linux)

牛客网刷题错题记录(Linux)

3.29

笔记

cut :从文本文件的每一行中截取指定内容的数据。

cp :用来复制文件或目录。

dd :将指定的输入文件拷贝到输出文件中,在拷贝的过程中可以进行格式转换。

fmt :将所有非空白行的长度设置为几乎相同,来进行简单的文本格式化。

shell中命令行 参数:$0表示脚本名*,$1* -$9表示后面的参数

*  *  *  *  *  command 分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令

[-f filename]——文件filename是否存在,存在则表达式为真,否则为假

[-n str]——判断字符串str是否为空,如果字符串长度大于0则表达式为真,否则为假;此处给出的字符串长度 '/tmp/testfile' 显然大于0,表达式为真,但文件不一定存在。

错题

使用什么命令把两个文件的合并成一个文件?

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

A、cat
B、grep
C、awk
D、cut

1、cat 将两个文件拼接在一起,cat file1 file2 > file3

2、grep命令可以从一个或者多个文件中搜索特定的字符串模式,grep pattern files

3、awk的基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk '{if($4~/Brown/) print $0}' tab2

4、cut: 从数据文件或者命令的输出中截取(也就是剪出)各种各样的数据域,cut –cchars file

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

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

A、bash demo.sh &>demo.log
B、bash demo.sh >& demo.log
C、bash demo.sh >demo.log 2>&1
D、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)覆盖。

3.30

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

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

A、lprm
B、lpq
C、lpd
D、lpr

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

关于linux文件系统权限中的SUID,描述正确的是()

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

A、当一个设置了SUID 位的可执行文件被执行时,无论谁来执行这个文件,他都暂时拥有文件所有者的权限
B、可以通过chmod u+s 命令设置SUID属性
C、passwd命令就是通过SUID机制,在任何用户修改密码时,有权限访问密码存储文件
D、其他选项均不正确

SUID 是 Set User ID, SGID 是 Set Group ID的意思。

SUID的作用就是:让本来没有相应权限的用户运行这个程序时,可以访问没有权限访问的资源。

为什么需要扩展权限呢?

因为特殊权限可以扩展系统基础权限的功能,使得linux权限更加强大灵活。

下面那些命令可以用来查看Linux主机的默认路由()

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

A、route
B、ifconfig
C、ping
D、netstat

这题应该选A和D

直接route命令就可以显示默认路由,netstat命令需要加一个参数-route

A,route命令用来显示目前本机路由表的内容,并且还可以针对路由表中的记录来进行相应的添加、删除或修改等操作。

B,ifconfig命令用来来检测和设置本机的网络接口。

C,ping命令用来检测两部主机之间的传输信道是否畅通,或远程主机是否正常

D,netstat命令用来查看主机的连接状态,netstat命令需要加一个参数-route即可查看默认路由

在linux网络编程中,以下关于socket描述符正确的是:

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

A、socket存在两种模式:阻塞和非阻塞
B、系统调用read从socket中读取数据时,当read返回-1的时候,表示socket中数据读取完毕
C、如果socket设置成非阻塞模式,当socket的输入缓冲区没有可读数据时,read操作会返回错误
D、在阻塞socket上调用write函数发送数据,函数返回时,表示数据已经发送出去

D.socket调用write发生错误是也会返回,但是返回的是-1。所以不是返回了就代表数据已经发出去了。。。。

B、如果是阻塞模式,数据读完了会阻塞 如果是非阻塞模式,我们都是不停的读这个套接字,直到读空了,返回-1

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

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

A、rm -d dirs
B、rm -r dirs
C、mv dirs /dev/null
D、destroy dirs

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

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

-f:强制删除文件或目录;

-i:删除已有文件或目录之前先询问用户;

-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

--preserve-root:不对根目录进行递归操作;

-v:显示指令的详细执行过程。

3.31

笔记

删除底部的一行:(大小写)

(1)G;dd

(2)shift+g;dd

linux的虚拟内存模型,使得每个进程都以为自己拥有整个内存空间(内核使用的空间除外)

所谓系统调用,就是内核提供的、功能十分强大的一系列的函数。这些系统调用是在内核中实现的,再通过一定的方式把系统调用给用户,一般都通过门(gate)陷入(trap)实现。系统调用是用户程序和内核交互的接口。

错题

以下哪些方式/命令不可以查看某IP是否可达?

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

A、telnet
B、ping
C、tracert
D、top

top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,默认5秒刷新一下进程列表.

显示的前五行是系统的整体统计信息

第一行表示任务队列信息

第二三行表示进程和cpu的信息

第四五行表示内存信息

UNIX系统由哪几部分组成?

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

A、Kernel(内核)
B、Shell(外壳)
C、文件系统及应用程序
D、虚拟机

UNIX系统由内核、shell、文件系统和应用程序等4部分组成。

Linux系统上,下面哪些文件是与用户管理相关的配置文件()

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

A、/etc/passwd
B、/etc/shadow
C、/etc/group
D、/etc/password

A 存放用户的UID name 密码过期时间 修改时间等等

B 存放用户的密码密文

C 存放用户的所属组情况

D 是错误的,linux没有D 这个文件

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

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

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

交换分区(swap)可以是一个分区,也可以是一个文件。

swap的作用是,当物理系统内存吃紧时,Linux将内存中不常访问的数据保存到swap上,这样就有更多的系统内存为各个进程服务。

当系统访问swap上内容时,再将swap数据加载到内存中,也就是swap out和swap in。

使用swap存在缺点,swap在磁盘上,磁盘读取速度远小于内存,如果内存吃紧,高频率读swap系统变得很慢。

交换分区大小:

  • 4GB内存,2GBswap空间
  • 16GB内存,8GBswap空间
  • 物理内存<4G 一般设置为2倍
  • 4G<物理内存<16G-32G 一般1.5倍 16G>物理内存 一般设置1倍 或者16G-32G

if [ $2 -a $2 = "test" ] 中 -a 是什么意思()

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

A、大于
B、减
C、全部
D、并且

linux中的a参数不是all 就是and 记住就好

关于UNIX系统代码段和数据段分开的目的,错误的说法有()。

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

A、可共享正文
B、可共享数据
C、可重入
D、可保护代码为只读
E、方便编程
F、更好支持内存回收策略

E

1)防止程序指令被修改,设置代码段权限为只读,设置数据段权限为可读写

2)代码段和数据段分开有利于提高程序的局部性,现代CPU缓存一般设计为数据缓存和指令缓存分离,指令和数据分开存放可以提高CPU缓存命中率。

3)共享指令,当系统运行多个程序的副本时,它们指令时一样的,因此内存只需保存一份程序的指令代码。每个副本进程的数据区是进程私有,可以节省内存。

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

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

A、交互进程
B、批处理进程
C、守护进程
D、就绪进程

按照进程的功能和运行的程序分类

系统进程、用户进程(守护进程、批处理进程、交互进程)

就绪是状态。

在linux中,线程的同步方式不包括:( )

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

A、POSIX信号量
B、互斥锁
C、条件变量
D、临界区

线程的同步方法有互斥锁、条件变量(cond)、读写锁和POSIX信号量。——转载自https://www.cnblogs.com/iamwho/p/10450093.html

临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待(例如:bounded waiting 等待法),有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用,例如:semaphore。只能被单一线程访问的设备,例如:打印机。

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

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

A、rm *.c
B、find . -name "*.c" -maxdepth 1 | xargs rm
C、find . -name "*.c"   | xargs  rm
D、以上都不正确

由于题目中是说删除当前目录下后缀名为.c的文件,故需要加上-maxdepth 1,表示是当前目录,不包括其子目录

linux防火墙iptabls拒绝所有客户端ping数据包的规则是( )。

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

A、iptables -A INPUT -s ! 127.0.0.1 -p icmp -j DROP
B、iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
C、iptables -A INPUT -s 0.0.0.0 -p icmp -j DROP
D、iptables -A INPUT -s 0.0.0.0 -p icmp -j DENY

将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz 文件,并将此文件保存到/home 目录下,实现此任务的tar 格式为

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

A、tar zcvf /home/wang.tar.gz /home/stud1/wang
B、tar xcvf /home/stud1/wang /home/wang
C、tar zcv /home/stud1/wang /home/wang
D、tar zcvf /home/stud1/wang /home/wang.tar.gz
解压 tar zxvf 文件名.tar.gz
压缩 tar zcvf 文件名.tar.gz 目标名

下面哪些命令可以查看file1文件的第300-500行的内容?

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

A、cat file1 | tail -n +300 | head -n 200
B、cat file1| head -n 500 | tail -n +300
C、sed -n '300,500p' file1
head -n k          # 打印前k行

head -n -k         # 打印除最后k行外的所有内容
tail -n k          # 打印最后k行
tail -n +k         # 从k行开始打印

A选项:从第300行开始,接着输出前200行的内容,但这里的200行包括了第300行,不包括第500行。所以应该改为cat file1 | tail -n +300 | head -n 201。

B选项:先取出前500行,再从300行开始。 cat file1 | head -n 500 | tail -n + 300 ,正确。

C选项:sed命令 p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

sed -n '300-500p' 打印300-500行,正确。

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

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

A、将光标移到第1行,在vi命令模式下输入yy5,然后将光标移到制定位置,按p键
B、将光标移到第1行,在vi命令模式下输入5yy,然后将光标移到制定位置,按p键
C、使用末行命令1,5yy,然后将光标移到制定位置,按p键
D、使用末行命令1,5y,然后将光标移到制定位置,按p键

nyy:复制以下n行

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

p:在光标下一行粘贴

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

有命令:

awk'BEGIN { Arr[2,79]=78 __________ }'

为了让执行的结果是78,应该填()语句

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

A、print Arr["2\03479"]
B、print Arr[2,79]
C、idx=2 SUBSEP 79;print Arr[idx]
D、print Arr[ 2, 79]

4.1

笔记

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

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

错题

Linux程序运行后,文件句柄0,1,2分别是:()

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

A、标准输入,标准输出,标准错误
B、标准错误,标准输入,标准输出
C、标准输出,标准输入,标准错误
D、都不是

句柄 设备名称 逻辑设备名 缺省设备

00 标准输入设备 CON 键盘

01 标准输出设备 con 显示器

02 标准错误设备 CON 显示器

03 标准辅助设备 AUX 串行口

04 标准列表设备 PRN 打印机

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

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

A、chmod a+x,g+w exer1
B、chmod g+w exer1
C、chmod 765 exer1
D、chmod o+x exer1

a表示对所有用户

u表示系主用户

g表示同组用户

o表示其他用户

答案c如果改成775就对了。

linux命令执行成功后会返回

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

A、0
B、1
C、2
D、-1

0 执行成功 1 操作不允许 2 没有此文件或目录 3 进程不存在 4 系统调用终端 5 I/O错误 6 无此设备或地址 7 参数列表过长 8 执行命令格式错误 9 错误的文件描述 10 不存在子进程 11 暂时性缺少资源 12 无法分配内存空间 13 权限拒绝

init启动进程需要读取()配置文件

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

A、/sbin/init
B、/bin/sh
C、/etc/sysvinit
D、/etc/inittab

/sbin/init在核心完整的加载后,开始运行系统的第一支程序,主要的功能就是准备软件运行的环境,包括系统的主机名称、网络配置、语系处理、文件系统格式及其他服务的启动等。

/bin/sh解释脚本的shell命令,开机后运行

/etc/sysvinit就是 system V 风格的 init 系统,顾名思义,它源于 System V 系列 UNIX。sysvinit 中运行模式描述了系统各种预订的运行模式。

/etc/inittab定义了系统引导时的运行级别, 进入或者切换到一个运行级别时做什么。

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

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

A、标准错误输出重定向到标准输入
B、标准输入重定向到标准错误输出
C、标准输出重定向到标准错误输出
D、标准输出重定向到标准输入

0:标准输入

1:标准输出

2:标准错误输出

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

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

网络管理员查看进程时,发现有三个挂起进程,要在前台继续运行作业号为2的进程,下列方式正确的是( )

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

A、exec 2
B、fg 2
C、bg 2
D、jobs 2
  • exec 使用vfork函数时,通常需要exec配合使用
  • fg(Foreground) 将进程搬到前台运行的命令
  • bg(Background) 将进程搬到后台运行的命令
  • jobs 查看当前有多少在后台运行的命令

以下说法正确的是()

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

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

B. 执行last指令时,它会读取位于**/var/log/wtmp**的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。

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

/var/log/lastlog:记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看

/var/log/wtmp :永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看.

/var/log/utmp:记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

4.2

将几个文件合并为一个文件: $cat file1 file2

-n 或 --number 由 1 开始对所有输出的行数编号

上述命令即将file1和file2的文件内容连在一起然后输出到屏幕,并打印行号,file1和file2文件内容不变

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

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

A、Jack忘记了 group密码
B、Jack需要再次被加入到group
C、在/etc/passwd里指明了Jack的GID
D、Jack的账号需要被删除然后新建

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

下列提法中,不属于ifconfig命令作用范围的是 。

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

A、配置本地回环地址
B、配置网卡的IP地址
C、激活网络适配器
D、加载网卡到内核中

ifconfig

1.作用:ifconfig用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。

2.格式 ifconfig -interface [options] address

3.主要参数如下:

-interface:指定的网络接口名,如eth0和eth1。

up:激活指定的网络接口卡。

down:关闭指定的网络接口。

broadcast address:设置接口的广播地址。

pointopoint:启用点对点方式。

address:设置指定接口设备的IP地址。

netmask address:设置接口的子网掩码。

不包括加载网卡到内核中

下列哪个命令可以看到文件的大小?(不添加参数的情况下)

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

A、ls
B、df
C、du
D、find

A:ls是list的缩写,用来显示当前目录下面文件的信息;

B:df是disk free的缩写,用来显示文件系统中不同磁盘的使用情况;

C:du是disk usage的缩写,显示当前目录或者当前文件的占用的块大小;

D:find命令作用在目录下,用来查找指定目录或者当前目录下的文件。

下面有关bash配置文件,说法正确的是?

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

A、.bash_logout:退出shell时,要执行的命令
B、.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下
C、/etc/bash.bashrc 该文件包含专用于个人的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取
D、/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行

A:.bash_logout 类似于编程中的析构函数,当登录shell退出时,shell会寻找该文件,并按其指示办事

B: .bash_profile: 类似于编程中的构造函数,当登录shell时,shell会寻找该文件做环境初始化。

C: /etc/bash.bashrc 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取( /etc/bash.bashrc 对所有用户起作用, 而容易混淆的: ~/.bashrc 是对拥有当前home目录的用户起作用,也就是当前用户,因此C错误

D: /etc/profile: 是系统文件,对系统下全体用户起作用

4.3

孤儿进程将由init接管,成为init的子进程,然后回收资源。

僵尸进程的危害主要是占用进程描述符。在出现大量僵尸进程的时候,系统会杀死产生僵尸进程的父进程(因为僵尸进程的产生主要是因为父进程出错,没有获取子进程的状态)。在杀死父进程后,僵尸进程就会全部变成孤儿进程,由Init接管,回收资源

top命令:

Linux下常用的性能分析工具。能够实时显示系统中各个进程对资源的占用状况。

free命令:

可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。

df命令:

用于显示当前在Linux系统上的文件系统的磁盘使用情况的统计信息。

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

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

A、kill PID-of-the-process
B、kill job-number-of-process
C、kill
D、kill PID-of-the-last-command

kill pid让进程正常退出

kill %job number 直接杀掉进程

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

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

A、whereis
B、whatis
C、which
D、apropos

whereis 可查询二进制文件(-b)、帮助文档(-m)、源程序(-s),无选项时,返回所有结果,-u(除上述三种的其它文件)

which 查看可执行文件的位置

whatis 查询命令有什么功能

apropos 搜索指定关键字的命令

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

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

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

信号量(Semaphore)

Redhat9 所支持的安装方式有()

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

A、从本地硬盘驱动器进行安装
B、通过Telnet进行网络安装
C、通过NFS进行网络安装
D、通过HTTP进行网络安装

ACD,其中NFS和HTTP适合于大量安装服务器,结合kickstart使用

4.4

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

Volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。

在OSI模型中,HTTP协议工作在第()层,交换机工作在第()层。

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

A、7/1
B、7/2
C、6/3
D、6/2
  1. - 物理层: RJ45 、 CLOCK 、 IEEE802.3 (中继器,集线器,网关) -
  2. 数据链路: PPP 、 FR 、 HDLC 、 VLAN 、 MAC (网桥**,交换机)** -
  3. 网络层: IP 、 ICMP 、 ARP 、 RARP 、 OSPF 、 IPX 、 RIP 、 IGRP 、 (路由器) -
  4. 传输层: TCP 、 UDP 、 SPX -
  5. 会话层: NFS 、 SQL 、 NETBIOS 、 RPC -
  6. 表示层: JPEG 、 MPEG 、 ASII -
  7. 应用层: FTP 、 DNS 、 Telnet 、 SMTP 、 HTTP 、 WWW 、 NFS

在Linux 系统中,在运行一个程序时,程序中未初始化的全局变量会被加载到以下哪个内存段中?

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

A、BSS
B、TEXT
C、DATA
D、STACK

BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。

数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。

代码段:代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。

堆(heap):堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)

栈(stack):栈又称堆栈, 是用户存放程序临时创建的局部变量,也就是说我们函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进先出特点,所以栈特别方便用来保存/恢复调用现场。从这个意义上讲,我们可以把堆栈看成一个寄存、交换临时数据的内存区

网络管理员在/opt分区上安装应用软件,提示磁盘可用空间不足,解决需要的指令和参数是( )

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

A、umount /opt
B、mkfs opt
C、resize
D、parted

umount 用于卸载目前挂在目录中的文件系统

mkfs (make file system) 在特定分区上建立linux文件系统

resize 设置虚拟终端机的视窗大小

parted 创建操作大于2T的分区

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

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

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

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

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

logcat -c 清除已有log

C、logcat 不是log cat

4.5

linux系统中,以下哪个文件会记录用户操作的历史记录?()

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

A、/var/log/syslog
B、/var/log/messages
C、/home/.bash_profile
D、/home/.bash_history

先说正确答案,较真来说也不对,应该是**/home/用户名/.bash_history或者是/root/.bash_history**,.bash_history文件应该是在用户家目录下的。 同上,.bash_profile文件也是放在家目录的,可以理解为该用户登录时自动运行的脚本。 /var/log/messages 旨在存储有价值的。非调试的和非关键的消息。 这里日志应被视为"常规系统活动"日志。 /var/log/syslog 依次记录所有内容,除身份验证相关消息。

下列不属于linux内核锁的一项是()

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

A、Semaphore
B、Spinlock
C、seqlock
D、Message

spin_lock(自旋锁):是Linux内核中最基础的锁机制。自旋锁不会引起调用者休眠,如果自旋锁已经呗其他的执行单元持有,调用者就会一直循环等在该自旋锁的持有者是否已经释放了锁。自旋锁适用于锁的持有者保持锁的时间比较短的情形。

读写自旋锁(_RW_LOCK_UNLOCKED):也就是没有读,没有写的请求时,读者可以获得读写锁。在读写锁没有写者的时候,读者获得其自旋锁。

seq_lock(顺序锁):是对读写锁的优化。也就是写锁不被读锁所阻塞。写者写的同时,读者可以读。

semaphore(信号量):信号量和自旋锁的区别是信号量会引起调用者的休眠。

RCU(读-拷贝):在访问RCU保护的资源时,读者不需要任何等待,而写者访问它时首先得拷贝一个副本,然后对父辈修改,最后在没有任何对读者操作该资源,把指向原来的数据的指针指向新的数据,

Linux 用户磁盘配额配置文件 aquota.user 的默认访问权限是()

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

A、755
B、644
C、700
D、600

aqouta.user是用户磁盘配额需要的配置文件,而不是可执行文件

r:4 w:2 x:1

所以权限为-rw-------,即为600

linux 创建文件的命令有()

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

A、ls
B、touch
C、cat
D、vi/vim
E、>

ls -查看当前目录下的文件

touch filename 新建文件

cat : 三个功能:1.一次显示整个文件 -----cat filename

​ 2.创建新文件,不能 编辑已有文件 -----cat > filename

​ 3.将几个文件合并为一个文件 -----cat file1 file2 > file

vi/vim filename 表示用vi或vim打开文件,如果不存在该文件则新建文件

以下哪些命令可以获取linux主机的负载相关指标

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

A、uptime
B、top
C、ls
D、sar
E、crontab

uptime查看系统运行的时间 top可以查看系统运行时间和平均负载 sar -u输出显示CPU信息。-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况

crontab是一个定时执行任务命令,不能查看系统负载。

ls跟dos下的dir命令是一样的都是用来列出目录下的文件

4.6

下列程序代码在Linux系统执行后"*"会被输出多少次()

void main()
{
   int i;
   for(i=0;i<3;i++)
   {
      fork();
      printf("*\n");
    }
  return;
}

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

A、14
B、16
C、30
D、32

在 RHEL5 系统中, vi 编辑器的末行模式中,若需要将文件中每一行的第一个 “Linux” 替换为 “RHEL5”,可以使用( )

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

A、:s/Linux/RHEL5
B、:s/Linux/RHEL5/g
C、:%s/Linux/RHEL5
D、:%s/Linux/RHEL5/g

A选项:指将当前行中的第一个linux换为RHEL5

B选项:指将当前行中所有的linux换为RHEL5

C选项:指将文件中每一行的第一个linux换为RHEL5

D选项:整个文档范围内的linux换为RHEL5

:S 表示当前行 g表示对应范围内的所有 不加g默认第一个

%S表示整个文档

在Linux系统中,有关线程说法正确的是( )

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

A、线程是程序的多个顺序的流动态执行
B、线程有自己独立的地址空间
C、线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制
D、线程是系统进行资源分配和调度的一个独立单位

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位;

线程是进程的一个实体,一个进程中包含多个线程。是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位

B进程有独立的地址空间,线程没有。线程是共享进程的地址空间,因此B错误

D进程是 操作系统进行资源分配和调度的一个独立单位,而线程只是CPU调度和分派的基本单位,因此D错误

编译内核时,可以使用哪些命令对内核进行配置?多选

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

A、make config
B、make menuconfig
C、make oldconfig
D、make xconfig

4.7

有一个文件ip.txt,每行一条ip记录,共若干行,已排好序,下面哪个命令可以实现“统计出现次数最多的前3个ip及其次数”?( )

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

A、uniq -c ip.txt
B、uniq -c ip.txt | sort -nr | head -n 3
C、cat ip.txt | count -n | sort -rn | head -n 3
D、cat ip.txt | count -n

本题利用管道符"|"组合多个命令,uniq -c filename用于去除冗余并统计每一行出现的次数。 sort -r指逆序排序,-n指按数字字符串大小排序 head指定数量。 剩下的二选一交给运气_(:з」∠)_

你被需要检查系统中的设备情况,需要检查哪个log日志?

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

A、/var/log/tmp
B、/var/log/lastlog
C、/var/log/messages
D、/var/log/utmp
/var/log/tmp

我找不到这个文件或者文件夹。

/var/log/lastlog

该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。 在每次用户登录时被查询,该文件是二进制文件,需要使用 lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。

/var/log/messages

它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中。其他信息,比如某个人的身份切换为 root,也在这里列出。

/var/log/utmp

该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系 统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。

设备升级过程中使用了 "curl https://ota.a.com/update.bin -k -o /tmp/update.bin" 命令获取升级包,下列说法正确的是?

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

A、升级包文件写入到 /tmp 目录,该目录一般有任意用户写入权限,所以升级包会被劫持
B、升级包使用了 HTTPS 协议,会极大消耗服务器资源,应该使用 HTTP 协议
C、升级包获取忽略了证书校验,会造成中间人攻击
D、升级包使用 curl 会有安全隐患,需要使用 wget 来下载升级包

curl命令是一个利用URL规则在命令行下工作的文件传输工具。

它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。

curl https://ota.a.com/update.bin -k -o /tmp/update.bin

curl后面肯定得跟一个URL。

-k/--insecure:允许不使用证书到SSL站点

-o/--output:把输出写到该文件中

/tmp/update.bin:上一个参数对应文件,写到这个文件中。

因为允许不使用证书,所以可能造成中间人攻击。

以下说法正确的是

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

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

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

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

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

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

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

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

4.8

(1)int在32位和64位系统中都是32位,4字节,sizeof=4 (2)字符串末尾为\0,sizeof获得其长度为8 (3)指针大小在32位系统为4字节,64位系统为8字节

使用什么命令进行查询,并不真正对硬盘上的文件系统进行查找,而是对文件名数据库进行检索,而且可以使用通配符?和*?

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

A、whereis
B、find
C、locate
D、type

locate并不真正对硬盘上的文件系统进行查找,而是对文件名数据库进行检索,而且可以使用通配符?和* find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作 whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s) type命令用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令

在Linux系统中, 哪个文件你可以存储用于创建用户目录的系统用户默认文件?

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

A、/usr/tmp
B、/etc/default
C、/etc/skel
D、/etc/users

Linux下的/etc/skel目录往往不被人注意,其实此目录在新建用户时还是很有用的,灵活运用此目录可以节约一定的配置时间。 skel是skeleton的缩写,意为骨骼、框架。故此目录的作用是在建立新用户时,用于初始化用户根目录。系统会将此目录下的所有文件、目录都复制到新建用户的根目录,并且将用户属主与用户组调整为与此根目录相同。所以可将用户配置文件预置到/etc/skel目录下,比如说.bashrc、.profile与.vimrc等。

在Linux文件系统中,如果系统的 umask 设置为 244,则创建一个新文件它的权限将会是()

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

A、--w-r--r--
B、-r-xr--r--
C、-r---w--w-
D、-r-x-wx-wx

umask是从权限中“拿走”相应的位,且文件创建时不能赋予执行权限.

创建时,文件 默认666,目录默认777,减去umask的位就是结果。

对于新建文件 权限 666-244得到422

linux系统中权限rwx对应数值为421,故文件权限为r-- -w- -w-

4.9

arp协议用了()

broadcast

地址解析协议,即ARP(Address Resolution Protocol),是根据 IP地址 获取 物理地址 的一个 TCP/IP协议主机 发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址

在现代Unix系统中,下列哪些可以用于进程间的通讯:( )

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

A、socket
B、共享内存
C、消息队列
D、信号量

1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。 (3)信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数)。 (4)消息(Message)队列:消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺 (5)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。 (6)内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制的进程通过把一个共享的文件映射到自己的进程地址空间来实现它。 (7)信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。 (8)套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。

如何在命令行查看一台linux机器的CPU、SWAP分区信息、硬盘信息?

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

A、cat /proc/cpuinfo
B、du
C、cat /proc/swaps
D、df -lh

du是查看文件或者目录占用的磁盘空间的大小

在Linux系统下,你用vi编辑器对文本文件test.txt进行了修改,想保存对该文件所做的修改并正常退出vi编辑器,可以( )。

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

A、在命令模式下执行ZZ命令
B、在命令模式下执行WQ命令
C、在末行模式下执行:q!
D、在末行模式下执行:wq

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

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

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

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

B:不会变化

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

Linux的可执行文件开头的特征字符串是什么

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

A、PE
B、MZ
C、ELF
D、LNX

可移植可执行文件(Portable Executable,PE)是一种用于可执行、目标文件和动态链接库的文件格式,主要用于Windows,而使用于Linux和多数Unix系统中的是可执行与可链接格式(ELF),Mac OS中则主要使用Mach-O

命令:[ -z "" ]&&echo 0 ||echo 1的输出是什么

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

A、1
B、0

[ -z "" ] 命令判断双引号中变量的字符串长度是否为0,

本题即: 先判断 “” 变量中是否无值,成功

​ 然后根据 && 符特性,当命令1执行成功时执行命令2,也就是执行echo 0

​ 然后根据 || 符特性,前一个命令不能执行才执行后一个,命令2 echo 0 执行成功,所以命令3 echo 1 不执行

​ 命令结束

下面对www 和ftp的端口描述正确的是

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

A、20 21
B、80 20
C、80 21
D、80,20和21

www 80 ,ftp 20 ,21,书上一般写ftp端口21,对应两种模式,应该是主动20,被动模式20

FTP服务器有两个端口,其中21端口用于连接,20端口用于传输数据 进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,要传输文件时,服务器会开一个端口为20来进行传输数据文件。 也就是说,端口20才是真正传输所用到的端口,端口21只用于FTP的登陆认证。我们平常下载文件时,会遇到下载到99%时,文件不完成,不能成功的下载。其实是因为文件下载完毕后,还要在21端口再行进行用户认证,而下载文件的时间如果过长,客户机与服务器的21端口的连接会被服务器认为是超时连接而中断掉,就是这个原因。解决方法就是设置21端口的响应时间。

4.10

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

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

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

以上的exit和quit仅是个人总结,非权威,python中的exit()和quit()都可以用来退出python的交互式shell

说 Linux 是一种“自由软件”的主要理由是 ____________ 。

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

A、Linux的源代码是公开的
B、Linux是多用户、多任务的操作系统
C、Linux具有可移植性
D、Linux属于GPL软件

自由软件:一种可以不受限制地自由使用、复制、研究、修改和分发但必须公开源代码的软件。

开源软件:源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。通常是有copyright的,它的许可证可能包含这样一些限制

4.11

以下函数中,和其他函数不属于一类的是____。

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

A、read
B、pread
C、write
D、pwrite
E、fseek
F、lseek

lseek()函数:移动文件的读写位置

read() write()读写文件

pread() pwrite()带偏移量的读写文件

都属于系统调用

feek() 库函数

使用 dpkg 命令安装的软件为?

dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。

dpkg ---- deb

yum -----rpm

apt-get --- deb

tar ----- bz2

unzip ------ zip

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

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

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

A、4
B、20
C、5
D、19

Maxfd是三个套接字描述符中最大数字加上1

每天开机在/misc目录下创建一个当天日期的文件夹( )

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

A、echo "mkdir /misc/`date %Y%m%d`" >> /etc/rc.d/rc.local
B、echo "mkdir /misc/date +%Y%m%d">/etc/rc.d/rc.local
C、echo "mkdir /misc/`date +%Y%m%d`"> /etc/rc.d/rc.local
D、echo "mkdir /misc/`date +%Y%m%d`">>/etc/rc.d/rc.local

在Red Hat Linux系统中,DHCP服务器可以提供的服务包括( )多选

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

A、提供DNS、网关信息
B、为特定客户机提供固定IP地址
C、为主机提供动态的IP地址
D、为主机设置防火墙
E、提供邮件服务器地址信息

DHCP服务:根据UDP协议实现。分为DHCP服务器端和DHCP客户端,其中DHCP服务器端就是设置对应的IP地址池以及DNS服务器地址等信息以动态分配给客户端;DHCP客户端就是从服务器端动态获取IP地址、子网掩码、网关地址、DNS服务器地址等信息

dhcp 状态设置为 static 时就可以设置固定 IP 了。

终止一个前台进程常用到的命令和操作是?

ctrl+C

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

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

A、tar xvzf myftp.tgz -C /tmp
B、tar xvzf myftp.tgz -R /tmp
C、tar vzf myftp.tgz -x /tmp
D、tar xvzf myftp.tgz /tmp

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

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

通常情况下解压.tar.gz和.tgz等格式的归档文件就可以直接使用tar xvzf;

因为要解压到指定目录下,所以还应在待解压文件名后加上-C(change to directory)参数,即选项A所示格式。

linux tcpdump监听网卡 eth0,对方主机IP为10.1.1.180,tcp端口为80的数据,相应命令为?

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

A、tcpdump -h eth0 -nn 'tcp and host 10.1.1.180:80'
B、tcpdump -i eth0 -nn 'tcp and host 10.1.1.180:80'
C、tcpdump -h eth0 -nn 'tcp and port 80 and host 10.1.1.180'
D、tcpdump -i eth0 -nn 'tcp and port 80 and host 10.1.1.180'

D

-i (interface 接口) 网路接口名字,并且需要带上端口号,所以选D

可使用下列哪个工具将.o文件打包成静态库文件(.a)?

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

A、gcc
B、ar
C、readelf
D、objdump

关于Linux系统的负载(Load),以下表述正确的是______。

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

A、通过就绪和运行的进程数来反映
B、可以通过top命令查看
C、可以通过uptime查看
D、Load:2.5,1.3,1.1表示系统的负载压力在逐渐减少

uptime的用法解析:

11:39:11表示当前系统时间,42min表示系统运行时间,1 user表示登录用户数,load average:0.50,0.64,0.46表示最近1分钟,5分钟,15分钟系统平均载荷。

top用法解析:

实时监控或查看系统资源使用情况的工具,类似于Windows的任务管理器。

D三个数分别代表不同时间段的系统平均负载(一分钟内、五分钟内、以及十五分钟内),它们的数字当然是越小越好。数字越高,说明服务器的负载越大,这也可能是服务器出现某种问题的信号。但是一分钟和五分钟的平均负载大于十五分钟的,不是负载在变小。

Load:2.5,1.3,1.1

时间过去1分钟(距离现在最近)过去5分钟过去15分钟(距离现在最远)
load2.51.31.1

4.12

  • /ect/profile
    • 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从 /etc/profile.d 目录的配置文件中搜集shell的设置.
  • /etc/bashrc
    • 为每一个 运行bash shell 的用户执行此文件.当bash shell被打开时,该文件被读取.
  • ~/.bash_profile
    • 每个用户都可使用该文件输入 专用于 自己使用的shell信息, 当用户登录时,该文件仅仅执行一次 !默认情况下,他设置一些环境变量,执行~/.bashrc文件.
  • ~/.bashrc
    • 该文件包含专用于用户的bash shell的bash信息 ,当登录时以及每次打开新的shell时,该该文件被读取 .
  • ~/.bash_logout
    • 当每次退出系统(退出bash shell)时,执行该文件.

下列哪个git命令不是合并代码用的:

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

A、git pull --rebase
B、git merge
C、git cherry-pick
D、git blame

使用git merge命令; 使用git pull命令;

使用git cherry-pick命令 都可以合并 执行git blame;命令时,会逐行显示文件,并在每一行的行首显示commit号,提交者,最早的提交日期等

修改/etc/sysctl.conf如下哪项参数可以开启Linux流量转发功能()

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

A、net.ipv4.conf.all.rp_filter = 0
B、net.ipv4.conf.default.rp_filter = 0
C、net.ipv4.ip_forward = 1
D、net.ipv4.conf.all.rp_filter = 1
E、net.ipv4.conf.default.rp_filter = 1
F、net.ipv4.ip_forward = 0

可以通过命令:cat /proc/sys/net/ipv4/ip_forward查看,1为开启Linux流量转发,0为禁止使用

在某特定文件夹内查找内容含有"abc"的文件,选出可以实现的?

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

A、find .|xargs grep -ri "abc"
B、grep "abc" *
C、find -name "abc" .
D、以上答案都不正确

如下图所示:

其中文件夹下面有三个txt,分别是 abc.txt, abc123.txt, test,txt

abc.txt 中的内容为test;

abc123.txt 中的内容为abc;

test.txt 中的内容为abc;

A选项会打印出来两个答案(-r会显示一遍目录信息):

B选项会打印出来内容中包含abc的文件。结果如下图所示:

C选项会打印出来文件名中包含abc的文件。结果如下图所示:

所以综合来说,应该B选项是对的,A选项打印出来了两行一样的内容。

创建用户时不指定用户主目录的参数( )

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

A、useradd -o
B、useradd -m
C、useradd -M
D、useradd -d
-mcreate-home创建用户的主目录
-dhome-dir HOME_DIR新账户的主目录
-Mno-create-home不创建用户的主目录
-onon-unique允许使用重复的 UID 创建用户

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

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

A、TERM
B、DISPLAY
C、ECHO
D、OUTPUT

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

系统当前已经加载的所有文件系统在_________文件中得到反映。

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

A、/usr/sbin/cfdisk
B、/sbin/fdisk
C、/etc/mtab
D、/etc/fstab

**/etc/mtab文件的作用:**记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的 **/etc/fstab文件的作用 :**记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。

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

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

A、quota.user
B、aquota.user
C、aquota.group
D、quota.group

aquota.group与aqouta.user分别是组以及用户磁盘配额需要的配置文件,而且权限还是600

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

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

A、进程地址空间
B、共享内存
C、信号掩码
D、已打开的文件描述符
E、以上都不是
  • 子进程继承父进程
    • 用户号UIDs和用户组号GIDs
    • 环境Environment
    • 堆栈
    • 共享内存
    • 打开文件的描述符
    • 执行时关闭(Close-on-exec)标志
    • 信号(Signal)控制设定
    • 进程组号
    • 当前工作目录
    • 根目录
    • 文件方式创建屏蔽字
    • 资源限制
    • 控制终端
  • 子进程独有
    • 进程号PID
    • 不同的父进程号
    • 自己的文件描述符和目录流的拷贝
    • 子进程不继承父进程的进程正文(text),数据和其他锁定内存(memory locks)
    • 不继承异步输入和输出
  • 父进程和子进程拥有独立的地址空间和PID参数。
  • 子进程从父进程继承了用户号和用户组号,用户信息,目录信息,环境(表),打开的文件描述符,堆栈,(共享)内存等。

下列哪些可以用于Linux进程间通讯?

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

A、UNIX套接字
B、信号量
C、无名管道
D、文件锁
E、共享内存

Linux进程通信六大方式:

1,管道及(pipe)有名管道

2,信号(signal)

3, 消息队列

4,共享内存

5,信号量(semaphore)

6,套接字(socket)

这是书上说的六种通信方式,通过文件锁的方式也可以实现进程间的通信(上网查了一下)所以要记住文件锁

在多任务操作系统环境中,如果一个进程尝试对正在被其他进程读取的文件进行写操作,可能会导致正在进行读操作的进程读取到一些被破坏或者不完整的数据;如果两个进程并发对同一个文件进行写操作,可能会导致该文件遭到破坏。因此,为了避免发生这种问题,必须要采用某种机制来解决多个进程并发访问同一个文件时所面临的同步问题,由此产生了文件锁

4.13

DNS服务器主配置文件: /etc/named.conf

  $0  # 脚本启动名(包括路径)
  $n  # 第n个参数,n=1,2,…9
  $*  # 所有参数列表(不包括脚本本身)
  $[@ ](https://www.nowcoder.com/profile/9553624) # 所有参数列表(独立字符串)
  $#  # 参数个数(不包括脚本本身)
  $$  # 当前程式的PID
  $!  # 执行上一个指令的PID
  $?  # 执行上一个指令的返回值

Linux 下的进程有哪三种状态()

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

A、精确态,模糊态和随机态
B、运行态,就绪态和等待态
C、准备态,执行态和退出态
D、手动态,自动态和自由态

Linux的进程三种状态分别是:

运行状态:这个不用解释了吧,就是正在运行

就绪状态:这个状态等待CPU 时间片的状态,一切准备就绪,随时可以执行,等 CPU 切换到该进程,该进程就会由就绪状态变为运行状态

等待状态:其实就是未就绪状态,还有做一些准备工作或者等待资源

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

-r 递归处理,将指定目录下的文件与子目录一并处理

-v 或 --verbose 显示执行过程

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

在退出unix系统账户之后还需要继续运行某个进程,那么可用()

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

A、awk
B、sed
C、crontab
D、nohup

选D

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思

使用vim编辑器打开一个3000行内容的文件后,光标处在文本最后一行的位置,现在需要清空所有内容。请问你可以使用哪个快捷键?()

dd:删除当前行(0:返回行首) ndd:删除光标行往下n行(含光标行)内容 dgg:删除光标当前行及以上内容 dG:删除光标当前行及以下内容 dH:删除当前页面第1行至光标行 p:粘贴到光标下一行 u:撤销一次操作 Ctrl + r:反撤销(一次)

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

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

A、删除系统不用的设备驱动程序时
B、升级内核时
C、添加新硬件时
D、将网卡激活

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

激活网卡就用ifconfig eth0 up

具有很多C语言的功能,又称过滤器的是?awk

awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息。

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

1024

Linux系统大致启动流程是()

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

A、MBR -> initrd -> uEFI-> grub
B、MBR -> uEFI-> initrd -> grub
C、initrd -> grub -> uEFI -> MBR
D、uEFI-> MBR -> grub -> initrd

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

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

A、usermod -l viv vivek
B、usermod -l vivek viv
C、usermod -m viv vivek
D、usermod -m vivek viv

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

下面有关Ext2和ext3文件系统的描述,错误的是?

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

A、ext2/ext3文件系统使用索引节点来记录文件信息,包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息
B、ext3增加了日志功能,即使在非正常关机后,系统也不需要检查文件系统
C、ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏
D、ext3支持 1EB 的文件系统,以及 16TB 的文件。

ext2/ext3均不包含文件创建时间

Ext3 目前所支持的最大16TB 文件系统和最大2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。

4.14

下面有关linux查看系统负载的命令,说法错误的是?

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

A、uptime命令主要用于获取主机运行时间和查询linux系统负载等信息
B、vmstat命令可以查看查看cpu负载
C、sar -n命令可以查看网络接口信息
D、free命令可以查看磁盘负载情况

D错误

free - Display amount of tree and used memory in the system

描述的是内存使用情况,不是磁盘负载

在RHEL5系统中使用vi编辑文件report.txt时,要自下而上查找字符串“2006”,应该在命令模式下使用( )

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

A、/2006
B、?2006
C、#2006
D、%2006

从上往下查找,就像坐滑滑梯-------/

从下往上查找,就需要倒挂金钩了-------

Linux中包括两种链接:硬链接(Hard Link)和软连接(Soft Link),下列说法正确的是()

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

A、软连接可以跨文件系统进行连接,硬链接不可以
B、当删除原文件的时候软连接文件仍然存在,且指向的内容不变
C、硬链接被删除,磁盘上的数据文件会同时被删除
D、硬链接会重新建立一个inode,软链接不会

( 1 )软连接可以跨文件系统,硬连接不可以

( 2 )**硬连接不管有多少个,都指向的是同一个 I 节点,会把结点连接数增加,只要结点的连接数不是 0 ,文件就一直存在不管你删除的是源文件还是连接的文件。**只要有一个存在文件就存在。 当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用 i 节点号作为文件指针 , 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的 i 节点 , 并在磁盘上有一小片空间存放路径名。

( 3 )软连接可以对一个不存在的文件名进行连接 。

( 4 )软连接可以对目录进行连接。

统计日志中有多少个不同的ip登陆,下面可以正确统计的为

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

A、cat catalina.log  | awk -F ' ' '{print $3}' | sort | uniq -c | head -10
B、cat catalina.log | awk '{print $3}' | uniq -c | wc -l
C、cat catalina.log  | awk -F ' ' '{print $3}' | sort | uniq -c | wc -l
D、cat catalina.log | awk '{print $3}' | sort -k1nr | uniq -c | wc –l

ABCD四个选项awk 表达意思都一样,重点在awk指令后面

A:错在 加了 head -10 显示前十

B:错在uniq只会对相邻的行去重,所以需要先排序再去重

C D:正确。

如果需要统计每个ip登入的次数,就不需要wc - l

在 Linux 的 Shell 下,root 用户的提示符是()

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

A、$
B、¥
C、#
D、%

一般用户为$

fstab文件存放 文件系统的静态信息,当系统启动时候,会自动从该文件读取相关信息,并将指定的文件系统挂载到指定的目录。

网络服务的daemon是:

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

A、netd
B、httpd
C、inetd
D、lpd

在 Linux 系统中,对命令“In file1 file2”描述正确的是()

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

A、建立软链接 file1,并指向 file2
B、建立硬链接 file1,并指向 file2
C、建立软链接 file2,并指向 file1
D、建立硬链接 file2,并指向 file1

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。 而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。 -s : 进行软链结(symbolic link)而没有默认为硬链接。

将文件file1复制为file2可以用下面哪些命令()

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

A、cp file1 file2
B、cat file1 >file2
C、cat < file1 >file2
D、dd if=file1 of=file2
E、cat file1 | cat >file2

cp命令 **:**cp指令用于复制文件或目录。

​ 将文件file1复制成文件file2命令如下:cp file1 file2

cat命令 **:**cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的。

​ 一次显示整个文件命令如下: cat filename

> : linux中的数据流重导向:输出导向,覆盖导向的文件内容。

< : linux中的数据流重导向:输入导向,理解为原本由键盘输入改为文本输入

dd命令 : 作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

​ 参数:if 输入文件(或设备名称) of 输出文件(或设备名称)

​ 将文件file1拷贝到文件file2中命令如下: dd if=file1 of=file2

| **:**管道命令操作符,处理经由前面一个指令传出的正确输出信息,然后,传递给下一个命令,作为标准的输入

4.15

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

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

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选项其实是需要注意空格的问题。 第一个值00代表00分,它是连在一起的,第二个值4是4点,后面的第一个1是日,第四个参数是1-12,1到12,代表不同的月份,第五个值是一个*,代表星期。

查看后台进程作业ID的指令是( )

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

A、jobs
B、ps
C、ls
D、pg

ps命令用来列出系统中当前运行的那些进程

ls显示当前目录中的文件名字

pg提供了一次性的查看进程结果,但所提供的查看结果不是动态连续的

jobs 查看后台进程作业

某公司网络中心升级web服务器的物理内存,相应的要提高linux服务器交换空间,以下可以扩展交换空间的操作是( )

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

A、dd if=/dev/zero of=/mnt/sw1;swapon /mnt/sw1
B、mkfs -f  swap /dev/sdb1
C、mkswap /dev/sdb1
D、swapon /dev/sdb1
  • dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
  • if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
  • of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
  • /dev/zero:是一个输入设备,你可你用它来初始化文件。
  • /mnt/sw1:Linux操作系统下的挂载目录下的交换分区目录
  • swapon:开启交换分区
  • mkswap:设置交换分区
  • mkfs:建立 linux 文件系统在特定的分区上

若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,**那么要生成该程序代码的调试信息,**编译时使用的GCC命令正确的是?

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

A、arm-linux-gcc -c -o test.o test.c
B、arm-linux-gcc -S -o test.o test.c
C、arm-linux-gcc -o test test.c
D、arm-linux-gcc -g -o test test.c

D

-o参数用于指定输出的文本,如果不指定输出文件则默认输出.out文件

-c参数将对源程序test.c进行预处理、编译、汇编操作,生成test.0文件

-S参数将对源程序test.c进行预处理、编译,生成test.s文件

-g选项,加入GDB能够使用的调试信息,使用GDB调试时比较方便

所以选D

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

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

A、:s/old/new
B、:r/old/new/
C、:1,$s/old/new/g
D、:s/old/new/g

c,全文,每行非单次替换

下列不属于POSIX互斥锁相关函数的是:( )

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

A、int pthread_mutex_destroy(pthread_mutex_t* mutex)
B、int pthread_mutex_lock(pthread_mutex_t* mutex)
C、int pthread_mutex_trylock(pthread_mutex_t* mutex)
D、int pthread_mutex_create(pthread_mutex_t* mutex)

POSIX互斥锁相关函数有以下:

  1. pthread_mutex_init 初始化一个互斥量
  2. pthread_mutex_lock 给一个互斥量加锁
  3. pthread_mutex_trylock 加锁,如果失败不阻塞
  4. pthread_mutex_unlock 解锁
  5. pthread_mutex_destroy 销毁互斥锁

man 5 passwd

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

A、显示关于passwd的前五处说明文档显示关于passwd的前五处说明文档
B、显示passwd命令的使用方法
C、显示passwd命令的说明的前五行
D、显示passwd文件的结构
man的级别:

1 用户命令, 可由任何人启动的。 查看命令的帮助

2 系统调用, 即由内核提供的函数。  查看可被内核调用的函数的帮助

3 例程, 即库函数。  查看函数和函数库的帮助

4 设备, 即/dev目录下的特殊文件。  查看特殊文件的帮助(主要是/dev目录下的文件)

5 文件格式描述, 例如/etc/passwd。  查看配置文件的帮助

6 游戏, 不用解释啦!  查看游戏的帮助

7 杂项, 例如宏命令包、惯例等。  查看其它杂项的帮助

8 系统管理员工具, 只能由root启动。  查看系统管理员可用命令的帮助

9 其他(Linux特定的), 用来存放内核例行程序的文档。 

n 新文档, 可能要移到更适合的领域。 

o 老文档, 可能会在一段期限内保留。 

l 本地文档, 与本特定系统有关的。

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

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

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执行ls,会引起哪些系统调用()

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

A、nmap
B、read
C、execve
D、fork

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

Linux系统中,已经将DHCP服务器架设好,客户端的网络接口eth0,可以通过( )命令获得服务器分配的IP地址。多选

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

A、dhclient
B、ifdown eth0;ifup eth0
C、ifconfig
D、service network stop;service network start

ifconfig是查看eth0的IP地址,其它都是分配IP地址

公司网络中心linux服务器需要升级OA系统,为了防止客户登录影响系统升级,网络管理员可以执行的操作有( )

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

A、touch /etc/nolgoin
B、init 1
C、init 6
D、iptable -S INPUT -t tcp -s !127.0.0.1 -j DROP

Linux下的7个运行级别:

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

touch /etc/nolgoin: 禁止所有普通用户登录

iptable -s INPUT -t tcp -s !127.0.0.1 -j DROP:屏蔽非127.0.0.1请求;

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

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

A、ext2
B、fat32
C、ntfs
D、ext3
E、ext4

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

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

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

4.16

执行指令 find / -name "test.c",按 Ctrl+Z 后的提示有[1] 166,可以继续将进程放到前台并唤醒执行的方式有()

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

A、kill 166
B、Ctrl+h
C、fg 1
D、bg 1

fg:将后台中的命令调至前台继续运行

bg:将一个在后台暂停的命令,变成继续执行

ctrl + z:可以将一个正在前台执行的命令放到后台,并且暂停

在Linux中查看ARP缓存记录的命令是()?

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

A、“arp –a”
B、“arp –d”
C、“arp -L”
D、“arp –D”
“arp –a”:all
“arp –d”:delete
“arp -L”:不知道,找不到这个参数
“arp –D”:Device

一个文件名字为rr.Z,可以用来解压缩的命令是?

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

A、tar
B、gzip
C、compress
D、uncompress

tar是操作.tar的命令 gzip是压缩.gz压缩包的命令 compress:压缩.Z文件 uncompress:解压缩.Z文件

为了向二进制文件尾部增加数据,打开文件的方式应采用

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

A、″ab″
B、″rb+″
C、″wb″
D、″wb+″

A

A.″ab″ :对一个二进制文件可读可写,写数据会追加到文件末尾

B.″rb+″ :读写打开一个二进制文件,只允许读写数据 ,之前的数据会清除 C.″wb″:只写打开或新建一个二进制文件,只允许写数据,之前的数据会清除

D.″wb+″:读写打开或建立一个二进制文件,允许读和写,之前的数据会清除

当前目录下有a和b两个文件,执行命令“ls>c”,请问文件c里面的内容是什么?

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

A、a
B、b
C、ab
D、abc

使用ls命令产生的输出为当前路径下的所有文件名。>c即代表将结果输出至c中,若没有c则先产生c文件,即内容里含有abc

在/etc/fstab文件中指定的文件系统加载参数中, 参数一般用于CD-ROM等移动设备。

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

A、defaults
B、sw
C、rw和ro
D、noauto
defaults 使用默认设置 
sw 自动挂载的可读写分区 
noauto 设备(分区)只能手动挂载 表示手动挂载的,也用于CD-ROW等移动设备
ro  挂载为只读权限
rw  挂载为读写权限     所以选择D

Linux下两个进程可以同时打开同一个文件,这时如下描述错误的是:

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

A、两个进程中分别产生生成两个独立的fd
B、两个进程可以任意对文件进行读写操作,操作系统并不保证写的原子性
C、进程可以通过系统调用对文件加锁,从而实现对文件内容的保护
D、任何一个进程删除该文件时,另外一个进程会立即出现读写失败
E、两个进程可以分别读取文件的不同部分而不会相互影响
F、有缓冲的情况下,一个进程对文件长度和内容的修改另外一个进程可以立即感知

D、一般删除都是文件索引,如果两个文件同时打开同一个文件,一个线程执行删除操作,只要另一个线程不退出,就可以继续对该文件进行操作,一旦退出才找不到该文件的索引节点而报错。

以下哪些命令可以打印文件(demo.log)中包含ERP的行到标准输出()

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

A、sed '/ERR/a\' demo.log
B、sed '/ERP/p' demo.log
C、sed '/ERP/d' demo.log
D、sed -n '/ERP/p' demo.log

sed命令用于行的新增/删除, 行的替换/显示, 搜寻并替换, 直接修改文件。

-n:使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行才会被列出来。

p:打印,将某个选择的数据印出来。通常 p 会与参数 sed -n 一起用

d:删除

a:新增

下列关于 clone 和 fork 的区别描述正确的有?

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

A、clone和fork最大不同在于fork不再复制父进程的栈空间,而是自己创建一个新的。
B、clone和fork最大不同在于clone不再复制父进程的栈空间,而是自己创建一个新的。
C、clone是fork的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等
D、fork是clone的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等

fork() 函数复制时将父进程的所以资源都通过复制数据结构进行了复制,然后传递给子进程,所以 fork() 函数不带参数; clone() 函数则是将部分父进程的资源的数据结构进行复制,复制哪些资源是可选择的,这个可以通过参数设定,所以 clone() 函数带参数,没有复制的资源可以通过指针共享给子进程

Linux中,执行下面代码将打印多少个 "-" ()

int main(void){
	int i;
	for(i=0;i<4;i++){
		fork();
		printf("-\n");
	}
	return 0;
}

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

A、16
B、30
C、32
D、15

i=0时,主进程和其创建的子进程分别打印'-', 打印2个

i=1时,之前两个进程打印'-', 每个进程又创建新的子进程, 共打印4个'-'

i=2时,之前的四个进程分别打印'-', 并创建新的子进程, 故共打印8个'-'

i=3时,之前的8个进程分别打印'-', 并创建新的子进程,故共打印16个'-'

综上所述, 共打印2+4+8+16=30个

运行在多核处理器上的Linux环境中,若临界区非常短,且不允许线程上下文切换的情况下,使用下列哪种机制满足上述需求并且性能最好?

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

A、SpinLock
B、Mutex
C、Semaphore
D、Condition variable

SpinLock:自旋(自我检查锁是否可用,无需上下文切换)

Mutex:互斥(需要线程上下文切换)

Semaphore:信号量(先抢先得,也需要线程上下文切换)

Condition variable:条件变量

下面代码不算 main 这个进程,一共创建了多少个进程()

int main(int argc, char* argv[])
{
   fork();
   fork() && fork() || fork();
   fork();
}

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

A、18
B、19
C、20
D、21

我希望看最近执行的3个命令(不包括history),需要用哪个命令?

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

A、history -n 3
B、history 3
C、history 4
D、history -n 4

history 3会显示包括history 3的三条命令,然而并不符合要求,显示“最近执行的三个命令”

下面哪些属于,Fork后子进程保留了父进程的什么?

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

A、环境变量
B、父进程的文件锁,pending alarms和pending signals
C、当前工作目录
D、进程号

使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。

子进程与父进程的区别在于:

1、父进程设置的锁,子进程不继承(因为如果是排它锁,被继承的话,矛盾了)

2、各自的进程ID和父进程ID不同

3、子进程的未决告警被清除;

4、子进程的未决信号集设置为空集。 -mickole博客

end
  • 作者:AWhiteElephant(联系作者)
  • 发表时间:2022-04-16 11:16
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:如果是转载栈主转载的文章,请附上原文链接
  • 评论