linux日志审计常用命令

文章目录

    • cut
      • 参数
      • 指定范围
      • 命令
    • awk
      • 参数
      • 内置变量
      • 命令
    • wc
      • 参数
      • 命令
    • uniq
      • 参数
      • 命令
    • sort
      • 参数
      • 命令
    • head
      • 参数

cut

参数

选项含义
-b仅显示行中指定直接范围的内容
-c仅显示行中指定范围的字符
-d指定分割符, 默认为“TAB”制表符
-f显示指定字段的内容
-n与“-b”连用,不分割多字节字符
–complement补足被选择的字节,字符或字段
–out–delimiter=<字段分割符>指定输出内容是的字段分割符

指定范围

N-:从第N个字节、字符、字段到结尾;
N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
对应选项:
-b 表示字节;
-c 表示字符;
-f 表示定义字段

命令

cat test

NAME    GENDER  HEIGHT(cm)      MONTH   SALARY
zhao    male    150             1       1000
qian    female  165             0       500
zhou    male    155             5       3000
zheng   female  167             4       3400
wang    male    158             3       8000

cut test -c1,3

cut test -b1,3

NM
za
qa
zo
ze
wn

cut -c1-3 test

cut -b1-3 test

NAM
zha
qia
zho
zhe
wan

cut -f1-3 test

NAME    GENDER  HEIGHT(cm)
zhao    male    150
qian    female  165
zhou    male    155
zheng   female  167
wang    male    158

cut -c1-3 --complement test

E       GENDER  HEIGHT(cm)      MONTH   SALARY
o       male    150             1       1000
n       female  165             0       500
u       male    155             5       3000
ng      female  167             4       3400
g       male    158             3       8000

cut -f3- --complement test

NAME    GENDER
zhao    male
qian    female
zhou    male
zheng   female
wang    male

cut -b3- --complement test

NA
zh
qi
zh
zh

awk

参数

awk [选项参数] 'pattern1{action1}  pattern2{action2}...' filename
-F:指定输入文件拆分隔符。
-v:赋值一个用户定义变量。
-f:引入awk执行脚本。读入有’\n’换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,$NF表示文本行中的最后一个数据字段。默认域分隔符是"空白键" 或 “[tab]键”

内置变量

变量说明
FILENAMEawk浏览的文件名
NR已读的记录数
NF浏览记录的域的个数

命令

cat test

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

awk -F: '/^root/{print $7}' test

/bin/bash

^在root前,表示以指定字符开头,如果没有,则表示有指定字符的行,位置不限

awk -F: '/^root/{print $1","$7}' test

root,/bin/bash

awk -v i=1 -F: '{print $3+i}' test

1
2
3
4
5
6
7
8

awk -F : -f a test

root 0 /bin/bash
bin 1 /sbin/nologin
daemon 2 /sbin/nologin
adm 3 /sbin/nologin
lp 4 /sbin/nologin
sync 5 /bin/sync
shutdown 6 /sbin/shutdown
halt 7 /sbin/haltcat a   
{print $1,$3,$NF}

awk -F : 'BEGIN{print "user, shell"} {print $1","$7} END{print "coleak,/bin/xixixi"}' test

user, shell
root,/bin/bash
bin,/sbin/nologin
daemon,/sbin/nologin
adm,/sbin/nologin
lp,/sbin/nologin
sync,/bin/sync
shutdown,/sbin/shutdown
halt,/sbin/halt
coleak,/bin/xixixi

awk -F: '{print "filename:" FILENAME ", linenumber:" NR ",columns:" NF}' test

filename:test, linenumber:1,columns:7
filename:test, linenumber:2,columns:7
filename:test, linenumber:3,columns:7
filename:test, linenumber:4,columns:7
filename:test, linenumber:5,columns:7
filename:test, linenumber:6,columns:7
filename:test, linenumber:7,columns:7
filename:test, linenumber:8,columns:7

awk '/^$/{print NR}' test

查询test中空行所在的行号

awk 'NR==3{print $0}' test

输出test第3行的所有数据

awk -F: '$1=="root"{print $0}' test

输出第一个字段为root所在的行

head -2 /proc/meminfo | awk 'NR==1{a=$2}NR==2{b=$2;print (a-b)\*100/a "%"}'

查看已使用的内存

wc

参数

-l , --lines : 显示行数;
-w , --words : 显示字数;
-m , --chars : 显示字符数;
-c , --bytes : 显示字节数;
-L , --max-line-length : 显示最长行的长度;
命令直接执行,输出包含四项,分别代表:行数、字数、字节数、文件。
字数是指以空格、tab、换行分隔的非零长度字符。例子中每行属于一个字,所以输出10。

命令

wc test test2

 8   8 293 test10  10 444 test218  18 737 总计
wc -l test
wc -w test
wc -m test
wc -c test
wc -L test

uniq

uniq命名用于比较相邻的行并去掉重复的行,对不相邻的行无效;如果使用该命令不加任何命令行参数,则视为删除文本文件中重复的行之后进行输出;如果指定输出文件,则删除到指定文件当中;

参数

-c:uniq的命令行参数,在每列旁边显示重复出现的次数;
-u:uniq的命令行参数,显示文件当中只出现一次的行
-d:uniq的命令行参数,显示文件当中重复的行

命令

cat test

root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

uniq test

root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

uniq test test3

输出内容放到test3

uniq test -c

3 root:x:0:0:root:/root:/bin/bash
1 adm:x:3:4:adm:/var/adm:/sbin/nologin
1 bin:x:1:1:bin:/bin:/sbin/nologin
1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
2 adm:x:3:4:adm:/var/adm:/sbin/nologin
1 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
1 sync:x:5:0:sync:/sbin:/bin/sync
1 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
1 halt:x:7:0:halt:/sbin:/sbin/halt

uniq test -dc

3 root:x:0:0:root:/root:/bin/bash
2 adm:x:3:4:adm:/var/adm:/sbin/nologin

sort

参数

选项说明
-n依照数值的大小排序
-r以相反的顺序来排序
-t设置排序时所用的分隔字符
-k指定需要排序的列
-u在输出行中排序并去除重复行
-o将排序结果写入文件中
  • -f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
  • -c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
  • -C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
  • -M会以月份来排序,比如JAN小于FEB等等
  • -b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。

命令

cat sort.txtbxmb:20:4.2
xfet:50:2.3
clsuh:10:3.5
sewp:30:1.6
xfam:50:2.3
xfet:50:2.3

sort sort.txt -t : -nrk 3

bxmb:20:4.2
clsuh:10:3.5
xfet:50:2.3
xfet:50:2.3
xfam:50:2.3
sewp:30:1.6

sort -t: -uk 1 sort.txt

bxmb:20:4.2
clsuh:10:3.5
sewp:30:1.6
xfam:50:2.3
xfet:50:2.3

sort -t: -rk 1.2 sort.txt

bxmb:20:4.2
clsuh:10:3.5
xfet:50:2.3
xfet:50:2.3
xfam:50:2.3
sewp:30:1.6

"-k 1.2"表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序。

sort -t: -rk 1.2,1.2 sort.txt -o sort2.txt

bxmb:20:4.2
clsuh:10:3.5
xfet:50:2.3
xfet:50:2.3
xfam:50:2.3
sewp:30:1.6

"-k 1.2,1.2"表示只对第一个域的第二个字符进行排序

head

参数

在这里插入图片描述

head -n 10 test
head -n -5 test #显示文件除了最后5行以外的全部内容
head -n -5 ./* -v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Prometheus普罗米修斯

什么是Prometheus 官网&#xff1a;Overview | Prometheus 是一个开源的系统监控和警报工具&#xff0c;多数Prometheus组件是Go语言写的 为用户提供可视化仪表板、警报、告警等功能&#xff0c;以帮助用户快速定位和解决问题 现在已经成为一个独立于企业级的开源项目和一个…

供水管网监测系统

随着城市人口的不断增长和经济的快速发展&#xff0c;供水管网的安全和可靠性变得尤为重要。在过去&#xff0c;供水管网的监测往往是依靠人工巡查&#xff0c;这种方式不仅费时费力&#xff0c;而且容易出现疏漏和盲区。然而&#xff0c;随着科技的进步&#xff0c;供水管网监…

大数据集群(Hadoop生态)安装部署

目录 1. 简介 2. 前置要求 3. Hadoop集群角色 4. 角色和节点分配 5. 调整虚拟机内存 6. Zookeeper集群部署 7. Hadoop集群部署 7.1 下载Hadoop安装包、解压、配置软链接 7.2 修改配置文件&#xff1a;hadoop-env.sh 7.3 修改配置文件&#xff1a;core-site…

Vue3目录结构与Yarn.lock 的版本锁定

Vue目录结构与Yarn.lock 的版本锁定 一、Vue3.0目录结构图总览 举个例子看vue的目录&#xff0c;一开始不知道该目录是什么意思目录里各个文件包里安放有什么&#xff0c;程序员在哪里操作该如何操作。 下图目录看Vue新项目 VS Code 打开文件包后出现一列目录 二、目录结构 1…

宝塔面板二次元透明主题美化模板

看惯了宝塔面板默认风格模板&#xff0c;我们可以试试自己美化修改&#xff0c;我的站长站知道一款非常漂亮的宝塔面板二次元透明主题美化模板&#xff0c;美不美大家看下图&#xff0c;分享给大家。 下载&#xff1a;飞猫盘&#xff5c;文件加速传输工具&#xff5c;云盘&…

Vulnhub系列靶机-The Planets Earth

文章目录 Vulnhub系列靶机-The Planets: Earth1. 信息收集1.1 主机扫描1.2 端口扫描1.3 目录爆破 2. 漏洞探测2.1 XOR解密2.2 解码 3. 漏洞利用3.1 反弹Shell 4. 权限提升4.1 NC文件传输 Netcat&#xff08;nc&#xff09;文件传输 Vulnhub系列靶机-The Planets: Earth 1. 信息…

软件工程师都应该知道的10个定律

一、海勒姆法则 内容 当一个 API 有足够多的用户&#xff0c;你在契约中承诺了什么并不重要&#xff1a;系统中所有看得见的行为都会有某个人依赖…… 案例 现在有两个系统A和B&#xff0c;B的一个接口返回一个列表。A系统的开发人员发现返回的列表都是按照ID正向排序的。本…

Flink实现kafka到kafka、kafka到doris的精准一次消费

1 流程图 2 Flink来源表建模 --来源-城市topic CREATE TABLE NJ_QL_JC_SSJC_SOURCE ( record string ) WITH (connector = kafka,topic = QL_JC_SSJC,properties.bootstrap.servers = 172.*.*.*:9092,properties.group.id = QL_JC_SSJC_NJ_QL_JC_SSJC_SOURCE,scan.startup.mo…

基于Springboot实现疫情网课管理系统项目【项目源码+论文说明】分享

基于Springboot实现疫情网课管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于疫情网课管理系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了疫情…

学习开发一个RISC-V上的操作系统(汪辰老师) — unrecognized opcode `csrr t0,mhartid‘报错问题

前言 &#xff08;1&#xff09;此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 &#xff08;2&#xff09;该课程相关代码gitee链接&#xff1b; &#xff08;3&#xff09;PLCT实验室实习生长期招聘&#xff1a;招聘信息链接 正文 &#xff08;1&#xff09;在跟着…

three.js点击模型实现模型边缘高亮选中效果

three.jsreact实现点击模型实现高亮选中效果 1、创建一个场景 let scene, camera, renderer, controls; let stats null; // 检测动画运行时的帧数 let clock new THREE.Clock(); // getDelta()方法获得两帧的时间间隔 let FPS 30; let renderT 1 / FPS; let timeS 0;con…

SpringBoot中使用拦截器

拦截器属于MVC中的内容 SpringBoot项目,引入web依赖即可 需要访问的控制器 拦截器第一步实现HandlerInterceptor接口 第二步实现WebMvcConfigurer接口,并重写addInterCeptors()方法,将自定义的拦截器注册 也就是说这里add进去拦截的请求,才会进入到prehandle方法,这里放行的请…

kafka与zookeeper的集群

基础配置 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configvi /etc/hosts ip1 node1 ip2 node2 ip3 node3zookeeper介绍 zookeeper是一个分布式的协调服务&#xff0c;主要用…

计算机竞赛 : 题目:基于深度学习的水果识别 设计 开题 技术

1 前言 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天做一个 基于深度学习的水果识别demo 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/pos…

[天翼杯 2021]esay_eval - RCE(disabled_function绕过||AS_Redis绕过)+反序列化(大小写wakeup绕过)

[天翼杯 2021]esay_eval 1 解题流程1.1 分析1.2 解题1.2.1 一阶段1.2.2 二阶段 二、思考总结 题目代码&#xff1a; <?php class A{public $code "";function __call($method,$args){eval($this->code);}function __wakeup(){$this->code "";…

虚拟机Ubuntu18.04安装对应ROS版本详细教程!(含错误提示解决)

参考链接&#xff1a; Ubuntu18.04安装Ros(最新最详细亲测)_向日葵骑士Faraday的博客-CSDN博客 1.4 ROS的安装与配置_哔哩哔哩_bilibili ROS官网&#xff1a;http://wiki.ros.org/melodic/Installation/Ubuntu 一、检查cmake 安装ROS时会自动安装旧版的Cmake3.10.2。所以在…

uniapp 在uni.scss 根据@mixin定义方法 、通过@include全局使用

在官方文档中提及到uni.scss中变量的使用&#xff0c;而我想定义方法&#xff0c;这样写css样式更方便 一、官方文档的介绍 根据官方文档我知道&#xff0c;在这面定义的变量全局都可使用。接下来我要在这里定义方法。 二、在uni.scss文件中定义方法 我在uni.scss文件中定义了…

12P4375X042-233C KJ2005X1-BA1 CE3007 EMERSON servo controller

12P4375X042-233C KJ2005X1-BA1 CE3007 EMERSON servo controller 我们提供三种不同类别的EDGEBoost I/O模块供选择&#xff0c;以实现最大程度的I/O定制: 数字和模拟输入/输出网络和连接边缘人工智能和存储 利用EDGEBoost I/O实现变革性技术 EBIO-2M2BK EBIO-2M2BK载板支持…

conda安装使用jupyterlab注意事项

文章目录 一、conda安装1.1 conda安装1.2 常见命令1.3 常见问题 二、jupyterlab2.1 jupyterlab安装和卸载2.2 常见错误2.2.1 版本冲突&#xff0c;jupyterlab无法启动2.2.2 插件版本冲突 2.3 常用插件2.3.1 debugger2.3.2 jupyterlab_code_formatter 2.4 jupyter技巧 一、conda…

ThreeJS-3D教学七-交互

在threejs中想要选中一个物体&#xff0c;点击或者鼠标悬浮&#xff0c;又或者移动端的touch事件&#xff0c;核心都是通过new THREE.Raycaster完成的。这里用到了一个概念&#xff0c;即我们点击时的 屏幕坐标 转换为 three中的3D坐标。 先看效果图&#xff1a; 代码是&#…