【Linux常用命令】重定向/命令结果处理/传递参数
🔋【Linux常用命令】重定向/命令结果处理/传递参数
2021-9-2
| 2023-10-14
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 14, 2023 01:34 PM
Parent item
领域

重定向

标准输入输出流:
  • 输入流:系统设备号是0
  • 输出流:系统设备号是1
  • 错误输出流:系统设备号是2
  • 输出和错误重定向:ls -al > out.log 2>&1
    • 把ls命令输出重定向到文件out.log:错误信息重定向到输出流,再重定向到文件out.log
  • 输出和错误重定向追加:ls -al >> out.log 2>&1
  • 后台运行日志重定向:

    命令结果处理

    • 排序:sort。倒排:sort -r
    • 去重:uniq
      • 去重并统计数量:针对nginx日志(第1列是IP)统计总访问人数:awk '{print $1}' access.log | sort | uniq | wc -l
        去重并统计重复的数量:针对nginx日志(第四列是日期)统计每天的总访问量:awk '{print $4, 2, 11}' access.log | sort | uniq -c
        去重并分类统计重复的数量:针对nginx日志(第四列是日期)统计每天的用户访问量:
      • 第一次awk我们将第 4 列的日期和第 1 列的ip地址拼接在一起;
      • next关键字是提醒awk跳转到下一行输入。 对每一行输入,awk会根据第 1 列的字符串(也就是日期)进行累加;
      • END关键字代表一个触发器,就是 END 后面用 {} 括起来的语句会在所有输入都处理完之后执行——当所有输入都执行完,结果被累加到uv中后,通过foreach遍历uv中所有的key,去打印ipip对应的数量;
    • 筛选:grep。不包含:grep -v
      • 统计行数:统计go文件的代码总行数:wc
        • 实例:统计PV:对nginx的日志文件统计行数:
      • 不影响结果的情况下保存中间结果:tee

        Xargs:向其他命令动态传递参数

        把管道或标准输入流的数据,按照分隔符进行拆分,然后作为参数送给后面的命令。
        常用参数
        • -I,为xargs分割后的每项指定变量名称,默认是 {},在接下来的命令中使用{}代替传递过来的参数。
        • -d delim :指定分隔符。
        • -n num :传递给命令的参数个数,默认是用所有的。
        • -a file :从文件中读入作为stdin
        • -t:表示先打印命令,然后再执行。
        • -0:指定输入项以空字符而不是空格分隔。当处理包含空格或其他特殊字符的文件名时,这非常有用。例如,find . -name '*.txt' -print0 | xargs -0 command 将在所有以 .txt 结尾的文件上执行 command。
        计算机基础
      • 计算机基础
      • 【Linux常用命令】关闭防火墙【接口设计】google的API接口设计规范
        目录