- 特殊符号与命令整体作用解释
1.jobs:查看处于后台的任务列表
2.fg:将后台的进程恢复到前台执行
3.根据PID强杀进程命令:kill -9 PID号
4.根据服务名强杀进程命令:killall -9 服务名
5.根据登录的客户端强杀进程命令:pkill -t 客户端
6.查询sshd服务的PID命令:ps -ef | grep sshd
7.crontab -e:启动定时任务的编辑文本
8.crontab -l:查看定时任务
9.chattr +i:加i锁
10.chattr +a:加a锁
11.lsattr:查看文件状态
12.chsh:交互式修改
13.visudo:编辑授权配置问阿金
14.sudo -l:查看授权操作
- 特殊路径含义解释
- 周期性定时任务的服务名:crontab
- 周期性定时任务的日志文件的绝对路径:/var/log/cron
- 周期性定时任务是保存在哪个目录(绝对路径):/var/spool/cron
- 周期性定时任务的配置文件的绝对路径:/etc/crontab
- 存放服务启动脚本的目录的绝对路径:/etc/init.d
- 系统全局变量配置文件的绝对路径:/etc/profile
- 个人配置脚本文件的绝对路径:/etc/rc.d/rc.local,/etc/rc.local
- Visudo是修改的哪个文件(绝对路径):/etc/sudoers
- 系统映射文件的绝对路径:/etc/hosts
- 网卡配置文件的绝对路径:/etc/sysconfig/network-scripts/ifcfg-eth0
- 永久修改主机名配置文件的绝对路径:/etc/sysconfig/network
- Linux开启启动模式配置文件的绝对路径:/etc/inittab
- Yum仓库目录的绝对路径:/etc/yum.repos.d
- Linux系统日志文件的绝对路径:/var/log/messages
- Linux系统安全日志(登录日志)的绝对路径:/var/log/secure
- Linux开机自动挂载配置文件的绝对路径:/etc/fstab
- 简答题
3.1 linux最低需要开启的服务名称有哪些?
rsyslog,crond,sshd,sysstat,network
3.2周期性定时任务左边的五个*都是什么意思?它们的取值范围都是多少?(从左向右说明)
分时日月周。分:0-59,时:0-23,日:1-31,月:1-12,周:0-6
3.3请解释su和su -的区别?
su:环境变量不改变,su -:初始化环境变量
3.4请解释如下sudo授权配置文件中3个ALL的含义和NOPASSWD的意义?
root ALL=(ALL) NOPASSWD:ALL
ALL:所有的ip地址,(ALL):所有的主机名,NOPASSWD:后面的命令不需要密码,ALL:所有的命令
3.5 linux下通过mkdir命令创建一个新目录/yunjisuan/benet,它的硬链接数是多少,为什么?如果在/yunjisuan/benet下再创建一个目录test。再问/yunjisuan/benet的硬链接数是多少,为什么?
2,/yunjisuan/benet和/yunjisuan/benet.
3,/yunjisuan/benet和/yunjisuan/benet..
3.6 执行下面命令是发现提示需要输入密码,请问提示输入的密码是哪个用户的密码?
(1): [test@localhost ~]$ sudo su - yunjisuan
(2): [test@localhost ~]$ su - yunjisuan
test,yunjisuan
3.7 inode和block是做什么用的?
inode中存有文件的字节数,拥有者的UID,GID,文件的读写执行权限,时间戳等,一个文件必须占用一个inode
Block是真正存储数据的地方,一个block默认占4kb
3.8 请用自己的话解释一下linux文件删除的原理?
删除需要满足两个条件,文件的硬链接数为0,系统占用此文件的进程数为0
3.9 linux的目录可以创建硬链接吗?
不可以
3.10 在拷贝文件的时候,突然报错,报错信息为No space left on device,请问问题的发生原因可能是什么?
1.inode号被占满,2.block被占满
- 问答题
4.1 date命令实现如下问题
(1)请写出类似17-05-27输出格式的命令
date +%y-%m-%d
- 请写出类似2017-05-27并实现按周输出的命令
date +%F-%w
4.2请写出如下定时任务
- 每周日上午9点30分运行yunjisuan.sh脚本
30 9 * * 0 /bin/sh yunjisuan.sh &> /dev/null
- 每隔1分钟,打印一个+号文件到yunjisuan.log文件
* * * * * /bin/echo “+” > yunjisuan.log &> /dev/null
- 每隔2小时将/etc/services文件打包备份到/tmp目录下,每次备份按时间生成不同的备份包
0 */2 * * * /bin/tar zcf /tmp/services`date +%\F-%\H` .tar.gz /etc/services &> /dev/null
- 每天晚上12点,打包站点目录/var/www/html备份到/data目录下,每次备份按时间生成不同的备份包
0 0 * * * /bin/tar zcf /data/www`date+\%F`.tar.gz /var/www/html &> /dev/null
- 每周六,日上午9点整和下午14点整执行程序/server/script/yunjisuan.sh
0 9,14 * * 0,6 /bin/sh /server/script/yunjisuan.sh &> /dev/null
4.3 添加一个用户yunjisuan,并指定属于sa组,要求组ID为801,uid为808,并且不建立家目录及禁止登录linux
groupadd sa -g 801
useradd -s /sbin/nologin -u 808 -g 801 -M
4.4 假设有一个命令程序,名为ping.sh,想让系统每隔3分钟执行一次这个程序,但是这个程序会有很多信息显示出来,所以我的root账号每天会收到400多封信件,应该怎么设置这个定时任务比较好?
*/3 * * * * /bin/sh ping.sh &> /dev/null
4.5 每天凌晨2点,打包站点目录/var/www/html备份到本地/data目录下,要求按时间生成不同的备份包,由于硬盘空间问题,本地仅保留7天内的备份数据,请你解决这个问题?
0 2 * * * /bin/tar zcf /data/www`date +\%F`.tar.gz /var/www/html
0 2 * * * /bin/find /data -type f -mtime +7 -name “www.tar.gz” -exec /bin/rm -f {} \;
4.6 添加账户yunjisuan,权限为可以配置并重启网络服务,可以添加删除修改用户,可以给硬盘分区,但是不能做其他的损害系统的操作,请你设计一个具体的权限方案,并给出实施步骤。
useradd yunjisuan
passwd yunjisuan:111111
在root ALL=(ALL) ALL下插入一行
yunjisuan ALL=(ALL) NOPASSWD: /usr/sbin/setup, /bin/vi /etc/sysconfig/network-scripts/ifcfg-eth0, /usr/bin/vim /etc/sysconfig/network-scripts/ifcfg-eth0, /etc/init.d/network start,/etc/init.d/network stop, /etc/init.d/network restart, /etc/init.d/network reload, /sbin/service network start, /sbin/service network stop, /sbin/service network restart, /sbin/service network reload, /usr/sbin/usermod [A-Za-z]*, /usr/bin/passwd [A-Za-z]*, /usr/sbin/useradd, /usr/sbin/userdel, /sbin/fdisk, /sbin/parted, !/sbin/fdisk /dev/sda*, !/sbin/parted /dev/sda*, !/usr/sbin/usermod root, !/usr/sbin/passwd root
4.7 工作中,某个开发人员申请账户yunjisuan,要求30日使用权限,权限为可以查看系统日志,如何设置?
useradd -e 30 yunjisuan
passwd yunjisuan:111111
visudo
在root ALL=(ALL) ALL下插入一行
yunjisuan ALL=(ALL) NOPASSWD: /bin/cat /var/log/messages, /usr/bin/tac /var/log/messages, /usr/bin/head /var/log/messages, /usr/bin/tail /var/log/messages, /bin/more /var/log/messages, /usr/bin/less /var/log/messages, /usr/bin/nl /var/log/messages