1、总结sed和awk的详细用法;
2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符;
# sed 's/^[[:space:]]*//' /boot/grub/grub.conf
3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符;
# sed 's/^#[[:space:]]\+//' /etc/fstab
4、把/etc/fstab文件的奇数行另存为/tmp/fstab.3;
# sed 'n;d' /etc/fstab > /tmp/fstab.3 # awk '{if (NR%2==0) next; print}' /etc/fstab > /tmp/fstab.3
5、echo一个文件路径给sed命令,取出其基名;进一步的,取出其路径名;
# echo "/tmp/test/fstab" | sed 's/[^/]\+\/\?$//' # echo "/tmp/test/fstab" | sed 's/\(\/.*\/\)//'
6、统计指定文件中所有行中每个单词出现的次数;
# awk '{for(i=1;i<=NF;i++){count[$i]++}}END{for(j in count) {print j,count[j]}}' /etc/fstab
7、统计当前系统上所有tcp连接的各种状态的个数;
# netstat -tan | awk '/^tcp\>/{test[$NF]++}END{for(j in test) { print j,test[j]}}'
8、统计指定的web访问日志中各ip的资源访问次数;
# awk '{ip[$1]++}END{for(i in ip) {print i,ip[i]}}' /var/log/httpd/access_log
9、写一个脚本:定义一个数组,数组元素为/var/log目录下所有以.log结尾的文件的名字;显示每个文件的行数;
#!/bin/bash declare -a test test=$(ls /var/log/*.log) for i in $(seq 0 $[${#test[*]}-1]); do wc -l ${test[$i]} done
10、写一个脚本,能从所有同学中随机挑选一位同学回答问题;进一步的,可接受一个参数,作为要挑选的同学的个数;
从给定的同学中随机挑选一位回答问题
#!/bin/bash echo "Please enter some name of students,and the separator is space!!!" read -a student random=$((RANDOM % ${#student[@]})) echo "Please ${student[$random]} answer the question!"
可接受一个参数,作为要挑选同学的个数
#!/bin/bash echo "Please enter some name of students,and the separator is space!!!" read -a student read -p "Please enter the number of students to answer question !" num if [ $num -gt ${#student[@]} ]; then echo "The number should be smaller than the total of you enter!" exit fi echo "The list to answer the question is:" for ((i=0;i<num;i++)); do random=$((RANDOM % ${#student[@]})) echo ${student[$random]} done
11、授权centos用户可以运行fdisk命令完成磁盘管理,以及使用mkfs或mke2fs实现文件系统管理;
# visudo Cmnd_Alias DISK = /sbin/fdisk, /sbin/mkfs, /sbin/mke2fs centos ALL=(root) DISK
12、授权gentoo用户可以运行逻辑卷管理的相关命令;
# visudo Cmnd_Alias LVMMANAGE = /sbin/*create, /sbin/*reduce,/sbin/*scan, /sbin/*display, /sbin/fsck, /sbin/mke2fs gentoo ALL=(root) LVMMANAGE
13、基于pam_time.so模块,限制用户通过sshd服务远程登录只能在工作时间进行;
# vim /etc/pam.d/sshd account required pam_time.so -->//要位于文件的第一行 # vim /etc/security/time.conf *;*;*;MoTuWeThFr0900-1800 -->//表示工作时间的9点到下午6点
14、基于pam_listfile.so模块,定义仅某些用户,或某些组内的用户可以登录系统。
# vim /etc/sshd_userlist -->//在此文件中添加一些用户来登录系统 # vim /etc/pam.d/sshd auth required pam_listfile.so item=user sense=allow file=/etc/sshd_userlist onerr=succeed
原创文章,作者:Jeason,如若转载,请注明出处:http://www.178linux.com/58298
评论列表(1条)
写的很好,排版也很棒,希望能够再接再厉