1、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
grep -o "\<.*\>()" /etc/rc.d/init.d/functions
2、使用echo命令输出一个绝对路径,使用grep取出其基名;扩展:取出其路径名。
基名: echo "/etc/rc.d/init.d/functions" | grep -E -o "[^/]+$"
路径名: echo "/etc/rc.d/init.d/functions" | grep -E -o "^/.*/"
3、找出ifconfig命令结果中的1-255之间数字;
ifconfig | grep -E -o "\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"
4、查找当前系统上没有属主或属组的文件;
find / -nouser -o -nogroup -ls
进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
find / \( -nouser -o -nogroup \) -atime -3
检查时间:
5、查找/etc目录下大于1M,且类型为普通文件的所有文件;
find /etc/ -size +1M -type f -exec ls -lh {} \;
6、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
find /etc/init.d/ -perm -113
7、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
find /etc -not -user root -o -not -user chenweiliang -a -atime -7 -ls
8、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
本人所用的centos7.2系统中相对路径下没有rc.sysinit文件,因此更换一个文件进行练习。
cp /tmp/server.js /tmp/test/
sed -i 's/\(^[[:space:]]\)/#\1/g' /tmp/test/server.js
9、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
sed -i 's/^#[[:space:]]\+//g' /tmp/test/server.js
10、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
\1:反选引用
vim在末行模式:%s@\(enabled\|gpgcheck\)=0@\1=1@g
11、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20161202
创建计划任务:crontab -e
00 00 * * 2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%m\%d)
12、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
创建计划任务:crontab -e
00 */2 * * * cat /proc/meminfo |grep "^S" >> /stats/memory.txt
13、写一个脚本创建10用户user10-user19;密码同用户名;
#!/bin/bash
#
for i in `seq 10 19`;do
useradd user$i
echo "user$i" | passwd --stdin user$i;
done