考点1:find查找更改时间比一个文件新但比另一个文件旧的文件

find . -newer file1 \! \( -newer file2 \)命令的意思是?

  • A 查找更改时间比文件file1新但比文件file2旧的文件
  • B 查找更改时间比文件file1旧但比文件file2新的文件
  • C 查找更改时间比文件file1旧且比文件file2旧的文件
  • D 查找更改时间比文件file1新且比文件file2新的文件

解析

显示答案/隐藏答案正确答案: A
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@localhost exam]# ls -ltr --full-time
总用量 3640
-rw-r--r--. 1 root root 422 2021-03-19 21:12:12.566962591 +0800 StartWriting.bat
drwxr-xr-x. 2 root root 4096 2021-03-19 21:12:12.566962591 +0800 scaffolds
-rw-r--r--. 1 root root 817 2021-03-19 21:12:12.566962591 +0800 package.json
-rw-r--r--. 1 root root 376 2021-03-19 21:12:12.566962591 +0800 HexoSTest.bat
-rw-r--r--. 1 root root 576 2021-03-19 21:12:12.566962591 +0800 HexoD.bat
-rw-r--r--. 1 root root 158 2021-03-19 21:12:12.566962591 +0800 FM.properties
-rw-r--r--. 1 root root 3093 2021-03-19 21:12:12.566962591 +0800 _config.yml
drwxr-xr-x. 3 root root 4096 2021-03-19 21:12:12.636962591 +0800 themes
drwxr-xr-x. 9 root root 4096 2021-03-19 21:12:12.636962591 +0800 source
-rwxr--r--. 1 root root 174 2021-03-19 21:16:37.816962490 +0800 hexos.sh
drwxr-xr-x. 308 root root 8192 2021-03-19 21:19:12.036962431 +0800 node_modules
-rw-r--r--. 1 root root 170424 2021-03-19 21:19:12.746962431 +0800 package-lock.json
-rw-r--r--. 1 root root 3498022 2021-03-22 20:29:10.927984900 +0800 db.json
-rw-r--r--. 1 root root 431 2021-03-22 20:52:44.997984360 +0800 HexoS.bat
[root@localhost exam]# find . -maxdepth 1 -newer StartWriting.bat \! \( -newer HexoS.bat \)
./HexoS.bat
./source
./themes
./hexos.sh
./node_modules
./db.json
./package-lock.json
[root@localhost exam]#

考点2:/etc/passwd中用户组ID与etc/group中的用户组ID不匹配导致用户无法登录的问题

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

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

解析

显示答案/隐藏答案正确答案: C
  • /etc/group是用户组信息文件,里面定义了用户组的ID,
  • /etc/passwd是用户基本信息文件,里面定义了用户的ID用户组的ID等相关信息。

所以因为两个文件中都定义了用户组的信息,所以两个文件应该都要改过来,否则会导致用户找不到所属组

考点3:硬链接和符号连接

下列关于链接描述,错误的是 。

  • A 硬链接就是让链接文件的i节点号指向被链接文件的i节点
  • B 硬链接和符号连接都是产生一个新的i节点
  • C 链接分为硬链接和符号链接
  • D 硬连接不能链接目录文件

解析

显示答案/隐藏答案正确答案: B

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

硬连接不管有多少个,都指向的是同一个I节点,
只有符号链接才产生新的inode节点。

硬连接不能连接文件目录,软连接才可以。
硬连接不会产生新节点,硬连接指向同一节点inode。

Inode是UNIX中一种数据结构,包含了与文件系统中各个文件相关的一些重要信息,在文件系统创建时,同时会创建大量的inode。它用作数据索引的标识符,系统找到文件对应的inode,通过inode 号获取inode信息,再找到文件数据锁在的block读取。
硬链接,文件名和inode号对应,也可能多个文件名指向同一个inode号。硬链接实现不同的文件名访问同一个文件,对文件内容的修改会影响到所有的文件名,但删除一个文件名不影响其他文件名的访问。
软链接,也可以通过不同文件名访问同一块数据,但是文件名的inode是不一样的。A是B的软链接,A的内容存放的是B的路径名。
最后在回顾下硬软链接的不同:
本质不同:硬链接是指向同一个文件,软链接指向的不是同一个文件。
删除时:硬链接不受影响,软链接失效
创建链接时:创建硬链接链接数加1,创建软链接连接数不变
是否可以跨分区:硬链接不可以跨分区,软链接可以跨分区
目录是否可以创建链接:硬链接不可以对目录创建,软链接可以对目录创建
硬链接的inode号相同,软链接inode号不同

考点4:vi编辑器全部替换

Vi编辑器中,怎样将字符AAA全部替换成yyy?

  • A p/AAA/yyy/
  • B s/AAA/yyy/g
  • C i/AAA/yyy/
  • D p/AAA/yyy/h

解析

显示答案/隐藏答案正确答案: B

全局替换命令为::s/源字符串/目的字符串/g

vi末行模式命令 描述
/pattern 从光标开始处向文件尾搜索pattern
?pattern 从光标开始处向文件首搜索pattern
n 同一方向重复上一次搜索命令
N 在反方向上重复上一次搜索命令
:s/p1/p2/g 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g 将文件中所有p1均用p2替换

考点5:recv方法

调用recv(int sockfd, void *buf, size_t len, int flags)的过程中,一共进行了几次内存复制操作?

  • A 1
  • B 2
  • C 3
  • D 4

解析

显示答案/隐藏答案正确答案: B

内核从对端接受数据,放在socket的缓存中,然后复制到应用层的buffer,所以一共两个buffer。
recv 接受对端socket数据,经过两次系统调用,首先在内核中将数据拷贝到自己的协议栈;然后recv返回将数据从内核缓冲区拷贝到用户buffer中。 内核从对端接受数据,放在socket的缓存中,然后复制到应用层的buffer,所以一共两个buffer。

考点6:Linux卸载设备umount

将光盘/dev/hdc卸载的命令是?

  • A umount /mnt/cdrom /dev/hdc
  • B mount /dev/hdc
  • C umount /dev/hdc
  • D mount /mnt/cdrom /dev/hdc

解析

显示答案/隐藏答案正确答案: C

题干没有说明,事先是把/dev/hdc挂载到/mnt/cdrom下。

挂载设备使用mount,
卸载设备使用umount,有三种方式,通过设备名,挂载点或者设备名和挂载点 :

1
2
3
umount /dev/hdc
umount /mnt/cdrom
umount /mnt/cdrom /dev/hdc

考点7:Linux多线程编程 pthread库 函数名和意义

下述是Linux下多线程编程常用的pthread库提供的函数名和意义,说法正确的有?

  • A pthread_create 创建一个线程
  • B pthread_join 用来等待一个线程的结束
  • C pthread_mutex_init 初始化一个线程互斥锁
  • D pthread_exit 结束一个线程

解析

显示答案/隐藏答案正确答案: ABCD

考点8:chmod授权

文件aaa的访问权限为rw-r–r–,现要增加所有用户的执行权限和同组用户的写权限,下列哪些命令是正确的?

  • A chmod a+x , g+w aaa
  • B chmod 764 aaa
  • C chmod 775 aaa
  • D chmod o+x , g+w aaa

解析

显示答案/隐藏答案正确答案: AC

考点9:与用户管理相关的配置文件

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

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

解析

显示答案/隐藏答案正确答案: ABC

/etc/passwd 存放用户的UID name 密码过期时间 修改时间等等
/etc/shadow 存放用户的密码密文
/etc/group 存放用户的所属组情况
/etc/password 是错误的,linux没有D 这个文件

考点10:Linux多种复制文件方法

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

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

解析

显示答案/隐藏答案正确答案: ABCDE

Linux复制cp命令

  • cp命令:cp指令用于复制文件或目录。
    • 将文件file1复制成文件file2命令如下:cp file1 file2

cat命令

  • cat命令:cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的。
    • 一次显示整个文件命令如下: cat filename

输入输出重定向

  • >: linux中的数据流重导向:输出导向,覆盖导向的文件内容。
  • <: linux中的数据流重导向:输入导向,理解为原本由键盘输入改为文本输入
  • |:管道命令操作符,处理经由前面一个指令传出的正确输出信息,然后,传递给下一个命令,作为标准的输入

dd命令

  • dd命令: 作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
    • 参数:
      • if 输入文件(或设备名称)
      • of 输出文件(或设备名称)
    • 将文件file1拷贝到文件file2中命令如下:
      • dd if=file1 of=file2

考点1:vi 末行模式相关命令

你使用命令”vi/etc/inittab”查看该文件的内容,你不小心改动了一些内容,为了防止系统出为,你不想保存所修改的内容,你应该如何操作:

  • A 在末行模式下,键入:wq
  • B 在末行模式下,键入:q!
  • C 在末行模式下,键入:x!
  • D 在编辑模式下,键入”ESC”键直接退出vi

解析

显示答案/隐藏答案正确答案: B
vi末行模式命令 描述
:wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
:q! 直接强制退出
:x! 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

在编辑模式下,键入”ESC”键不退出vi 直接进入命令模式

考点2:Linux默认的Shell

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

  • A bash
  • B ruby
  • C PHP
  • D perl

解析

显示答案/隐藏答案正确答案: A

考点3:如何退出交互式Shell

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

  • A Esc
  • B q
  • C exit
  • D quit

解析

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

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

考点4:Linux查找字符串grep

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

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

解析

显示答案/隐藏答案正确答案: A

grep:查找文件内的内容
gzip:压缩文件,文件经压缩后会增加.gz扩展名
find:在指定目录下查找文件
sort:排序

考点5:Linux任务计划

假如你想计划让系统自动在每个月的第一天早上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

Linux计划任务格式

1
分 时 日 月 周  命令/脚本 

上面的周,1表示星期天,…6表示星期六,0,表示星期天

如何查看任务计划表

你们可以打开 /etc/crontab 里面就是任务计划表

1
cat /etc/crontab

运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@localhost ~]&#35; cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

&#35; For details see man 4 crontabs

&#35; Example of job definition:
&#35; .---------------- minute (0 - 59)
&#35; | .------------- hour (0 - 23)
&#35; | | .---------- day of month (1 - 31)
&#35; | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
&#35; | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
&#35; | | | | |
&#35; * * * * * user-name command to be executed

[root@localhost ~]&#35;

实例

每天04:00

1
0 4 * * * 要执行的命令 

周二和周五18:00

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

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

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

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

1
2
30 17 * * 1-5 /usr/bin/wall < /root/msg 
45 17 * * 1-5 /sbin/shutdown -h now

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

1
*/2 12-14 * * * 命令 

考点6:导致进程从用户态切换到内核态的情况

下列选项中,会导致用户进程从用户态切换到内核的操作是?
I. 整数除以零
II. sin( )函数调用
III. read系统调用

  • A 仅 I、II
  • B 仅 I、III
  • C 仅 II 、III
  • D I、II和III

解析

显示答案/隐藏答案正确答案: B

用户态切换到内核态的3种方式

a. 系统调用
b. 异常
c. 外围设备的中断

考点7:Linux统计重复行uniq 按行排序sort 查看文件头head

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

  • 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

解析

显示答案/隐藏答案正确答案: B

uniq命令:报告或删去重复行,加上-n参数可以统计重复行出现的次数(放在每行开头)。
sort命令:对文本按行进行排序,-n参数表示根据数字大小排序;-r,对应英文单词是reverse,意思是反转排序结果,sort默认是从小到大排序,加上这个参数可以实现从大到小排序。
head命令:取文件的前一部分(默认输出前10行)。加-n [数字]可以指定到底是前几行。
把这三个命令的作用都搞懂,再加上一点 Linux管道符 的知识,这道题目也就很容易解决了。最好是自己动手在命令行下实践几次,加深印象,容易记牢。

考点8:授权 修改属主 修改属组

软件项目存储于/ftproot,允许apache用户修改所有程序,设置访问权限的指令?

  • A chmod 777 /ftproot
  • B chgrp apache /frproot
  • C chown apache /ftproot
  • D chmod apache /ftproot

解析

显示答案/隐藏答案正确答案: A

chmod +权限 +文件或目录
chown +属主.属组+文件或目录
chgrp +属组 +目录
就本题目而言,设置目录的权限可以这样:

1
chmod 777 /ftproot

但是这样做的话所有的用户都可以操作该目录,不是个很好的解决方案。

也可以直接设置目录的属主为apache:

1
chown apache /ftproot

然后再加上权限

1
chmod 7xx /ftproot

把文件夹的属主改成了apache也不代表apache用户能修改所有程序,因为文件所有者权限有可能不可写。

这个题目有问题,如果/ftproot是个目录,这样的话,chmod 777 -r /ftproot才能修改该目录下的所有程序。

考点9:makefile

下列关于makefile描述正确的有?

  • A makefile文件保存了编译器和连接器的参数选项
  • B 主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释
  • C 默认的情况下,make命令会在当前目录下按顺序找寻文件名为”GNUmakefile“、”makefile“、”Makefile“的文件, 找到了解释这个文件
  • D 在Makefile不可以使用include关键字把别的Makefile包含进来

解析

显示答案/隐藏答案正确答案: ABC

makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模块及库等).创建程序(make程序)首先读取makefile文件,然后再激活编译器,汇编器,资源编译器和连接器以便产生最后的输出,最后输出并生成的通常是可执行文件.创建程序利用内置的推理规则来激活编译器,以便通过对特定CPP文件的编译来产生特定的OBJ文件.
Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。
1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。
2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由make所支持的。
3、变量的定义。在Makefile中我们要定义一系列的变量,变量一般都是字符串,这个有点你C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上。
4、文件指示。其包括了三个部分,一个是在一个Makefile中引用另一个Makefile,就像C语言中的include一样;另一个是指根据某些情况指定Makefile中的有效部分,就像C语言中的预编译#if一样;还有就是定义一个多行的命令。有关这一部分的内容,我会在后续的部分中讲述。
5、注释。Makefile中只有行注释,和UNIX的Shell脚本一样,其注释是用“#”字符,这个就像C/C++中的“//”一样。如果你要在你的Makefile中使用“#”字符,可以用反斜框进行转义,如:“#”。
默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、“makefile”、“Makefile”的文件,找到了解释这个文件。在这三个文件名中,最好使用“Makefile”这个文件名,因为,这个文件名第一个字符为大写,这样有一种显目的感觉。最好不要用 “GNUmakefile”,这个文件是GNU的make识别的。有另外一些make只对全小写的“makefile”文件名敏感,但是基本上来说,大多数的make都支持“makefile”和“Makefile”这两种默认文件名。
在Makefile使用include关键字可以把别的Makefile包含进来,这很像C语言的#include,被包含的文件会原模原样的放在当前文件的包含位置。include的语法是:

1
include &lt;filename&gt;; 

filename可以是当前操作系统Shell的文件模式(可以保含路径和通配符)

考点10:硬链接

在Linux系统,关于硬链接的描述正确的是()

  • A 跨文件系统
  • B 不可以跨文件系统
  • C 为链接文件创建新的i节点
  • D 链接文件的i节点与被链接文件的i节点相同

解析

显示答案/隐藏答案正确答案: BD

链接分硬链接和符号链接

  • 符号链接可以建立对于文件和目录的链接。

  • 符号链接可以跨文件系统,即可以跨磁盘分区。

  • 符号链接的文件类型位是l,链接文件具有新的i节点。

  • 硬链接不可以跨文件系统。它只能建立对文件的链接,

  • 硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。

考点1:常见Linux命令

以下不属于Linux系统命令的是:

  • A kill
  • B ifconfig
  • C mv
  • D remove

解析

显示答案/隐藏答案正确答案: D

Linux没有remove命令,但是有rm

考点2:八进制权限

linux系统中某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为:

  • A 753
  • B 763
  • C 754
  • D 764

解析

显示答案/隐藏答案正确答案: D

考点3:unix授权命令

在unix系统下执行chmod(“/usr/test/sample”,0753)之后该文件sample的访问权限为

  • A 拥有者可读写执行,同组用户可写可执行,其他用户可读可执行
  • B 拥有者可读写执行,同组用户可读写,其他用户可读可执行
  • C 拥有者可读写执行,同组用户可读可执行,其他用户可写可执行
  • D 拥有者可读写执行,同组用户可读可执行,其他用户可读写

解析

显示答案/隐藏答案正确答案: C

考点4:Linux终止前台进程

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

  • A kill
  • B ctrl+C
  • C shut down
  • D halt

解析

显示答案/隐藏答案正确答案: B

Linux如何终止前台进程

终止一个前台进程用
ctrl+C;

Linux如何终止后台进程

终止一个后台进程:
1、使用kill命令;
2、使用fg命令将后台进程变为前台进程,然后ctrl+C。

命令 描述
kill 无参数表示向进程输入关闭的指令
Ctrl+C 关闭当前(前台)进程
Chrl+Z 暂停当前(前台)进程
shutdown 关机
halt 就是调用shutdown -h(立即关机)

考点5:Linux内核子系统

内核不包括的子系统是 。

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

解析

显示答案/隐藏答案正确答案: D

内核分为 进程管理系统 、 内存管理系统 、 I/O管理系统 和文件管理系统等四个子系统。
硬件管理系统一听就不切实际阿 因为内核是一串指令。

考点6:Linux查看系统负载命令

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

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

解析

显示答案/隐藏答案正确答案: D
1
2
3
[root@localhost ~]# uptime
01:17:27 up 2 days, 13:36, 1 user, load average: 8.92, 8.93, 9.28
[root@localhost ~]#
1
2
3
4
5
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 124912 116352 1516588 0 0 34 27 31 21 15 5 79 0 0
[root@localhost ~]#

vmstat帮助文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost ~]# vmstat --help

Usage:
vmstat [options] [delay [count]]

Options:
-a, --active active/inactive memory
-f, --forks number of forks since boot
-m, --slabs slabinfo
-n, --one-header do not redisplay header
-s, --stats event counter statistics
-d, --disk disk statistics
-D, --disk-sum summarize disk statistics
-p, --partition <dev> partition specific statistics
-S, --unit <char> define display unit
-w, --wide wide output
-t, --timestamp show timestamp

-h, --help display this help and exit
-V, --version output version information and exit

For more details see vmstat(8).
[root@localhost ~]#

uptime帮助文档

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~]# uptime --help

Usage:
uptime [options]

Options:
-p, --pretty show uptime in pretty format
-h, --help display this help and exit
-s, --since system up since
-V, --version output version information and exit

For more details see uptime(1).
[root@localhost ~]#

free命令

1
2
3
4
5
6
7
8
9
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 3686064 1917344 154528 1508 1614192 1733323
Swap: 0 0 0
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.5G 1.8G 151M 1.5M 1.5G 1.7G
Swap: 0B 0B 0B
[root@localhost ~]#

free描述的是内存使用情况,不是磁盘负载。
free查看内存使用情况,并非磁盘。磁盘可以使用df命令

1
2
3
4
5
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.5G 1.8G 92M 1.5M 1.6G 1.6G
Swap: 0B 0B 0B
[root@localhost ~]#

可以看到当前Linux的内存有3.5G,已经使用了1.8G内存。

1
2
3
4
5
6
7
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/block/bootdevice/by-name/userdata 55G 14G 41G 26% /
tmpfs 1.8G 368K 1.8G 1% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
/data/media 55G 14G 41G 26% /mnt/files
[root@localhost ~]#

可以看到磁盘容量为55G,已用14G,有41G可以用。

考点7:[-z string] 短路与 短路或

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

  • A 1
  • B 0

解析

显示答案/隐藏答案正确答案: B

[-z STRING]命令[-n string]命令

[-z STRING] “STRING” 的长度为零则为真
[-z ""]长度为零,返回1,故执行&&后面的语句 echo 0显示“0”,返回1,故不执行echo 1 最终结果为0

命令 描述
[-z string] string”的长度为零则为真。我的理解是[-z string]就是[-zero string]
[-n string] or [string] string”的长度为非零,则为真。[-n string]就是[non-zero string]

考点8:Redhat9安装方式

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

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

解析

显示答案/隐藏答案正确答案: ACD

没用过红帽好伐,所以百度鸟解了一哈🤣
从安装启动方式可以分为:软盘启动 光盘启动 U盘启动(红帽9还支持制作安装启动软盘的,只是软盘现在基本见不到了) 从软件安装来源可以分为:光盘、硬盘、nfs服务器、ftp服务器、http服务器
最简单的方式就是光盘引导,光盘安装。
其他安装方式还有KickStart无人值守安装等。

考点9:批量删除当前目录下的文件

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

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

解析

显示答案/隐藏答案正确答案: AB

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它能够捕获一个命令的输出,然后传递给另外一个命令,当你尝试用rm 由于题目中是说删除当前目录下后缀名为.c的文件,故需要加上-maxdepth 1,表示是当前目录,不包括其子目录。

find . -name "*.c" -maxdepth 1表示找到.(当前目录下)名字为以“.c”为后缀的文件,-maxdepth 1表示目录深度为1,也就是寻找当前目录

考点10:查看Linux主机的默认路由

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

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

解析

显示答案/隐藏答案正确答案: AD

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

1
2
3
4
5
6
7
8
9
10
11
young@young-Lenovo-G470:~$ route
内核 IP 路由表
目标 网关 子网掩码 标志 跃点 引用 使用 接口
default 172.28.234.1 0.0.0.0 UG 0 0 0 wlan0
172.28.234.0 * 255.255.254.0 U 9 0 0 wlan0
young@young-Lenovo-G470:~$ netstat -route
内核 IP 路由表
目标 网关 子网掩码 标志 跃点 引用 使用 接口
default 172.28.234.1 0.0.0.0 UG 0 0 0 wlan0
172.28.234.0 * 255.255.254.0 U 9 0 0 wlan0
young@young-Lenovo-G470:~$

route命令用来显示目前本机路由表的内容,并且还可以针对路由表中的记录来进行相应的添加、删除或修改等操作。
ifconfig命令用来来检测和设置本机的网络接口。
ping命令用来检测两部主机之间的传输信道是否畅通,或远程主机是否正常
netstat命令用来查看主机的连接状态

考点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

解析

显示答案/隐藏答案正确答案: B

du(disk usage)

统计目录(或文件)所占磁盘空间的大小
查看/root目录占用磁盘空间的大小:

1
2
3
[root@localhost ~]# du -h -d 0 /root
45M /root
[root@localhost ~]#

查看/root目录以及/root目录的一级子目录所占的磁盘空间大小

1
2
3
4
5
6
7
8
9
[root@localhost ~]# du -h -d 1 /root
8.0K /root/.pki
20K /root/.ssh
2.6M /root/.nvm
12K /root/.config
42M /root/.npm
84K /root/C_Test
45M /root
[root@localhost ~]#

df(disk free)

用于显示文件系统的磁盘使用情况

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/block/bootdevice/by-name/userdata 56814352 14404892 42393076 26% /
tmpfs 1822552 368 1822184 1% /dev
tmpfs 1843032 0 1843032 0% /dev/shm
/data/media 56763152 14421276 42341876 26% /mnt/files
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/block/bootdevice/by-name/userdata 55G 14G 41G 26% /
tmpfs 1.8G 368K 1.8G 1% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
/data/media 55G 14G 41G 26% /mnt/files
[root@localhost ~]#

free

可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区

1
2
3
4
5
6
7
8
9
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 3686064 1383564 673684 2108 1628816 2266427
Swap: 0 0 0
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.5G 1.3G 657M 2.1M 1.6G 2.2G
Swap: 0B 0B 0B
[root@localhost ~]#

vmstat

命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息

1
2
3
4
5
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 669372 164900 1529292 0 0 33 27 5 21 15 5 80 0 0
[root@localhost ~]#

考点5:八进制文件权限

linux系统中某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为:

  • A 753
  • B 763
  • C 754
  • D 764

解析

显示答案/隐藏答案正确答案: D

ls -l第一列第1位含义

1
2
3
4
5
6
7
8
9
[root@localhost blog]# ls -l
总用量 14056
-rw-r--r--. 1 root root 3196 3月 18 14:47 _config.yml
-rw-r--r--. 1 root root 14159968 3月 20 22:46 db.json
......
drwxr-xr-x. 307 root root 8192 3月 18 14:49 node_modules
-rw-r--r--. 1 root root 817 3月 18 14:49 package.json
......
drwxr-xr-x. 3 root root 4096 3月 18 14:47 themes
ls -l第一列第一位 含义
l 链接文件
d 目录
- 文件

ls -l第1列第2到10为含义

1
2
3
4
5
6
7
[root@localhost ~]# ls -l
总用量 4
lrwxrwxrwx. 1 root root 15 3月 19 02:30 blog -> /opt/hexo/blog/
drwxr-xr-x. 2 root root 4096 4月 3 22:48 C_Test
lrwxrwxrwx. 1 root root 14 3月 19 21:17 exam -> /opt/hexo/exam
lrwxrwxrwx. 1 root root 11 3月 22 02:43 share -> /mnt/files/
[root@localhost ~]#
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

解析

显示答案/隐藏答案正确答案: C

fork()返回值

fork()给子进程返回一个零值,而给父进程返回一个非零值
在main这个主进程中,首先执行

1
fork()|| fork()

左边的fork()会复制父进程得到一个子进程,然后左边这个fork()该子进程的ID,也就是返回一个非零值,根据||的短路原则,前面的表达式为真时,后面的表达式不执行,故包含main的这个主进程创建了一个子进程。

由于子进程会复制父进程,而且子进程会根据fork()的返回值继续执行,就是说,在子进程中的

1
fork()||fork()

这条语句左边表达式的返回值是0,所以||右边的表达式要执行,这时在子进程中又创建了一个进程,

即main进程->子进程->孙子进程,一共创建了3个进程。

fork函数在父进程中返回新创建子进程的进程ID,大于0,此时父进程根据左值优先原则,不在与后面进行异或;
fork函数在子进程中返回0,此时子进程仍然需要进行下一个fork函数。

代码验证

forkTest.c
1
2
3
4
5
6
7
8
9
10
#include <unistd.h>
#include <stdio.h>
int main()
{
fork()||fork();
printf("num\n");
// sleep(100);
wait(NULL);
return 0;
}

运行结果

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost C_Test]# ls
a.out file1.txt file3.txt forkTest.c redCharacter.out terminalColor.c
command.sh file2.txt file4.txt redCharacter.c strerror.c terminalColor.out
[root@localhost C_Test]# gcc forkTest.c -o forkTest.o
[root@localhost C_Test]# ls
a.out file1.txt file3.txt forkTest.c redCharacter.c strerror.c terminalColor.out
command.sh file2.txt file4.txt forkTest.o redCharacter.out terminalColor.c
[root@localhost C_Test]# ./forkTest.o
num
num
num
[root@localhost C_Test]#

考点7:Linux守护进程

网络服务的daemon是:

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

解析

显示答案/隐藏答案正确答案: A

Service

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

解析

显示答案/隐藏答案正确答案: BCD

考点1:测试网络是否连通的Linux命令

下列哪些命令可以测试网络通不通?

  • A ping
  • B traceroute
  • C netstat

解析

显示答案/隐藏答案正确答案: A

A,ping命令常用来查看网络连接是否相通,底层是ICMP协议。如ping www.baidu.com
B, traceroute是常用的路由查看命令,用来查看数据到达某个主机经过的路由地址
C,netstat命令用来查看本机的传输层连接状态,如TCP连接,端口等信息

考点2:Samba服务器的配置文件

Samba 服务器的配置文件是

  • A httpd.conf
  • B inetd.conf
  • C rc.samba
  • D smb.conf

解析

显示答案/隐藏答案正确答案: D

SMB

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议。

Samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

  • WEB服务器配置文件 http.conf
  • WEB启动脚本配置文件 initd.conf
  • samba脚本 rc.samba
  • samba服务配置文件 smb.conf

考点3:Linux用户存放配置文件的目录

在linux系统中,用来存放系统所需要的配置文件和子目录是

  • A /etc
  • B /var
  • C /root
  • D /home

解析

显示答案/隐藏答案正确答案: A
  • etc下放置配置文件
  • /var下放置日志文件
  • /root超级用户主目录
  • /home使用者家目录
Linux目录 描述
/dev 设备信息
/home 家目录
/bin/sbin 可执行文件
/etc 系统文件
/lib/lib64 动态库/静态库
/lost+found 丢失文件
/opt 第三方文件(相对于操作系统)
/root 管理员的家目录
/usr 第三方头文件和库
/var 系统日志文件/缓存文件
/etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
/etc/group 类似/etc/passwd ,但说明的不是用户而是组。
/etc/inittab init 的配置文件。

考点4:查看远程Linux运行了多少时间

在Shell环境下,如何查看远程Linux系统运行了多少时间?

  • A scp user@被监控主机ip “uptime”
  • B ssh user@被监控主机ip “uptime”
  • C ssh user@被监控主机ip “cputime”
  • D scp user@被监控主机ip “cputime”

解析

显示答案/隐藏答案正确答案: B
  • scp用于远程数据传输
  • ssh用于远程登录
  • uptime命令可以查看当前linux系统运行了多长时间

https://www.cnblogs.com/joshua317/articles/4740881.html

ssh命令

ssh命令用于远程登录上Linux主机。
常用格式:

1
ssh [-l login_name] [-p port] [user@]hostname

scp命令

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

1
scp [可选参数] file_source file_target

uptime命令

uptime命令能够打印系统总共运行了多长时间和系统的平均负载。
uptime命令可以显示的信息显示依次为:
现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
http://man.linuxde.net/uptime

考点5:计算机存储原理

下面关于计算机存储原理说法错误的是 。

  • A 存储器由大量可以存储二进制数据的存储单元组成
  • B 数据总线从存储器中获取数据的过程称为写操作
  • C 程序执行时,读取指令是指计算机自动从存储器中取出一条指令
  • D 虚拟存储技术缓解主存容量小的矛盾

解析

显示答案/隐藏答案正确答案: B

考察的是计算机存储结构原理
存储位:存放二进制单元,是存储器最小的存储单位。 从存储器获取为读操作。存储到存储器为写操作。
虚拟存储技术:当进程运行时,先将其中一部分装入内存,另一部分暂留在磁盘,当要执行的指令或访问的数据不在内存时,由操作系统自动完成将他们从磁盘调入内存的工作

考点6:Linux日志/var/log/的子目录的用途

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

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

解析

显示答案/隐藏答案正确答案: C

/var/log子目录

/var/log子目录 描述
/var/log/messages 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
/var/log/dmesg 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
/var/log/auth.log 包含系统授权信息,包括用户登录和使用的权限机制等。
/var/log/boot.log 包含系统启动时的日志。
/var/log/daemon.log 包含各种系统后台守护进程日志信息。
/var/log/dpkg.log 包括安装或dpkg命令清除软件包的日志。
/var/log/kern.log 包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
/var/log/maillog /var/log/mail.log 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
/var/log/user.log 记录所有等级用户信息的日志。
/var/log/Xorg.x.log 来自X的日志信息。
/var/log/alternatives.log 更新替代信息都记录在这个文件中。
/var/log/btmp 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp &#124; more”。
/var/log/cups 涉及所有打印信息的日志。
/var/log/anaconda.log 在安装Linux时,所有安装信息都储存在这个文件中。
/var/log/yum.log 包含使用yum安装的软件包信息。
/var/log/cron 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
/var/log/secure 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
/var/log/wtmp或/var/log/utmp 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
/var/log/faillog 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

特定应用相关的/var/log/的子目录

除了上述Log文件以外,
/var/log还基于系统的具体应用包含以下一些子目录:

应用相关的/var/log子目录 描述
/var/log/httpd/或/var/log/apache2 包含服务器access_log和error_log信息。
/var/log/lighttpd/ 包含light HTTPD的access_log和error_log。
/var/log/mail/ 这个子目录包含邮件服务器的额外日志。
/var/log/prelink/ 包含.so文件被prelink修改的信息。
/var/log/audit/ 包含被 Linux audit daemon储存的信息。
/var/log/samba/ 包含由samba存储的信息。
/var/log/sa/ 包含每日由sysstat软件包收集的sar文件。
/var/log/sssd/ 用于守护进程安全服务。

考点7:tcpdump命令

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

  • 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

tcpdump抓包命令:用于截取网络分组,并输出分组内容的工具

选项 描述
-A 以ASCII格式打印所有分组,常用于www的网页的数据抓取
-c 收到指定的数量的分组后,停止tcpdump
-C 将一个原始分组写入文件之前,检查文件的当前大小是否超过了file_size的指定大小,超过则关闭当前文件然后打开一个新文件,、
-d 将匹配信心包的代码以人们能够理解的汇编格式给出
-dd 将匹配信息的代码以C语言程序段的格式给出
-ddd 将匹配信息的代码以十进制的形式给出
-D 打印系统中所有的可以用tcpdump截包的网络接口
-e 输出行打印数据链路层的头部信息
-f 将外部的internet地址以数字的形式打印
-F 从指定的文件中读取表达式,忽略命令行中给出的表达式、
-i 指定监听的网络接口
-l 使标准输出变成缓冲形式,可以把数据导出到文件
-L 列出网络接口的已知数据链路
-b 在数据链路层选择协议:ip arp rarp ipx
-n 不把网络地址转成名字
-nn 不进行端口名称的转换
-N 不输出主机名中的域名部分
-t 输出的每一行不打印时间戳
-tt 在每一行中输出非格式化的时间戳
-ttt 输出本行和前面一行之间的时间差
-tttt 在每一行中输出由date处理的默认格式的时间戳
-O 不运行分组匹配代码优化程序
-P 不将网络接口设置成混杂模式
-q 快速输出,只输出较少的协议信息
-r 从指定文件中读取包
-S 将tcp的序列号以绝对值形式输出,而不是相对值
-s 从每个分组中读取最开始的snaplen个字节】
-T 将监听的包直接解释为指定类型的报文,常见有rpc远程过程调用,和snmp
-v 输出一个详细信息
-vv 输出详细的报文信息
-w 直接将分组写入文件中,而不是不分析打印
-x 可以列出16进制以及ASCII的数据包的内容
1
-i 网路接口名字

并且需要带上端口号

考点8:Redhat发布的Linux

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

  • A /etc/inittab
  • B /etc/passwd
  • C /etc/shadow
  • D /etc/group

解析

显示答案/隐藏答案正确答案: C

/etc目录的inittab passwd shadow group文件的作用

/etc目录常用文件 描述
/etc/inittab 配置文件用来设置系统的默认运行级别
/etc/passwd 这个文件存放着所有用户帐号的信息,包括用户名和密码,因此,它对系统来说是至关重要的。
/etc/shadow 用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。
/etc/group 该文件是用户组配置文件,即用户组的所有信息都存放在此文件中

其中,**/ect/passwd用来保存用户的基本信息,而/etc/shadow用来保存所有用户的密码**

/etc/shadow文件作用

shadow文件只是用来存储用户的密码,shadow的文件的第二个字段表示该用户是否有设置密码,而用户登录是否需要验证还是要看passwd文件的第二个字段。

  • 如果第二个字段为空,表示该用户登录不需要验证。
  • 如果第二个字段为x,表示该用户登录需要进行验证。

考点9:常见Linux发行版本

以下哪几种属于Linux操作系统的发行版?

  • A CentOS
  • B Ubuntu
  • C macOS
  • D Redhat

解析

显示答案/隐藏答案正确答案: ABD

CentOS:国内非常火的红帽系服务器系统
Ubuntu:很流行的桌面Linux版本
macOS:苹果的桌面系统,它的内核是不基于Linux的, macOS是类Unix系统
Redhat:红帽Linux系统

考点10:subnet命令

命令

1
2
3
4
5
subnet 166.173.197.131 netmask 255.255.255.192{
range 166.173.197.10 166.173.197.107;
default-lease-time 600;
max-lease-time 7200;
}

表示?()

  • A 向166.173.197.10网络分配从166.173.197.133到166.173.197.255
  • B 一个两小时的最大租用时间
  • C 指定了一个十分钟的缺省租用时间
  • D 网络地址166.173.197.0

解析

显示答案/隐藏答案正确答案: BC

subnet设置一个子网166.173.197.131/24

  • range:可分配的IP地址范围上166.173.197.10 ~ 166.173.197.107
  • default-lease-time:默认租约时间
  • max-lease-time:最大租约时间

考点1:Linux修改权限命令_chmod命令

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

  • A chmod +x filename.sh
  • B chown +x filename.sh
  • C chmod +r filename.sh
  • D chown +r filename.sh

解析

显示答案/隐藏答案正确答案: A

chmod命令修改权限 +x表示增加执行权限,+r表示增加读取权限,+w表示增加写权限 chown将指定文件的拥有者改为指定的用户或组

1
2
3
$ ls -l
total 3766
-rwxr-xr-x 1 lan 197609 183 3月 19 21:32 hexos.sh*
1
2
3
rwx
111
421

考点2:UNIX目录结构

在UNIX系统中,目录结构采用( )

  • A 单级目录结构
  • B 二级目录结构
  • C 单纯树形目录结构
  • D 带链接树形目录结构

解析

显示答案/隐藏答案正确答案: D

带链接树形目录结构又称非循环图目录结构,它是指访问一文件(或目录)可以有多条路径。一般常说UNIX的文件系统是树形结构,其实是指带链接的树形结构,而不是纯树形目录结构。

考点3:

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

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

解析

显示答案/隐藏答案正确答案: D
  • tar: 操作.tar的命令
  • gzip: 压缩.gz压缩包的命令
  • compress:压缩.Z文件
  • uncompress:解压缩.Z文件

考点4:记录已经加载的文件系统的文件

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

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

解析

显示答案/隐藏答案正确答案: C

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

考点5:Linux列举当前目录

在linux中,列举当前目录下文件的是哪个命令______。

  • A ps
  • B cd
  • C mv
  • D ls

解析

显示答案/隐藏答案正确答案: D
  • ps 查看运行中的进程
  • cd 进入某个目录
  • mv 移动文件或者文件夹
  • ls list的缩写,列出某个目录下的文件或者文件夹

考点6:Linux查看文件命令

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

  • A cat
  • B more
  • C less
  • D head

解析

显示答案/隐藏答案正确答案: BC
  • cat:由第一行开始显示文件所有内容;
  • tac:从最后一行开始显示文件的所有内容,
    • 注意 tac 与cat 写法正好相反;
  • more:一页一页的显示文件内容,只能向后翻页;
  • less:也是一页一页显示文件内容,但是可以通过键盘上的【pagedown】,【pageup】控制向后,向前翻页;
  • head:显示一个文件的前几行;
  • tail:显示一个文件的后几行;

考点7:Linux查看CPU Swap分区 硬盘信息命令

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

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

解析

显示答案/隐藏答案正确答案: ACD

-cat /proc/cpuinfo:查看一台linux机器的CPU信息
-du:查看该目录占用文件系统数据块的情况
-cat /proc/swaps:查看SWAP分区信息
-df -lh:查看硬盘信息

考点8:日志文件系统有哪些

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

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

解析

显示答案/隐藏答案正确答案: CDE

日志文件系统(英语:Journaling file system)是一种文件系统。在发生变化时,它先把相关的信息写入一个被称为日志的区域,然后再把变化写入主文件系统。在文件系统发生故障(如内核崩溃或突然停电)时,日志文件系统更容易保持一致性,并且可以较快恢复。

常见的日志文件系统

JFS:IBM的 Journaled File System, 最早的日志文件系统。
Ext4/Ext3文件系统:由Ext2文件系统演化而成的日志文件系统,广泛用于Linux系统。
XFS文件系统:广泛用于Linux系统,取代了Ext4。
ReiserFS:用B+树作为数据结构的日志文件系统,在处理小文件时有较好的性能。
Btrfs:用B树作为数据结构,被认为是下一代Linux文件系统。
NTFS:微软的NTFS也是日志文件系统,也是Windows下最常用的文件系统。
HFS+:苹果公司发展的OS X操作系统下主要使用的文件系统。

考点9:系统调用

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

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

解析

显示答案/隐藏答案正确答案: BCD
  • 任何shell都会执行 exec 和 fork
  • 而ls会执行read
  • 三个加起来就是read,execve,fork

考点10:

linux 2.6.* 内核默认支持的文件系统有哪些?

  • A ext3
  • B ext2
  • C ext4
  • D xfs
  • E ufs

解析

显示答案/隐藏答案正确答案: ABCD

背答案算了

考点1:如何修改文件权限

怎样更改一个文件的权限设置?

  • A chmod
  • B file
  • C attrib
  • D change

解析

显示答案/隐藏答案正确答案: A

chmod 是change &nbsp;mode of file 的缩写,改变文件的的读写权限。

考点2:hardware filename fixed-address server-name命令

在dhcpd.conf中用于向某个客户主机分配固定IP地址的参数是 ( )

  • A server-name
  • B fixed-address
  • C filename
  • D hardware

解析

显示答案/隐藏答案正确答案: B

hardware语句

语法

1
hardware hardware-type hardware-address; 

指明物理硬件接口类型和硬件地址。硬件地址由6个8位组构成,每个8位组以“:”隔开。如00:00:E8:1B:54:97

server-name 语句

1
server-name "name"; 

用于告诉客户服务器的名字。

fixed-address 语句

1
fixed-address address [, address ... ]; 

fixed-address 语句用于指定一个或多个IP地址给一个DHCP客户。只能出现在host声明里。

考点3:ls df du fine命令

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

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

解析

显示答案/隐藏答案正确答案: C

A:ls是list的缩写,用来显示当前目录下面文件的信息;如果要查看文件的大小则需要加上-al参数
B:df是disk free的缩写,用来显示文件系统中不同磁盘的使用情况;
C:du是disk usage的缩写,显示当前目录或者当前文件的占用的块大小;
D:find命令作用在目录下,用来查找指定目录或者当前目录下的文件。

ls -l查看文件大小

参考资料:https://www.cnblogs.com/sparkdev/p/7476005.html
ls -al命令输出的第5列就是该文件或目录的大小(以字节为单位显示的文件大小)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@localhost ~]# ls -l exam/
总用量 3640
-rw-r--r--. 1 root root 3093 3月 19 21:12 _config.yml
-rw-r--r--. 1 root root 3498022 3月 22 20:29 db.json
-rw-r--r--. 1 root root 158 3月 19 21:12 FM.properties
-rw-r--r--. 1 root root 576 3月 19 21:12 HexoD.bat
-rw-r--r--. 1 root root 431 3月 22 20:52 HexoS.bat
-rwxr--r--. 1 root root 174 3月 19 21:16 hexos.sh
-rw-r--r--. 1 root root 376 3月 19 21:12 HexoSTest.bat
drwxr-xr-x. 308 root root 8192 3月 19 21:19 node_modules
-rw-r--r--. 1 root root 817 3月 19 21:12 package.json
-rw-r--r--. 1 root root 170424 3月 19 21:19 package-lock.json
drwxr-xr-x. 2 root root 4096 3月 19 21:12 scaffolds
drwxr-xr-x. 9 root root 4096 3月 19 21:12 source
-rw-r--r--. 1 root root 422 3月 19 21:12 StartWriting.bat
drwxr-xr-x. 3 root root 4096 3月 19 21:12 themes
[root@localhost ~]#

ls -lh

在 Linux 命令中,涉及到文件大小的地方,一般默认是以字节为单位显示的。这样可读性就不是很好。所以有了 -h 选项!这个选项的全称是 –human-readable(给人读的)。也就是以 K, M, G 等单位来显示文件的大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@localhost ~]# ls -lh exam/
总用量 3.6M
-rw-r--r--. 1 root root 3.1K 3月 19 21:12 _config.yml
-rw-r--r--. 1 root root 3.4M 3月 22 20:29 db.json
-rw-r--r--. 1 root root 158 3月 19 21:12 FM.properties
-rw-r--r--. 1 root root 576 3月 19 21:12 HexoD.bat
-rw-r--r--. 1 root root 431 3月 22 20:52 HexoS.bat
-rwxr--r--. 1 root root 174 3月 19 21:16 hexos.sh
-rw-r--r--. 1 root root 376 3月 19 21:12 HexoSTest.bat
drwxr-xr-x. 308 root root 8.0K 3月 19 21:19 node_modules
-rw-r--r--. 1 root root 817 3月 19 21:12 package.json
-rw-r--r--. 1 root root 167K 3月 19 21:19 package-lock.json
drwxr-xr-x. 2 root root 4.0K 3月 19 21:12 scaffolds
drwxr-xr-x. 9 root root 4.0K 3月 19 21:12 source
-rw-r--r--. 1 root root 422 3月 19 21:12 StartWriting.bat
drwxr-xr-x. 3 root root 4.0K 3月 19 21:12 themes
[root@localhost ~]#

考点4:Linux命令返回值

linux命令执行成功后会返回

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

解析

显示答案/隐藏答案正确答案: A

Linux命令返回值

参考资料:
https://blog.csdn.net/cy413026/article/details/104172448
Linux错误代码及其含义:https://blog.csdn.net/u013457167/article/details/79196306

在shell终端中,你所输入的一切命令其实都有返回值,而这个返回值默认保存在变量$?中,举例看一下

1
2
3
4
5
6
7
8
9
#! /bin/bash

grup_pwd=`cat /etc/grub.conf | grep -v ^# | grep password 2> /dev/null`

if [ $? -eq 0 ];then
echo " [ √ ] 已设置grub密码,符合要求"
else
echo " [ X ] 没有设置grub密码,不符合要求,建议设置grub密码"
fi

Linux错误码含义

Linux错误代码及其含义:https://blog.csdn.net/u013457167/article/details/79196306

考点5:查看文件命令cat more tail

为了查看不断更新的日志文件,可以使用的指令是()

  • A cat -n
  • B vi
  • C more
  • D tail -f

解析

显示答案/隐藏答案正确答案: D

linux 下tail用于查看档案的结尾,-f 参数是follow的意思,当文件增长时,输出后续添加的数据。所以使用使用tail命令的-f选项可以方便的查阅正在改变的日志文件。
Linux tail 命令:https://www.runoob.com/linux/linux-comm-tail.html

考点5:vi编辑器的三种模式

在RHEL5系统中,在vi编辑器环境中的任意时刻,选择”ESC”键后,编辑器将进入( )模式

  • A 命令
  • B 输入
  • C 末行
  • D 文本

解析

显示答案/隐藏答案正确答案: A

vim编辑器可以分为三种模式:
1.命令模式:控制屏幕光标的移动,进行文本的删除,复制等文字编辑工作,不使用【del】和【backspace】键,以及进入插入模式或者回到底行模式;
2.插入模式:只有在插入模式下,才可以输入文字,按【esc】可以回到命令模式,vim编辑器一打开是不可以输入的,因为刚打开时候处于命令模式;
3.底行模式:保存文件或者退出vim,也可以设置编辑环境和一些编译工作。

考点6:useradd命令

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

  • A useradd -o
  • B useradd -m
  • C useradd -M
  • D useradd -d

解析

显示答案/隐藏答案正确答案: C
useradd参数 全称 释义
-b base-dir BASE_DIR 新账户的主目录的基目录
-c comment COMMENT 新账户的 GECOS 字段
-d home-dir HOME_DIR 新账户的主目录
-D defaults 显示或更改默认的 useradd 配置
-e expiredate EXPIRE_DATE 新账户的过期日期
-f inactive INACTIVE 新账户的密码不活动期
-g gid GROUP 新账户主组的名称或 ID
-G groups GROUPS 新账户的附加组列表
-h help 显示此帮助信息并推出
-k skel SKEL_DIR 使用此目录作为骨架目录
-K key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m create-home 创建用户的主目录
-M no-create-home 不创建用户的主目录
-N no-user-group 不创建同名的组
-o non-unique 允许使用重复的 UID 创建用户
-p password PASSWORD 加密后的新账户密码
-r system 创建一个系统账户
-s shell SHELL 新账户的登录 shell
-u uid UID 新账户的用户 ID
-U user-group 创建与用户同名的组
-Z selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER

考点7:多进程同时操作一个文件

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

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

解析

显示答案/隐藏答案正确答案: D

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

内核中,对应于每个进程都有一个文件描述符表,表示这个进程打开的所有文件。文件描述表中每一项都是一个指针,指向一个用于描述打开的文件的数据块———file对象,file对象中描述了文件的打开模式,读写位置等重要信息,当进程打开一个文件时,内核就会创建一个新的file对象。需要注意的是,file对象不是专属于某个进程的,不同进程的文件描述符表中的指针可以指向相同的file对象,从而共享这个打开的文件。file对象有引用计数,记录了引用这个对象的文件描述符个数,只有当引用计数为0时,内核才销毁file对象,因此某个进程关闭文件,不影响与之共享同一个file对象的进程.
http://www.cnblogs.com/zhaoyl/archive/2012/05/15/2502010.html
http://blog.chinaunix.net/uid-26548237-id-3046664.html

考点8:TCP握手 分手

TCP的握手与分手,可能出现的情形有()。

  • A 握手需要3次通信
  • B 分手需要进行4次通信
  • C FINACK 在同一包里
  • D ACKSYN 在同一包里

解析

显示答案/隐藏答案正确答案: ABCD

知识盲区:后续再解析
https://m.nowcoder.com/questions?tagId=42507626&type=1&source=intelli&pos=6

考点9:Linux日志文件

以下说法正确的是()

  • 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

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等命令查看

/var/log/wtmp是一个二进制文件,记录每个用户的登录次数和持续时间等信息,使用”last -f”查看,如”last -f /var/log/wtmp”;
/var/run/utmp是一个二进制文件,保存当前在本系统中的用户信息,使用”last -f”查看,如”last -f /var/run/utmp”;

参考资料

https://linux.cn/article-10096-1.html

考点1:输入输出重定向

在RHEL5系统中,小王希望将他执行的ls命令的输出结果保存在当前目录下文件output.ls中,以供日后进行分析和使用,但要求不覆盖原文件的内容,他应该使用的命令是( )

  • A ls>output.ls
  • B ls>>output.ls
  • C ls<<output.ls
  • D ls—output.ls

解析

显示答案/隐藏答案正确答案: B

> 输出重定向到一个文件或设备 覆盖原来的文件
>! 输出重定向到一个文件或设备 强制覆盖原来的文件
>> 输出重定向到一个文件或设备 追加原来的文件
< 输入重定向到一个程序

  • command > file:将输出重定向到 file。
  • command < file:将输入重定向到 file。
  • command >> file:将输出以追加的方式重定向到 file。
  • n > file:将文件描述符为 n 的文件重定向到 file。
  • n >> file:将文件描述符为 n 的文件以追加的方式重定向到 file。
  • n >& m:将输出文件 m 和 n 合并。
  • n <& m:将输入文件 m 和 n 合并。
  • << tag:将开始标记 tag 和结束标记 tag 之间的内容作为输入。

考点2:Linux目录结构

Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在()目录中

  • A /bin
  • B /etc
  • C /dev
  • D /lib

解析

显示答案/隐藏答案正确答案: C

/bin 二进制执行文件,也就是命令文件
/etc 下存放的是配置文件
/dev 存放是时外部设备文件,硬盘,usb等
/lib 存放的是库文件

/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 超级管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公共的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统
/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录,其中包含:
/usr/x11R6 存放x window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令

/dev 是device的简写,英文原意是device 设备。

考点3:常用端口号 WWW和FTP端口号

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

  • A 20 21
  • B 80 20
  • C 80 21
  • D 80,20 21

解析

显示答案/隐藏答案正确答案: D

FTP端口

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

www 80
ftp(主动模式20数据端口,用于传输-服务端传输文件 被动模式21控制端口,认证-客户端认证用户) ftp协议由ftp服务器和ftp客户端构成,是基于tcp的两个端口:20,21
tftp协议基于udp端口 tcp传输层协议 ftp应用层协议

其他常用端口

  • SSH:22
  • Telnet:23
  • SMTP:25
  • POP3:110. S
  • NMP:161
  • DNS服务:53
  • HTTP(www):80(默认端口)
  • HTTPS:443(在http的基础上ssl加密)

考点4:Linux查看磁盘挂载状态命令

linux下查看磁盘挂载状态的命令式?

  • A rpm
  • B mount
  • C netstat
  • D df

解析

显示答案/隐藏答案正确答案: B

安装命令:rpm -ivh
卸载命令: rpm -e [package name]
查看挂载状态: mount
查看磁盘情况: df
查看端口:netstat –anlp
.tar.gz的安装:

1
2
3
4
tar –zxvf tar.gz 
./configure
Make
Make install

考点5:vi强制保存退出参数

某配置文件针对所有用户的访问权限是只读,vi编辑器强制存盘退出的指令是( )

  • A :wq
  • B ZZ
  • C :q!
  • D :wq!

解析

显示答案/隐藏答案正确答案: D
vim的退出编辑命令 含义
:q 不保存退出
:q! 不保存强制退出
:wq 写入文件并退出
:wq! 强制写入并退出(只有当操作者是文件所有者才可行)
:x 文件有变动时等同于 :wq,文件无变动时等同与 :q
ZZ 等同于:x

考点7:Linux的ifconfig命令

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

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

解析

显示答案/隐藏答案正确答案: D

ifconfig命令

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

1
ifconfig -interface [options] address

3.主要参数如下

  • interface:指定的网络接口名,如eth0和eth1。
  • options:
    • up:激活指定的网络接口卡。
    • down:关闭指定的网络接口。
    • broadcast address:设置接口的广播地址。
    • pointopoint:启用点对点方式。
    • address:设置指定接口设备的IP地址。
    • netmask address:设置接口的子网掩码。

考点8:Linux进程 clone和fork的区别

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

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

解析

显示答案/隐藏答案正确答案: C

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

fork()是全部复制
vfork()是共享内存
clone()是可以将父进程资源有选择地复制给子进程,而没有复制的数据结构则通过指针的复制让子进程共享,具体要复制哪些资源给子进程,由参数列表中的clone_flags来决定。另外,clone()返回的是子进程的pid。

fork是复制进程,创建一个新的进程,不带参数
clone是可选的复制父进程资源,可以通过参数控制复制的内容

考点9:

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

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

解析

显示答案/隐藏答案正确答案: C

Linux下的/etc/skel目录往往不被人注意,其实此目录在新建用户时还是很有用的,灵活运用此目录可以节约一定的配置时间。
skel是skeleton的缩写,意为骨骼、框架。故此目录的作用是在建立新用户时,用于初始化用户根目录。系统会将此目录下的所有文件、目录都复制到新建用户的根目录,并且将用户属主与用户组调整为与此根目录相同。所以可将用户配置文件预置到/etc/skel目录下,比如说.bashrc、.profile与.vimrc等。
注:
1.如果在新建用户时,没有自动建立用户根目录,则无法调用到此框架目录。
2.如果不想以默认的/etc/skel目录作为框架目录,可以在运行useradd命令时指定新的框架目录。例如:
sudo useradd -d /home/chen -m -k
/etc/my_skel chen
上述命令将新建用户chen,设置用户根目录为/home/chen,并且此目录会自动建立;同时指定框架目录为/etc/my_skel。
3.如果不想在每次新建用户时,都重新指定新的框架目录,可以通过修改/etc/default/useradd配置文件来改变默认的框架目录,方法如下:
查找SKEL变量的定义,如果此变量的定义已被注释掉,可以取消注释,然后修改其值:
SKEL=/etc/my_skel

考点10:Linux可以查看系统启动时间的命令

以下哪些命令可以查看当前系统的启动时间()

  • A w
  • B top
  • C ps
  • D uptime

解析

显示答案/隐藏答案正确答案: ABD
命令 功能
ps 查看当前系统中的进程
who -b 查看当前系统的启动时间
last reboot 查看当前系统的启动时间
w 查看当前系统的启动时间
top 查看当前系统的启动时间
uptime 查看当前系统的启动时间

考点11:

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

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

解析

显示答案/隐藏答案正确答案: BC

考点1:Linux修改权限命令_chmod命令

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

  • A chmod +x filename.sh
  • B chown +x filename.sh
  • C chmod +r filename.sh
  • D chown +r filename.sh

解析

显示答案/隐藏答案正确答案: A

chmod命令修改权限 +x表示增加执行权限,+r表示增加读取权限,+w表示增加写权限
chown将指定文件的拥有者改为指定的用户或组

1
2
3
$ ls -l
total 3766
-rwxr-xr-x 1 lan 197609 183 3月 19 21:32 hexos.sh*
1
2
3
rwx
111
421

考点2:UNIX目录结构

在UNIX系统中,目录结构采用( )

  • A 单级目录结构
  • B 二级目录结构
  • C 单纯树形目录结构
  • D 带链接树形目录结构

解析

显示答案/隐藏答案正确答案: D

带链接树形目录结构又称非循环图目录结构,它是指访问一文件(或目录)可以有多条路径。一般常说UNIX的文件系统是树形结构,其实是指带链接的树形结构,而不是纯树形目录结构。

考点3:Linux的.Z文件的解压缩命令

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

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

解析

显示答案/隐藏答案正确答案: D
命令 描述
tar 操作.tar的命令
gzip 压缩.gz压缩包的命令
compress 压缩.Z文件
uncompress 解压缩.Z文件

考点4:记录已经加载的文件系统的文件

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

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

解析

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

考点5:Linux列举当前目录

在linux中,列举当前目录下文件的是哪个命令______。

  • A ps
  • B cd
  • C mv
  • D ls

解析

显示答案/隐藏答案正确答案: D
命令 功能
ps 查看运行中的进程
cd 进入某个目录
mv 移动文件或者文件夹
ls list的缩写,列出某个目录下的文件或者文件夹

考点6:Linux查看文件命令

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

  • A cat
  • B more
  • C less
  • D head

解析

显示答案/隐藏答案正确答案: BC
  • cat:由第一行开始显示文件所有内容;
  • tac:从最后一行开始显示文件的所有内容,
    • 注意 tac 与cat 写法正好相反;
  • more:一页一页的显示文件内容,只能向后翻页;
  • less:也是一页一页显示文件内容,但是可以通过键盘上的【pagedown】,【pageup】控制向后,向前翻页;
  • head:显示一个文件的前几行;
  • tail:显示一个文件的后几行;

考点7:Linux查看CPU Swap分区 硬盘信息命令

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

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

解析

显示答案/隐藏答案正确答案: ACD
命令 功能
cat /proc/cpuinfo 查看一台linux机器的CPU信息
cat /proc/swaps 查看SWAP分区信息
du 查看该目录占用文件系统数据块的情况
df -lh 查看硬盘信息

cat /proc/cpuinfo查看CPU信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost ~]# cat /proc/cpuinfo 
Processor : AArch64 Processor rev 4 (aarch64)
processor : 0
processor : 1
processor : 2
processor : 3
processor : 4
processor : 5
processor : 6
processor : 7
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

Hardware : Qualcomm Technologies, Inc MSM8976
[root@localhost ~]#

cat /proc/swaps查看swap分区信息

1
2
3
[root@localhost ~]# cat /proc/swaps
Filename Type Size Used Priority
[root@localhost ~]#

du查看文件或目录占用大小

查看当前目录下各个文件或目录的占用大小

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~]# du -h -d 1
8.0K ./.pki
20K ./.ssh
2.6M ./.nvm
12K ./.config
42M ./.npm
104K ./C_Test
12K ./Shell_Test
8.0K ./Linux_Test
45M .
[root@localhost ~]#

df -h查看磁盘空间占用情况

1
2
3
4
5
6
7
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/block/bootdevice/by-name/userdata 55G 15G 40G 28% /
tmpfs 1.8G 364K 1.8G 1% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
/data/media 55G 15G 40G 28% /mnt/files
[root@localhost ~]#

free -h查看内存占用情况

1
2
3
4
5
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.5G 1.8G 64M 8.7M 1.6G 1.6G
Swap: 0B 0B 0B
[root@localhost ~]#

考点8:日志文件系统有哪些

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

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

解析

显示答案/隐藏答案正确答案: CDE

日志文件系统

日志文件系统(英语:Journaling file system)是一种文件系统。在发生变化时,它先把相关的信息写入一个被称为日志的区域,然后再把变化写入主文件系统。在文件系统发生故障(如内核崩溃或突然停电)时,日志文件系统更容易保持一致性,并且可以较快恢复。

常见的日志文件系统

文件系统 描述
JFS IBM的 Journaled File System, 最早的日志文件系统。
Ext4/Ext3文件系统 由Ext2文件系统演化而成的日志文件系统,广泛用于Linux系统。
XFS文件系统 广泛用于Linux系统,取代了Ext4。
ReiserFS 用B+树作为数据结构的日志文件系统,在处理小文件时有较好的性能。
Btrfs 用B树作为数据结构,被认为是下一代Linux文件系统。
NTFS 微软的NTFS也是日志文件系统,也是Windows下最常用的文件系统。
HFS+ 苹果公司发展的OS X操作系统下主要使用的文件系统。

考点9:系统调用

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

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

解析

显示答案/隐藏答案正确答案: BCD

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

考点10:Linux2.6默认支持的文件系统

linux 2.6.* 内核默认支持的文件系统有哪些?

  • A ext3
  • B ext2
  • C ext4
  • D xfs
  • E ufs

解析

显示答案/隐藏答案正确答案: ABCD

背答案算了

考点1:输入输出重定向

在RHEL5系统中,小王希望将他执行的ls命令的输出结果保存在当前目录下文件output.ls中,以供日后进行分析和使用,但要求不覆盖原文件的内容,他应该使用的命令是( )

  • A ls>output.ls
  • B ls>>output.ls
  • C ls<<output.ls
  • D ls—output.ls

解析

显示答案/隐藏答案正确答案: B

> 输出重定向到一个文件或设备 覆盖原来的文件
>! 输出重定向到一个文件或设备 强制覆盖原来的文件
>> 输出重定向到一个文件或设备 追加原来的文件
< 输入重定向到一个程序

  • command > file:将输出重定向到 file。
  • command < file:将输入重定向到 file。
  • command >> file:将输出以追加的方式重定向到 file。
  • n > file:将文件描述符为 n 的文件重定向到 file。
  • n >> file:将文件描述符为 n 的文件以追加的方式重定向到 file。
  • n >& m:将输出文件 m 和 n 合并。
  • n <& m:将输入文件 m 和 n 合并。
  • << tag:将开始标记 tag 和结束标记 tag 之间的内容作为输入。

考点2:Linux目录结构

Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在()目录中

  • A /bin
  • B /etc
  • C /dev
  • D /lib

解析

显示答案/隐藏答案正确答案: C

/bin 二进制执行文件,也就是命令文件
/etc 下存放的是配置文件
/dev 存放是时外部设备文件,硬盘,usb等
/lib 存放的是库文件

/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 超级管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公共的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统
/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录,其中包含:
/usr/x11R6 存放x window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令

/dev 是device的简写,英文原意是device 设备。

考点3:常用端口号 WWW和FTP端口号

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

  • A 20 21
  • B 80 20
  • C 80 21
  • D 80,20 21

解析

显示答案/隐藏答案正确答案: D

FTP端口

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

www 80
ftp(主动模式20数据端口,用于传输-服务端传输文件 被动模式21控制端口,认证-客户端认证用户) ftp协议由ftp服务器和ftp客户端构成,是基于tcp的两个端口:20,21
tftp协议基于udp端口 tcp传输层协议 ftp应用层协议

其他常用端口

  • SSH:22
  • Telnet:23
  • SMTP:25
  • POP3:110. S
  • NMP:161
  • DNS服务:53
  • HTTP(www):80(默认端口)
  • HTTPS:443(在http的基础上ssl加密)

考点4:Linux查看磁盘挂载状态命令

linux下查看磁盘挂载状态的命令式?

  • A rpm
  • B mount
  • C netstat
  • D df

解析

显示答案/隐藏答案正确答案: B

安装命令:rpm -ivh
卸载命令: rpm -e [package name]
查看挂载状态: mount
查看磁盘情况: df
查看端口:netstat –anlp
.tar.gz的安装:

1
2
3
4
tar –zxvf tar.gz 
./configure
Make
Make install

考点5:vi强制保存退出参数

某配置文件针对所有用户的访问权限是只读,vi编辑器强制存盘退出的指令是( )

  • A :wq
  • B ZZ
  • C :q!
  • D :wq!

解析

显示答案/隐藏答案正确答案: D
vim的退出编辑命令 含义
:q 不保存退出
:q! 不保存强制退出
:wq 写入文件并退出
:wq! 强制写入并退出(只有当操作者是文件所有者才可行)
:x 文件有变动时等同于 :wq,文件无变动时等同与 :q
ZZ 等同于:x

考点7:Linux的ifconfig命令

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

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

解析

显示答案/隐藏答案正确答案: D

ifconfig命令

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

1
ifconfig -interface [options] address

3.主要参数如下

  • interface:指定的网络接口名,如eth0和eth1。
  • options:
    • up:激活指定的网络接口卡。
    • down:关闭指定的网络接口。
    • broadcast address:设置接口的广播地址。
    • pointopoint:启用点对点方式。
    • address:设置指定接口设备的IP地址。
    • netmask address:设置接口的子网掩码。

考点8:Linux进程 clone和fork的区别

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

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

解析

显示答案/隐藏答案正确答案: C

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

fork()是全部复制
vfork()是共享内存
clone()是可以将父进程资源有选择地复制给子进程,而没有复制的数据结构则通过指针的复制让子进程共享,具体要复制哪些资源给子进程,由参数列表中的clone_flags来决定。另外,clone()返回的是子进程的pid。

fork是复制进程,创建一个新的进程,不带参数
clone是可选的复制父进程资源,可以通过参数控制复制的内容

考点9:存储用户创建用户目录的系统用户默认文件的文件

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

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

解析

显示答案/隐藏答案正确答案: C

Linux下的/etc/skel目录往往不被人注意,其实此目录在新建用户时还是很有用的,灵活运用此目录可以节约一定的配置时间。
skel是skeleton的缩写,意为骨骼、框架。故此目录的作用是在建立新用户时,用于初始化用户根目录。系统会将此目录下的所有文件、目录都复制到新建用户的根目录,并且将用户属主与用户组调整为与此根目录相同。所以可将用户配置文件预置到/etc/skel目录下,比如说.bashrc、.profile与.vimrc等。
注:
1.如果在新建用户时,没有自动建立用户根目录,则无法调用到此框架目录。
2.如果不想以默认的/etc/skel目录作为框架目录,可以在运行useradd命令时指定新的框架目录。例如:
sudo useradd -d /home/chen -m -k
/etc/my_skel chen
上述命令将新建用户chen,设置用户根目录为/home/chen,并且此目录会自动建立;同时指定框架目录为/etc/my_skel。
3.如果不想在每次新建用户时,都重新指定新的框架目录,可以通过修改/etc/default/useradd配置文件来改变默认的框架目录,方法如下:
查找SKEL变量的定义,如果此变量的定义已被注释掉,可以取消注释,然后修改其值:
SKEL=/etc/my_skel

考点10:Linux可以查看系统启动时间的命令

以下哪些命令可以查看当前系统的启动时间()

  • A w
  • B top
  • C ps
  • D uptime

解析

显示答案/隐藏答案正确答案: ABD
命令 功能
ps 查看当前系统中的进程
who -b 查看当前系统的启动时间
last reboot 查看当前系统的启动时间
w 查看当前系统的启动时间
top 查看当前系统的启动时间
uptime 查看当前系统的启动时间

考点11:可以查看Linux系统负载的命令

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

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

解析

显示答案/隐藏答案正确答案: BC