第8天作业

第8天作业

1.请用自己的语言描述为什么需要重定向?
重定向就是把输出到屏幕的信息,保存到文件中
2.请描述以下重定向符号的意思
>   正确覆盖重定向
>>  正确追加重定向
2>  错误覆盖重定向
2>> 错误追加重定向

3.如何将正确和错误都输出到一个文件里
touch bash.sh
cat >bash.sh <<EOF
!#bin/bash
mkdir 123.txt
echo 123
bash bash.sh > all.txt 2>all.txt
bash bash.sh >all.txt 2>&1
追加到一个文件中
bash bash.sh >>all.txt 2>>all.txt
bash bash.sh >>all.txt 2>&1


4.请用自己的语言描述什么是管道,为什么需要使用管道
管道:就是上一条命令执行结果通过管道,是下一条命令处理原文件
5.理解以下题目的含义以及命令的意义,最好不看答案自己也能做出来
案例1:使用管道取出网卡IP-不要求记住和理解
ad a查看IP地址
ip a |  grep "inet" | grep "eth0" |awk '{print$2}'|awk -F "/" '{print$1}'

案例2:将/etc/passwd中的用户按UID大小排序-不要求记住和理解
先查看uid cat /etc/passwd 
cat /etc/passwd | sort -t ":" -k3 -nr
案例3:统计/etc/passwd文件中用户使用的shell情况-不要求记住和理解
先查看uid cat /etc/passwd
cat /etc/passwd | awk -F ":" '{print$NF}'
使用awk 选出最后一列shell用户使用情况
cat /etc/passwd | awk -F ":" '{print$NF}' | sort | uniq -c
uniq去重前,使用sort 排序 -c就是在每行前面加上次数
cat /etc/passwd | awk -F ":" '{print$NF}' | sort | uniq -c |sort -nr
使用sort对第一列数字进行反向排序

案例4:取出日志里出现次数排名前10的IP-不 要求记住和理解
第一步:先取出IP的列
查看 head access.log 前10行日志
查看tail access.log 后10行日志
查找规律
cat accesss.log |awk '{print$1}'

第二步:排序
cat accesss.log |awk '{print$1}'|sort

第二步:去重
cat accesss.log |awk '{print$1}'|sort |uniq -c

第三步:去重后的结果排序
cat accesss.log |awk '{print$1}'|sort |uniq -c |sort -nr

第四步:取前10个IP
cat accesss.log |awk '{print$1}'|sort |uniq -c |sort -nr |head
posted @ 2021-09-27 19:01  zhaocheng690  阅读(22)  评论(0编辑  收藏  举报