1、格式:
命令1 | 命令2 (将命令1的标准输出作为命令2的标准输入)
2、统计系统中的安装包个数:
rpm -aq | wc -l
3、cut 切割
1)参数:
-d 指定切割符
-f 显示指定的字段(行) 连续字段:“f3-5”(第三到五的字段) 不连续字段:“f3,5”(第三字段和第五字段)
-c 按指定字符切割
例1:
使用cut打印系统中的用户名:
cut -d: -f1 /etc/passwd
例2:
按字符切割:
生成6个随机字符
openssl rand -base64 10 | cut -c2-7
4、sort 排序
1)参数:
-t 指定分隔符
-n 按数值排序
-r 反向排序
-k 指定key值(指定列)
例:使用sort找出系统中最大的五个uid
sort -t: -k3 -rn /etc/passwd | head -5
5、uniq -c 去重
例1:统计系统中用户使用的shell类型:
cut -d: -f7 /etc/passwd | sort | uniq -c | sort -nr
使用cut以:为分割符将passwd进行分割将第7个字段显示然后进行排序接着去重最后按数值反序进行排序输出
例2:统计网站访问top10:
1)搭建一个网站:
安装:yum install httpd -y
设置默认主页:echo “my web page” > /var/www/html/index.html
启动httpd服务:systemctl start httpd
访问网址:curl http://IP(用不同的ip地址模拟访问)
2)分析:
网站访问日志记录:/var/log/httpd/access_log
查看日志内容:ip地址位于第一行
取出ip地址进行分析:cut -d" "(以空格为分割符) -f1 /var/log/httpd/access_log | sort | uniq -c | sort -nr | head -10
6、tee 将标准输入复制到指定文件并且显示在标准输出
-a 追加
例:
date | tee date.txt
将date命令的输出结果输入到date.txt文件中并且显示出来
Linux管道
最新推荐文章于 2024-09-15 00:01:12 发布