2021年04月11日Linux专项练习1
考点1:查看文件内容的命令
在Linux系统上,下面那个命令不可以用来查看文件内容()
- A
cat
- B
ls
- C
less
- D
more
解析
显示答案/隐藏答案
正确答案: B考点2:查看线程信息功能的gdb命令
写出完成gdb查看线程信息功能的gdb命令。
- A
bt
- B
info thread
- C
set scheduler-locking off
- D
info break
解析
显示答案/隐藏答案
正确答案: B命令 | 描述 |
---|---|
backtrace bt | 打印当前的函数调用栈的所有信息。 |
info threads | 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。前面有*的是当前调试的线程。 |
set scheduler-locking | 线程调试 显示线程状态,参数off表示不锁定任何线程 |
info break | 可列出所有断点信息,info break 后也可设置要查看的break num |
考点3:八进制文件权限授权命令
在linux中,将文件属性设置为所有者只读,其余无任何权限的命令为(假设文件名为myfile)
- A
chown 400 myfile
- B
chmod 750 myfile
- C
chown u+r myfile
- D
chmod 400 myfile
解析
显示答案/隐藏答案
正确答案: D考点4:查看硬盘占用空间和剩余空间
什么命令用来查看硬盘被占用了多少空间和剩余多少空间?
- A
du
- B
df
- C
free
- D
vmstat
解析
显示答案/隐藏答案
正确答案: Bdu(disk usage)
统计目录(或文件)所占磁盘空间的大小
查看/root目录占用磁盘空间的大小:
1 | [root@localhost ~]# du -h -d 0 /root |
查看/root目录以及/root目录的一级子目录所占的磁盘空间大小
1 | [root@localhost ~]# du -h -d 1 /root |
df(disk free)
用于显示文件系统的磁盘使用情况
1 | [root@localhost ~]# df |
free
可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
1 | [root@localhost ~]# free |
vmstat
命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息
1 | [root@localhost ~]# vmstat |
考点5:八进制文件权限
linux系统中某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为:
- A 753
- B 763
- C 754
- D 764
解析
显示答案/隐藏答案
正确答案: Dls -l第一列第1位含义
1 | [root@localhost blog]# ls -l |
ls -l第一列第一位 | 含义 |
---|---|
l | 链接文件 |
d | 目录 |
- | 文件 |
ls -l第1列第2到10为含义
1 | [root@localhost ~]# ls -l |
ls -l第一列第2~10位 | 含义 | 二进制 | 八进制 |
---|---|---|---|
r | 读 | 100 | 4 |
w | 写 | 010 | 2 |
x | 执行 | 001 | 1 |
chmod 八进制写法
命令 | ls -l结果 |
---|---|
chmod 777 _config.yml |
-rwxrwxrwx. 1 root root 3196 3月 18 14:47 _config.yml |
chmod 776 _config.yml |
-rwxrwxrw-. 1 root root 3196 3月 18 14:47 _config.yml |
chmod 775 _config.yml |
-rwxrwxr-x. 1 root root 3196 3月 18 14:47 _config.yml |
chmod 774 _config.yml |
-rwxrwxr--. 1 root root 3196 3月 18 14:47 _config.yml |
chmod 773 _config.yml |
-rwxrwx-wx. 1 root root 3196 3月 18 14:47 _config.yml |
chmod 772 _config.yml |
-rwxrwx-w-. 1 root root 3196 3月 18 14:47 _config.yml |
chmod 771 _config.yml |
-rwxrwx--x. 1 root root 3196 3月 18 14:47 _config.yml |
chmod 770 _config.yml |
-rwxrwx---. 1 root root 3196 3月 18 14:47 _config.yml |
u-g-o:用户-组内用户-其他用户
r-w-x:用4-2-1表示。
所有者u有全部权限:rwx; = 7
组内g的权限为读与写:rw- = 6
组外成员o的权限为只读:r– = 4
考点6:fork()方法短路或
int main(){fork()||fork();}共创建几个进程:___
- A 1
- B 2
- C 3
- D 4
- E 5
- F 6
解析
显示答案/隐藏答案
正确答案: Cfork()返回值
fork()给子进程返回一个零值,而给父进程返回一个非零值;
在main这个主进程中,首先执行
1 | fork()|| fork() |
左边的fork()会复制父进程得到一个子进程,然后左边这个fork()该子进程的ID,也就是返回一个非零值,根据||的短路原则,前面的表达式为真时,后面的表达式不执行,故包含main的这个主进程创建了一个子进程。
由于子进程会复制父进程,而且子进程会根据fork()的返回值继续执行,就是说,在子进程中的
1 | fork()||fork() |
这条语句左边表达式的返回值是0,所以||右边的表达式要执行,这时在子进程中又创建了一个进程,
即main进程->子进程->孙子进程,一共创建了3个进程。
fork函数在父进程中返回新创建子进程的进程ID,大于0,此时父进程根据左值优先原则,不在与后面进行异或;
fork函数在子进程中返回0,此时子进程仍然需要进行下一个fork函数。
代码验证
1 |
|
运行结果
1 | [root@localhost C_Test]# ls |
考点7:Linux守护进程
网络服务的daemon是:
- A
netd
- B
httpd
- C
inetd
- D
lpd
解析
显示答案/隐藏答案
正确答案: AService
1、 Service就是指常驻内存大一些程序,且可以提供一些系统或是网络功能。提供service的那个程序就成为daemon。Daemon和service可以视为等同,不必刻意去区分。
Daemon
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的资料找到的很少,以下是唯一找到的一片文章介绍的 http://gaozhipeng.me/posts/netd-learn1/
守护进程
https://zh.wikipedia.org/zh-cn/守护进程
在一个多任务的电脑操作系统中,守护进程(英语:daemon,/ˈdiːmən/或/ˈdeɪmən/)是一种在后台执行的电脑程序。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程。
通常,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下。守护进程程序通常通过如下方法使自己成为守护进程:对一个子进程运行fork,然后使其父进程立即终止,使得这个子进程能在init下运行。这种方法通常被称为“脱壳”。
系统通常在启动时一同引导守护进程。守护进程为对网络请求,硬件活动等进行响应,或其他通过某些任务对其他应用程序的请求进行回应提供支持。守护进程也能够对硬件进行配置(如在某些Linux系统上的devfsd),运行计划任务(例如cron),以及运行其他任务。
在DOS环境中,此类应用程序被称为驻留程序(TSR)。在Windows系统中,由称为Windows服务的应用程序来履行守护进程的职责。
在原本的Mac OS系统中,此类应用程序被称为“extensions”。而作为Unix-like的Mac OS X有守护进程。(在Mac OS X中也有“服务”,但他们与Windows中类似的程序在概念上完全不相同。)
http://c.biancheng.net/view/5935.html
https://baike.baidu.com/item/守护进程
按照服务类型分为如下几个。
系统守护进程:syslogd、login、crond、at等。
网络守护进程:sendmail、httpd、xinetd、等。
独立启动的守护进程:httpd、named、xinetd等。
被动守护进程(由xinetd启动):telnet、finger、ktalk等。
考点8:Linux多线程编程pthread库函数
下述是Linux下多线程编程常用的pthread库提供的函数名和意义,说法正确的有?
- A
pthread_create
创建一个线程 - B
pthread_join
用来等待一个线程的结束 - C
pthread_mutex_init
初始化一个线程互斥锁 - D
pthread_exit
结束一个线程
解析
显示答案/隐藏答案
正确答案: ABCD考点9:Nginx配置文件nginx.conf
下列有关Nginx配置文件nginx.conf的叙述正确的是()
- A
nginx
进程数设置为CPU
总核心数最佳 - B 虚拟主机配置多个域名时,各域名间应用逗号隔开
- C
sendfile on;
表示为开启高效文件传输模式,对于执行下载操作等相关应用时,应设置为on
- D 设置工作模式与连接数上限时,应考虑单个进程最大连接数(最大连接数=连接数*进程数)
解析
显示答案/隐藏答案
正确答案: AD参考网络上的一篇总结。 Nginx配置文件nginx.conf中文详解
详见:>http://www.2cto.com/os/201212/176520.html
A. 进程数设置为CPU总核心数最佳。 (正确)
B. 配置虚拟主机,多个域名时,用 空格 分隔。 (错误)
C. 设定http服务器中 sendfile on; #开启高效文件传输模式
普通应用设置为on; 用于进行下载等应用磁盘IO重负载应用,设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。(错误)
D. 工作模式与连接数上限 :(最大连接数 = 连接数 * 进程数)(正确)
考点10:DNS服务主配置文件有哪些
下列不是dns服务主配置文件的是( )。
- A
named.conf
- B
dns.conf
- C
name.conf
- D
named.local