首页 > 代码库 > 作业03
作业03
1、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
答:
grep --colour=auto "\<[[:alpha:]]\+\>()"/etc/rc.d/init.d/functions
grep --colour=auto "[_[:alpha:]]\+()"/etc/rc.d/init.d/functions
2、使用echo命令输出一个绝对路径,使用grep取出其基名;
扩展:取出其路径名
答:
① echo"/etc/test.txt" | grep -E -o "[^/]+$"
echo"/mnt/sdc/" | grep -E -o "[^/]+/?$" | cut -d‘/‘ -f1
② echo"/mnt/sdc" | grep -E -o --colour=auto "^/.*/"
3、找出ifconfig命令结果中的1-255之间数字;
答:
ifconfig | grep -o --colour=auto -E"[0-9]{1,3}"
ifconfig | grep --colour=auto -o -E"\<[0-9]{1,3}\>"
4、查找当前系统上没有属主或属组的文件;
进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
答:
① find/ \( -type f -a -nouser -a -nogroup \) -ls
② find / \( -type f -a -nouser -a -nogroup -a-mtime -3 \) -ls
5、查找/etc目录下大于1M,且类型为普通文件的所有文件;
答:
find /etc \( -type f -a -size +1M \) -ls
6、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
答:
find /etc/init.d/ \( -type f -a -perm -113 \) -ls
7、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
答:
find /etc/ \( -type f -a -mtime -7 -not \( -user root -o-user hadoop \) \) -ls
8、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
答:
cp /etc/rc.d/rc.sysinit /tmp
vim /tmp/rc.sysinit
%s/^[[:space:]]\+/#&/
9、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
答:
vim /tmp/rc.sysinit
%s/^#[[:space:]]\+//
10、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
答:
vim /etc/yum.repos.d/CentOS-Media.repo
%s/\(enabled=\)0/\11/
%s/\(gpgcheck=\)0/\11/
11、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20161202
答:
mkdir -p /backup/messages_logs/
crontab -e
0 0 * * 2,4,6 /usr/bin/cp /var/log/messages/backup/messages_logs/messages-`date +\%Y\%m\%d` &> /dev/null
12、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
答:
mkdir /stats
crontab -e
0 */2 * * * /usr/bin/grep "^S.*"/proc/meminfo >> /stats/memory.txt
13、写一个脚本创建10用户user10-user19;密码同用户名;
答:
vim test.sh
#!/bin/bash
if [ ! $UID -eq 0 ]; then
echo"root only"
exit1
fi
for i in {10..19};do
if iduser$i &> /dev/null; then
echo "user$i exist"
else
useradd user$i
[$? -eq 0 ] && echo "user$i" | passwd --stdin user$i &>/dev/null
echo "add user$i success"
fi
done
作业03