2021年03月23日Linux专项练习4

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

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

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

解析

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

chmod 是change  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