老男孩教育-第4周课前测试考试题

第4章 第4周课前测试考试题

4.1 定时任务规则的含义01

第1题 如果在某用户的crontab文件中有以下记录,该行中的命令多久执行一次(RHCE考试题)?(  ) 30 4 * * 3 mycmd

A. 每小时。 B. 每周。 C. 每年三月中每小时一次。

解答:每周三的4点30分,执行mycmd。

4.2 定时任务规则的含义02

第2题 如果在某用户的crontab文件中有以下记录,该行中的命令多久执行一次(RHCE考试题)?( )*/5 * * * * mycmd

A. 每5分钟一次。 B. 每小时过5分钟。 C. 不会运行,格式无效。

解答:每隔5分钟,执行mycmd。

4.3 如何书写定时任务

第3题 每隔1分钟,打印一个+号到oldboy.log,请给出crontab完整命令。

解答:

crontab -e 
* * * * * echo ‘+‘ >>oldboy.log
*/1 * * * * echo ‘+‘ >>oldboy.log# 等价于上一条命令

4.4 定时任务:按小时打包文件

第4题 每隔2个小时将/etc/services文件打包备份到/tmp下(最好每次备份成不同的备份包)。

解答:

(1) 命令行测试

[[email protected] ~]# cd /etc
[[email protected] etc]# tar zcf /tmp/services_bak_`date +%F-%H`.tar.gz ./services

检查

[[email protected] etc]# ll /tmp/services_bak_2016-08-26-23.tar.gz
-rw-r--r-- 1 root root 127304 2016-08-26 23:21 /tmp/services_bak_2016-08-26-23.tar.gz
[[email protected] etc]# du -h /tmp/services_bak_2016-08-26-23.tar.gz
128K    /tmp/services_bak_2016-08-26-23.tar.gz

(2) 编写脚本

[[email protected] etc]# mkdir /server/scripts -p# 规范脚本路径
[[email protected] scripts]# vim /server/scripts/services_bak.sh
#/bin/sh
cd /etc && /bin/tar zcf /tmp/services_bak_`date +%F-%H`.tar.gz ./services

(3) 测试脚本

[[email protected] scripts]# /bin/sh /server/scripts/services_bak.sh
[[email protected] scripts]# ll /tmp/services_bak_2016-08-26-23.tar.gz 
-rw-r--r-- 1 root root 127304 2016-08-26 23:28 /tmp/services_bak_2016-08-26-23.tar.gz

(4) 编辑crontab

[[email protected] scripts]# crontab -e
## tar file ‘/etc/services‘ to /tmp every 2 hours by chendianhu at 2016.6.2 ##
00 */2 * * * /bin/sh /server/scripts/services_bak.sh >/dev/null 2>&1

(5) 调试crontab:利用date命令调整时间,最好关闭定时任务的时间同步来做测试

[[email protected] scripts]# date -s "20160827 06:00:00"
Sat Aug 27 06:00:00 CST 2016
[[email protected] scripts]# date +%F-%X
2016-08-27-06:00:01

4.5 定时任务:打包站点目录

第5题 每天晚上12点,打包站点目录/var/www/html备份到/data目录下(最好每次备份按时间生成不同的备份包)

思路:

(1) 命令行测试

(2) 编写脚本

(3) 测试脚本

(4) 编辑crontab

(5) 调试crontab

解答:

(1) 命令行测试

[[email protected] ~]# mkdir -p /var/www/html
[[email protected] ~]# touch /var/www/html/stu{1..10}.html
[[email protected] ~]# cd /var/www/
[[email protected] www]# tar zcf /data/html_bak_`date +%F`.tar.gz ./html 
[[email protected] www]# ll /data/html_bak_2016-08-27.tar.gz 
-rw-r--r-- 1 root root 220 2016-08-27 15:26 /data/html_bak_2016-08-27.tar.gz

(2) 编写脚本

[[email protected] www]# cd /server/scripts/
[[email protected] scripts]# vim html_bak.sh
#/bin/sh
cd /var/www/ && /bin/tar zcf /data/html_bak_`/bin/date +%F -d "-1day"`.tar.gz ./html

(3) 测试脚本

[[email protected] scripts]# /bin/sh html_bak.sh 
[[email protected] scripts]# ll /data/
总用量 4
-rw-r--r-- 1 root root 220 2016-08-27 15:48 html_bak_2016-08-26.tar.gz

(4) 编辑crontab

[[email protected] scripts]# crontab -e
##tar directory ‘/var/www/html‘ to /data at 00 hours every night by chendianhu at 2016.6.2##
00 00 * * * /bin/sh /server/scripts/html_bak.sh >/dev/null 2>&1

(5)   调试crontab

[[email protected] scripts]# date
2016年 08月 27日 星期六 15:50:08 CST# 当前日期和时间
[[email protected] scripts]# date -s "20160827 23:59:58"
2016年 08月 27日 星期六 23:59:58 CST# 修改日期和时间
[[email protected] scripts]# date
2016年 08月 28日 星期日 00:00:00 CST# 到达零点
[[email protected] scripts]# ll /data/html_bak_2016-08-27.tar.gz # 执行定时任务,打包
-rw-r--r-- 1 root root 220 2016-08-28 00:00 /data/html_bak_2016-08-27.tar.gz

4.6 定时任务:提示信息

第6题 每周六、日上午 9:00 和下午14:00 来老男孩这里学习(执行程序/server/script/oldboy.sh 代替学习)。

解答:

(1) 命令行测试

[[email protected] scripts]# echo ‘go to oldboytaining learning linux‘
go to oldboytaining learning linux

(2)编写脚本

[[email protected] scripts]# vim /server/scripts/oldboy.sh 
#/bin/sh
echo ‘go to oldboytaining learning linux‘ >>~/message.txt

(3) 测试脚本

[[email protected] scripts]# /bin/sh /server/scripts/oldboy.sh
[[email protected] scripts]# cat ~/message.txt 
go to oldboytaining learning linux

(4) 编辑crontab

[[email protected] scripts]# crontab -e
##print message at every weeken by chendianhu at 2016.6.2##
00 09,14 * * 0,6 /bin/sh /server/scripts/oldboy.sh >/dev/null 2&>1

(5) 调试crontab:调整时间

[[email protected] scripts]# date -s "20160828 08:59:59"
[[email protected] scripts]# cat ~/message.txt

4.7 目录或文件的作用

第7题 请描述下列路径的内容是做什么的?

/etc/sysctl.conf

/etc/rc.local

/etc/hosts

/etc/fstab

/var/log/secure

解答:

文件或目录     作用

/etc/sysctl.conf 优化系统内核参数的文件

/etc/rc.local     存放开机自启动程序命令的文件

/etc/hosts     局域网域名解析文件

/etc/fstab     开机自动挂载文件

/var/log/secure     系统安全日志文件,依赖于rsyglog服务

4.8 正则表达式

第8题 请说出下列 grep 正则表达式的含义

^

$

.(点号)

\

*

\{n,m\}

[^t]

^[^t]

解答:

符号 含义

^ 以……开头,比如^w,代表以w开头

$ 以……结尾,比如w$,代表以w结尾

.(点号) 代表且只能代表任意一个字符

\ 转义字符,使有着特殊意义的字符,脱掉马甲,恢复成正常字符

* 重复0个或多个前面的一个字符,比如:grep -n "a*" oldboy.log

\{n,m\} 重复字符n到m次,比如:grep -n "a\{3,4\}" oldboy.log,重复字符“a”3到4次

[^t] 匹配不包含^后面的任意一个字符,即除了字符t,其它的全部匹配(过滤出来)

^[^t] 匹配以(非字符t)开头的字符

4.9 vi常用命令

第9题 根据中文给出命令

(1) 退出并保存

(2) 退出并强制保存

(3) 强制退出,但不保存

(4) 光标移动到文件的最后一行

(5) 光标移动到文件的第一行

(6) 从光标所在位置将光标移动到当前行的开头

(7) 从光标所在位置将光标移动到当前行的结尾

(8) 取消上一次的动作

(9) 删除一行

(10)   向下搜索

(11)   向上搜索

解答:

命令         作用

:wq         退出并保存

:wq!         退出并强制保存

:q!         强制退出,但不保存

Shift+g(G)     光标移动到文件的最后一行

gg         光标移动到文件的第一行

Shift+6(^) | home | 0 从光标所在位置将光标移动到当前行的开头

Shift+4($) | end | Shift+a 从光标所在位置将光标移动到当前行的结尾

u         取消上一次的动作

dd         删除一行

/char         向下搜索,继续搜索n,反向搜索N

?char         向上搜索, 继续搜索n,反向搜索N

扩展:

命令         功能说明

i         命令模式==>编辑模式,在光标位置前插入字符

a         命令模式==>编辑模式,在光标位置后插入字符

o         命令模式==>编辑模式,在当前行下方插入新的一行,并从行首开始

Esc         编辑模式==>命令模式

:set nu         显示行号

:set nonu     不显示行号

yy         复制光标当前所在行

3yy         复制光标当前所在行以及下面2行,即复制3行的内容

p         粘贴

10dd         删除光标当前所在行,以及下面的两行

4.10 chmod命令修改文件权限

第10题 授权oldboy目录及其子目录755的权限,请给出命令。

思路:

利用chmod命令可以修改文件的权限,加-R参数可以递归修改目录下的文件和子目录的文件权限。

解答:

[[email protected] ~]# chmod -R 755 /oldboy/# -R参数:递归
[[email protected] ~]# ls -ld /oldboy/ /oldboy/a/# 验证
drwxr-xr-x. 3 root root 4096 May 11 16:46 /oldboy/
drwxr-xr-x. 3 root root 4096 May 11 16:46 /oldboy/a/

总结:

chmod - change file mode bits#修改文件的权限位
-R, --recursive  change files and directories recursively

4.11 chown命令修改文件的属主和属组

第11题 把oldboy目录及其子目录的属主改为oldboy,组改为root,请给出命令。

思路:

利用chown命令可以修改文件的属主和属组,加-R参数可以递归修改目录下的文件和子目录的文件属主和属组信息。

解答:

[[email protected] ~]# chown -R oldboy.root /oldboy/# -R参数:递归
[[email protected] ~]# chown -R oldboy:root /oldboy/# 格式【属主:属组 == 属主.属组】
[[email protected] ~]# ls -ld /oldboy/ /oldboy/a/# 验证
drwxr-xr-x. 3 oldboy root 4096 May 11 16:46 /oldboy/
drwxr-xr-x. 3 oldboy root 4096 May 11 16:46 /oldboy/a/

总结:

chown - change file owner and group  
# 修改文件的属主和属主

4.12 考查umask的作用

第12题 描述下umask的作用,并举例。

解答:

umask:权限掩码。作用:配置文件的默认权限。

1. root用户umask值默认为:0022

新建一个文件时,文件的权限肯定是644(666-022)

新建一个目录时,目录的权限肯定是755(777-022)

原因:目录权限755和文件权限644是一个目录或普通文件安全的边界。

[[email protected] ~]# touch test.txt# 新建文件
[[email protected] ~]# mkdir test# 新建目录
[[email protected] ~]# ls -ld test.txt test
drwxr-xr-x. 2 root root 4096 May 11 17:21 test# 目录默认权限755
-rw-r--r--. 1 root root 0 May 11 17:20 test.txt# 文件默认权限644

2. 普通用户umask值默认为:0002

新建一个文件时,文件的权限肯定是664(666-002)

新建一个目录时,目录的权限肯定是775(777-002)

原因:普通用户自己创建的文件,属主和属组权限当然可以给大些。

[[email protected] ~]$ touch test.txt# 新建文件
[[email protected] ~]$ mkdir test1# 新建目录
[[email protected] ~]$ ls -ld test.txt test1
drwxrwxr-x. 2 oldboy oldboy 4096 May 11 17:15 test1# 目录默认权限775
-rw-rw-r--. 1 oldboy oldboy    0 May 11 17:15 test.txt# 文件默认权限664

总结:

1. umask值是可以改的,但一般不改。

2. 文件权限的计算方法有奇偶之分,当umask是偶数时,目录就用777-umask,文件就用666-umask;当umask是奇数时,计算方法如下:

假设umask值为:045(哪个数字位是奇数,就要给这个数字位加1处理)

6 6 6 ==>文件的起始权限值

0 4 5  -     ==>umask的值

-----------------

6 2 1 ==>由于umask的最后一位数字是5,所以,在其他用户位要再加1

0 0 1  +

-----------------

6 2 2

3. 目录权限的计算方法无奇偶之分,直接相减即可。

4.13 考查如何添加用户

第13题 添加一个用户oldboy,并指定属于sa组,要求组ID为801,uid为808,并且不建立家目录及禁止其登录。

思路:

先创建用户的属组,再用useradd命令添加用户。

解答:

[[email protected] ~]# groupadd -g 801 sa# 先添加sa组,-g指定组ID
[[email protected] ~]# useradd -g sa -u 808 -M -s /sbin/nologin oldboy
# -g指定主组,-u指定uid,-M代表不创建家目录,-s指定用户的登录shell
# -G指定所属的附加组,-m代表创建用户的家目录
[[email protected] ~]# tail -1 /etc/passwd# 看是否在用户配置文件中有了新用户的记录
oldboy:x:808:801::/home/oldboy:/sbin/nologin
# 可以看到用户的家目录,用户的shell为/sbin/nologin
[[email protected] ~]# id oldboy# 看用户的uid,所属组(组uid)
uid=808(oldboy) gid=801(sa) groups=801(sa)
[[email protected] ~]# ls -ld /home/oldboy# 验证是否创建家目录
ls: cannot access /home/oldboy: No such file or directory

总结:

1. 用户的登录shell可以用下面这条命令来查看:

[[email protected] ~]# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

2. id + 用户名:可以看到用户的uid和所属(附加)组的gid

3. useradd命令的常用参数

useradd - create a new user or update default new user information
-c, --comment COMMENT# 描述信息
-d, --home HOME_DIR# 指定用户的家目录
-e, --expiredate EXPIRE_DATE(YYYY-MM-DD)# 指定用户的过期时间
-g, --gid GROUP# 指定用户的主组
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]# 指定用户的附加组
-m, --create-home# 强制创建家目录
-M  Do not create the user‘s home directory# 不创建家目录
-s, --shell SHELL# 指定用户的shell
-u, --uid UID# 指定用户的UID

4.14 查看用户的uid和所属组

第14题 如何查看用户的uid及属于的组信息。

思路:

id命令搞定。

解答:

[[email protected] ~]# id oldboy
uid=808(oldboy) gid=801(sa) groups=801(sa),802(teachers)
[[email protected] ~]# grep oldboy /etc/passwd
oldboy:x:808:801::/home/oldboy:/sbin/nologin
# uid为808;所属主组为sa,gid为801;所属附加组为teachers,gid为802。

总结:

id - print real and effective user and group IDs
# 打印用户和组的ID信息
时间: 2024-10-05 05:21:57

老男孩教育-第4周课前测试考试题的相关文章

老男孩教育-第3周课前测试考试题

第3章 第3周课前测试考试题 3.1 取出文件的访问权限掩码 第1题 如何取得/etiantian 文件的权限对应的数字内容,如-rw-r--r-- 为 644,要求使用命令取得644 这样的数字. 思路: 1.利用cut命令切割不同的字段出来,再利用tr命令将字母逐个转化为数字,再利用awk将不同的域相加后,再输出结果 2.stat命令可以查看到文件的详细信息,再从内容里面过滤出访问权限掩码 解答: 准备练习素材: [[email protected] ~]# touch /etiantian

老男孩教育-第1周课前测试考试题

课前考试题汇总 如何成为高手? 针对性刻意练习 学习的过程注定是辛苦的,分享可以得到即时反馈,这是良性循环的开始 学习过程必须养成做笔记的习惯,重复的力量是无穷怕,好的习惯只需要21天即可培养出来 技术的提升只是量的增长,思想的提升才是质的飞跃  --by 老男孩 第1章 第1周课前测试考试题 1.1 创建目录 第1题创建一个目录/data. [[email protected] ~]# mkdir /data 验证 [[email protected] ~]# ls -ld /data drw

老男孩教育-第2周课前测试考试题

第2章 第2周课前测试考试题 2.1 过滤一级目录 第1题如何过滤出已知当前目录下oldboy中的所有一级目录 (提示:不包含oldboy目录下面目录的子目录及隐藏目录,即只能是一级目录)? [[email protected] ~]# mkdir /oldboy/{a..b}/{c..g}/{e..f} -p 方法一 [[email protected] ~]# tree -L 1 -dfi /oldboy/ /oldboy /oldboy/a /oldboy/b 2 directories

老男孩教育-Linux运维就业班入学第一关课前测试考试题及解答

第一题 创建一个目录 /data [[email protected] ~]# mkdir /data 1.1 扩展知识1: 创建目录 ===== make directory  mkdir 1.2 扩展知识2:如果有一个相同的目录已存在了,会报以下错误提示 [[email protected] ~]# mkdir /data mkdir: cannot create directory `/data': File exists 1.3 扩展知识3:查看 显示目录下面的内容 [[email pr

linux第三关课前测试考试题

 1.如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r--为644,要求使用命令取得644这样的数字. 解答: stat /etiantian |awk -F"[0/]" 'NR==4{print $2}' stat /etiantian |sed -nr '4s#^.*\(0|/.*$##gp' stat -c %a /etiantian 2.linux下通过mkdir命令创建一个新目录/oldboy/ett,它的硬链接数是多少,为什么? 如果在/oldboy

LInux运维入学课前测试考试题

1.创建一个目录/data. 解答: mkdir /data 2.在/data 下面建立一个文件 oldboy.txt. 解答: touch /data/oldboy.txt 3.为 oldboy.txt 增加内容为" I am studying linux.". 解答: echo 'I am studying linux.'>> /data/oldboy.txt 4.把 oldboy.txt 文件拷贝到/tmp 下. 解答: cp /data/oldboy.txt 5.把

2017-2018-1 20155318 《信息安全系统设计基础》第十周课上测试及课下作业

2017-2018-1 20155318 <信息安全系统设计基础>第十周课上测试及课下作业 课上测试 解析:填充消除了冲突不命中,对于x和y数组,只有在引用第0个和第4个元素的时候发生不命中.因而命中率为75%. 解析:高速缓存容量为2048,高速缓存结构为(( 32 ),8,8,32) 解析:不同层之间是以块为大小传输单元在层与层之间复制,空缓存的不命中叫强制性不命中或冷不命中 解析:存储器层次结构的每一层都缓存来自较低一层的数据.缓存存储器是分块的,数据总是以块为基本单位在每一层之间传递,

20155204 信息安全系统设计 第十周 课上测试补交

20155204 信息安全系统设计 第十周 课上测试补交 我的答案:D 我的答案:ACD 我的答案:ACD 我的答案:ABC 我的答案:ABCD 我的答案:A 我的答案:C 我的答案:C 我的答案:C 我的答案:ABD 我的答案:ABCD 我的答案:B 我的答案:A 我的答案:ABC 我的答案:C 我的答案:ACD 我的答案:BDE 我的答案:CE 我的答案:C 我的答案:ADEG 我的答案:BCD 总分:16

2017-2018-1 20155214 《信息安全系统设计基础》 第9周课下测试-mypwd

2017-2018-1 20155214 <信息安全系统设计基础> 第9周课下测试-mypwd(深入版) 题目要求: 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 在第9周学习总结中,我直接调用了系统调用getcwd()输出当前绝对路径.这次我尝试用c语言实现它的功能. 函数原型 #include <unistd.h> char *getcwd(char *buf, size_t size);