1、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
[root@Test7 ~]# grep -E -o "^[_[:alpha:]]+\(\)" /etc/rc.d/init.d/functions checkpid() __pids_var_run() __pids_pidof() daemon() killproc() pidfileofproc() pidofproc() status() echo_success() echo_failure() echo_passed() echo_warning() update_boot_stage() success() failure() passed() warning() action() strstr() is_ignored_file() is_true() is_false() apply_sysctl()
2、使用echo命令输出一个绝对路径,使用grep取出其基名;
[root@Test7 ~]# echo "/mnt/sdc" | grep -E -o "[^/]+/?$" | cut -d"/" -f1 sdc
取出其路径名
[root@TEST ~]# echo "/mnt/sdc" | grep -oP "^.*(?=/)" /mnt
3、找出ifconfig命令结果中的1-255之间数字;
[root@TEST ~]# ifconfig | grep -E -o "\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>" 29 55 80 192 168 0 21 192 168 0 255 255 255 255 0 64 1 0 0 0 0 0 0 0 0 0 3 7 2 0 127 0 0 1 255 0 0 0 1 128 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4、查找当前系统上没有属主或属组的文件;
find / -nouser -a -nogroup -a
查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录
find / -nouser -a -nogroup -a -atime -3
5、查找/etc目录下大于1M,且类型为普通文件的所有文件;
[root@TEST ~]# find /etc -size +1M -type f /etc/selinux/targeted/policy/policy.24 /etc/selinux/targeted/modules/active/policy.kern
6、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
[root@TEST ~]# find /etc/init.d -perm -113 /etc/init.d
7、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
[root@TEST ~]# find /etc -mtime -7 -a -not -user root -a -not -user hadoop [root@TEST ~]# find /etc/ -mtime -7 -a -not \( -user root -o -user hadoop \)
8、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :%s@^[[:space:]]\+@#&@ 部分原始文件: # Start up swapping. update_boot_stage RCswap action $"Enabling /etc/fstab swaps: " swapon -a -e if [ "$AUTOSWAP" = "yes" ]; then curswap=$(awk '/^\/dev/ { print $1 }' /proc/swaps | while read x; do get_numeric_dev dec $x ; echo -n " "; done) swappartitions=$(blkid -t TYPE=swap -o device) if [ x"$swappartitions" != x ]; then for partition in $swappartitions ; do [ ! -e $partition ] && continue majmin=$(get_numeric_dev dec $partition) echo $curswap | grep -qw "$majmin" || action $"Enabling local swap partitions: " swapon $partition done fi fi 修改后部分文件: # Start up swapping. update_boot_stage RCswap action $"Enabling /etc/fstab swaps: " swapon -a -e if [ "$AUTOSWAP" = "yes" ]; then # curswap=$(awk '/^\/dev/ { print $1 }' /proc/swaps | while read x; do get_numeric_dev dec $x ; echo -n " "; done) # swappartitions=$(blkid -t TYPE=swap -o device) # if [ x"$swappartitions" != x ]; then # for partition in $swappartitions ; do # [ ! -e $partition ] && continue # majmin=$(get_numeric_dev dec $partition) # echo $curswap | grep -qw "$majmin" || action $"Enabling local swap partitions: " swapon $partition # done # fi fi
9、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
vim /tmp/rc.sysinit :%s@^#[[:space:]]\+@@g
10、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
vim /etc/yum.repos.d/CentOS-Media.repo :%s@\(enabled|gpgcheck\)\=0@\11@g 最后效果: [c6-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
11、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20161202
[root@TEST ~]# 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文件中
[root@TEST ~]# crontab -e 00 */2 * * * cat /proc/meminfo |grep "^S" >> /stats/memory.txt
13、写一个脚本创建10用户user10-user19;密码同用户名;
创建脚本文件[root@TEST ~]# vim adduser.sh 内容: for i in {10..19};do if id user$i ;then echo "user$i exists." else useradd user$i echo "user$i" | passwd --stdin user$i fi done 添加执行权限: [root@TEST ~]# chmod +x adduser.sh 执行脚本:[root@TEST ~]# ./adduser.sh 查看结果: [root@TEST ~]# tail -10 /etc/passwd user10:x:3011:3011::/home/user10:/bin/bash user11:x:3012:3012::/home/user11:/bin/bash user12:x:3013:3013::/home/user12:/bin/bash user13:x:3014:3014::/home/user13:/bin/bash user14:x:3015:3015::/home/user14:/bin/bash user15:x:3016:3016::/home/user15:/bin/bash user16:x:3017:3017::/home/user16:/bin/bash user17:x:3018:3018::/home/user17:/bin/bash user18:x:3019:3019::/home/user18:/bin/bash user19:x:3020:3020::/home/user19:/bin/bash