还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
日志审计工具linux单独工具介绍Find是一个在和系统中用于搜索文件系统中文件的命令行工具它可以基于各种条件find LinuxUnix来查找文件,比如文件名、文件类型、大小、权限、所有者、修改日期等是一个功能强大find且灵活的工具,非常适合执行复杂的搜索任务基本语法[路径][选项][操作]find路径指定命令开始搜索的目录路径如果没有指定路径,默认在当前目录及其子•find find目录下搜索选项定义搜索条件可以使用多个条件来精确匹配所需的文件•find操作对找到的文件执行的操作如果不指定操作,默认操作是打印所有找到的文件路径到•标准输出常见选项根据文件名搜索•-name根据文件类型搜索(例如仅搜索普通文件,仅搜索目录)•-type-type f-type d根据文件大小搜索•-size根据文件权限搜索•-perm根据文件所有者搜索-user计数每行出现的次数对文件排序后,计数每行出现的次数
2.sort file,txt|uniq-c显示唯一的行显示文件中唯一的行
3.sort file.txt|uniq-u忽略大小写比较重复的行在进行重复行检测时忽略大小写
4.sort file,txt|uniq-i-d组合**和**进行去重将排序和去重合并输出到另一个文件5,sort**uniq**sort file,txt|uniqsorted_unique_file.txt使用自定义输出检测重复行并将结果输出到指定文件
6.sort file,txt|uniq-d~o output,txt注意选项实际上并不存在于命令中输出通常是通过重定向完成的,上面的命令-o uniq应该修正为没有的版本,直接使用进行重定向-0命令的强大之处在于其简便性和与命令结合使用时的效能了解如何有效使用这些工具,uniq sort可以极大提高你的文本处理能力,特别是在处理大型数据集时Sort基本语法sort[OPTION]...[FILE]...控制排序行为的命令行选项•OPTION指定一个或多个要排序的文件如果没有指定文件或指定为-,则读取标准输入•FILE常见选项根据数值进行排序•-n倒序排序•-r-忆指定按照哪一列或字段排序•指定字段之间的分隔符,默认是空白字符•-t删除重复的行,只保留唯一行•-u指定输出文件•-o示例按字母排序对文件的内容进行字母排序1,file,txtsort file,txt按数值排序对数值进行排序2,sort-n numbers,txt倒序排序对文件进行倒序排序
3.sort-r file,txt按特定列排序根据第二列的数值进行排序:4,sort-k2-n file.txt使用自定义分隔符当列由特定字符分隔时,使用选项指定分隔符例如,使用冒号分5,-t隔sort-t:-k3file,txt删除排序过程中的重复行在排序时去除重复行:
6.sort-u file,txt将排序结果输出到文件将排序结果直接输出到另一个文件:
7.sort file,txt-o sortedfile,txt结合多个排序标准先按第一列字母排序,再按第二列的数值逆序排序:8,sort-kl,1-k2,2nr file.txtcut命令是和系统中用于文本处理的非常有用的工具它初用来提取文本文件中的列或cut LinuxUnix字段你可以指定一个分隔符,该分隔符将每行文本分隔成多个字段默认情况下,命令用制cut表符作为字段分隔符,但你可以通过选项指定不同的字符最常见的用法包括提取文件中特-d cut定的列或列范围语法命令的基本语法如下:cutcut OPTION...[FILE]...其中,可以是多种选项的组合,用来指定如何选择字段和字符,..是一个或多个文件OPTION[FILE].名参数如果没有指定文件名,或者文件名是-,命令会从标准输入读取数据cut主要选项指定字段分隔符,默认是制表符这允许你指定任何字符作为字段分隔符•-d DELIMITER选择由选项指定的分隔符分隔的字段你可以指定一个字段编号、一个字段范围(例•-f FIELDS-d如,表示第到第个字段),或者这两种的组合2-525选择字符(而非字段)和一样,你可以指定一个字符位置、一个范围或两者的组•-c LIST-f合同但选择的是字节位置这在处理多字节字符时会有所不同•-b LIST-c,实例提取第一列
1.cut-d,-fl file,txt这个命令提取中每行的第一字段,假定字段由逗号分隔file,txt提取多列
2.cut-d,-fl,3,5file,txt这个命令提取由空格分隔的第、第和第个字段135提取范围内的列
3.如果中的字段由冒号分隔,这个命令会提取第到第歹人file,txt24提取字符
4.cut-cl-10file.txt这个命令提取每一行的前个字符10组合字段和字符范围
5.有时候,你可能需要组合使用字段和字符选项,但命令不支持这样做在这种情况下,你通常cut会将命令与其他文本处理工具(比如或结合使用cut awksed)注意事项•如果指定的字段不存在,命令不会输出错误,相反,对于那一行,什么都不会输出cut•如果输入包含不规则的行,比如某些行缺少某些字段,结果可能会让人困惑在这种情况下,使用可能会更灵活awk命令是文本处理工具箱中的一个简单但强大的工具,适用于快速的文本列提取任务掌握它对cut于日常处理文本数据来说非常有用组合使用常见组合
1.统计文件中最常出现的单词这个任务可以通过组合使用、和实现awk sort uniq wc1使用提取所有单词.awk使用对单词进行排序2,sort使用对排序后的单词进行去重,并计数3,uniq-c使用再次对结果进行数值排序4,sort-nr使用获取出现次数最多的前个单词5,head N运用最多场景就是统计登陆失败的前十个ipawkfori=l;i=NF;i++print$i}file,txt|sortuniq-c|sort-nr|head-n10这个命令序列假定文件中的单词已经通过空格进行分隔
2.统计特定类型文件的行数如果你想统计当前目录下所有文件的行数,可以使用以下命令.txtcat*.txt|wc T透过将所有.文件的内容送入来计算总行数cat*.txt txtwc-
13.IP提取并统计每个独立地址的访问次数假设你有一个日志文件每行包含一个地址,代表一个访问请求,你想知道每个地access,log,IP IP址分别访问了多少次在日志里面经常使用的awk{print$1}access,log|sort|uniq-c|sort-nr在这个例子中,假设地址位于每行的第一列如果实际情况不同,请相应地调整awk{print$1}IP列的编号
4.检查哪些行是唯一的如果你想知道文件中哪些行是唯一的,可以使用:file,txtsort file,txt|uniq-u这会列出所有只出现一次的行
5.计算多个文件中不同单词的总数对于多个文本文件,如果你想知道包含的不同单词总数,可以用cat filel.txt file
2.txt|tr\n|sort|uniq|wc-1这里,是用来将空格替换为换行符,从而让每个单词单独占一行,方便后续的、和tr\n sortuniq处理wcfind+grep用于查找满足条件的文件和目录,而用于搜索文件内容快速定位木马位置find grep基本示例在目录及其所有子目录中查找包含〃〃的所有.文件search_pattern txtfind/path/to/directory-type f-name〃*.txt〃-exec grep/zsearch_patternz,{}+这个命令解释如下你要搜索的目录路径•/path/to/directory表示你只对文件感兴趣•-type f指定文件名模式,只搜索.文件•-name*.txttxt•-exec grep/zsearch_patternz,{}+对所有找到的文件执行grep〃search_pattern〃{}是一个占位符,代表找到的文件名+表示将所有找到的文件名一次性传递给find grepo只打印包含文本的文件名如果你只想打印出包含〃〃的.文件名称,而不显示匹配的行,可以使用T选项(小search_pattern log写的L)find/path/to/directory-type f-name〃*.log-exec grep-1〃search_pattern〃{}+搜索多种文件类型可以组合使用多个选项,通过-(或逻辑)将它们连接起来,用来搜索多种类型的文件:-namefind/path/to/directory-type f\(-name〃*・txt〃-o-name〃*・log〃\)-exec grepz,search_patternz/{}+xargs使用来提高效率对于文件数目非常多的情况,使用可能会更高效xargsfind/path/to/directory-type f-name〃*.txt〃xargs grepz/search_pattern,z xargs接收find的输出作为输入,然后将这些输入作为参数传递给这种方法特别有用,因为它避免了命令的可能重grep grep复启动排除特定目录如果你想排除搜索中的一个或多个特定目录,可以使用选项例如,排除名为的目录-prune.gitfind/path/to/directory-type d-name.git-prune-o-type f-name〃*・txt〃-exec grepz/search_patternz/{}+在使用和的组合时,根据具体的搜索需求调整选项和参数是很重要的,这些强大的工具组find grep合为文件内容的搜索和处理提供了极大的灵活性sort+uniq检测重复行只显示文件中的重复行
1.sort file,txt|uniq-d计数每行出现的次数对文件排序后,计数每行出现的次数
2.sort file,txt|uniq-c显示唯一的行显示文件中唯一的行
3.sort file,txt|uniq-u忽略大小写比较重复的行在进行重复行检测时忽略大小写
4.sort file,txt|uniq-i-d组合和进行去重将排序和去重合并输出到另一个文件
5.sort uniqsort file.txt|uniqsorted uniquefile.txt使用自定义输出检测重复行并将结果输出到指定文件
6.sort file,txt|uniq-d-o output.txt注意选项实际上并不存在于命令中输出通常是通过重定向完成的,上面的命令-0uniq应该修正为没有的版本,直接使用进行重定向-0命令的强大之处在于其简便性和与命令结合使用时的效能了解如何有效使用这些工具,uniq sort可以极大提高你的文本处理能力,特别是在处理大型数据集时根据文件所属的组搜索•-group根据修改时间、访问时间或状态变化时间搜索•-mtime,-atime,-ctime对搜索到的文件执行指定的命令•-exec示例搜索当前目录及子目录下所有的**.文件
1.txt**find,-type f-name〃*,txt〃搜索目录下所有属于用户的文件
1.**/home****bob**find/home-type f-user bob搜索目录下最近天内被修改过的文件1,**/var/log**7find/var/log-type f-mtime-7删除目录下所有**,文件
1.**/tmp**tmp**find/tmp-type f-name〃*.tmp〃-exec rm{}\;在这个命令中,后面的{}是找到的文件名的占位符,\;表示参数的结束-exec-exec搜索大小超过的文件
1.50MBfind/-type f-size+50Mgrep基本语法grep[options]pattern[file...]要搜索的文本模式这可以是普通字符串或正则表达式•pattern要搜索的文件名列表如果未指定文件,通常会从标准输入读取•file...grep常用选项忽略大小写•-i反向匹配,选择不包含指定模式的行•-v或递归搜索,查找所有文件•-r-R只打印包含匹配模式的文件名,而不是匹配的文本行•-1打印每个匹配行的行号•-n统计匹配模式的行数,而不是打印匹配的行•-c允许使用多个搜索模式•-e只输出匹配模式的部分,而不是整行•-o示例搜索文件中的文本查找文件中包含的所有行
1.file,txt“example”grep example file,txt.忽略大小写地搜索查找文件中包含〃(无论大小写)的所有行:2〃exaniplegrep-i examplefile.txt反向匹配选择不包含的行:
3.“example”grep-v examplefile,txt递归搜索在当前目录及子目录下搜索包含〃的所有文件:
4.“example.txt grep-r example*txt打印匹配行的行号打印内容中包含的行及其行号:
5.file,txt〃example〃grep-n〃examplefile.txt统计匹配行的数量获取文件中包含〃的行数:
6.“example grep-c examplefile,txt使用多个模式查找文件中包含或〃的行:7,〃example〃〃test grep-e example”-e〃test〃file,txt只输出匹配到的文本部分如果一行中包含多次出现的模式,只打印匹配到的模式部分,而8,非整行:grep-o〃ex[a-z]*〃file.txt强行匹配
9.grep-a searchpattern file提取
10.ipgrep-oP=from\d{l,3}\.{3}\d{l,3}your_log_file.log一选项告诉仅输出与正则表达式匹配的部分•grep选项启用•-P PCREo•正则表达式查找之后跟随的地址**=from\d{l,3}.{3}\d{l,3}**fromIPWC基本语法wc[OPTION]...[FILE]...选择计数的模式,包括行数、单词数、字符数等•OPTION指定一个或多个文件名如果没有指定文件或文件为-,会从标准输入读取•FILEwc常见选项只计算行数•-1只计算单词数以空白字符分隔的字符串•-wabc ab c只计算字节数•-c只计算字符数与的区别在于处理多字节字符时的统计方式不同•-m-c示例方便做数据汇总计算文件的行数如果你想知道一个文件中包含多少行:
1.wc-1file,txt计算文件的单词数获取文件中单词的总数:
2.wc-w file,txt计算文件的字节数查看文件占用了多少字节:
3.wc-c file.txt计算文件的字符数统计文件中字符的总数:
4.wc-m file,txt对多个文件进行统计你可以同时对多个文件进行统计,并且会提供每个文件的统计数
5.wc和一个总计数:wc filel.txt file
2.txt结合使用其他命令常与管道一起使用,以统计其他命令的输出例如,统计当前目录下文
6.wc件的数量Is IWC-1awk基本语法awk pattern{action,input-files指定一个条件,只有满足条件的行才执行大括号中的•patternaction一组命令,当行匹配时,执行这些命令•actionpattern常见选项指定输入文件的字段分隔符•-F定义一个变量•-V从脚本文件中读取程序•-fawk示例打印文件的每一行
1.awk{print}file,txt打印文件特定列打印第一列和第三列
2.awk{print$1,$3}file,txt使用自定义字段分隔符使用逗号作为分隔符,打印第二列
3.awk-F,{print$2}file,txtawk-F〃notty〃{print$2}btmp.1后面不能接空格,{}外面只能接单引号-F条件过滤和打印打印第三列大于的所有行
4.100awk$3100{print}J file,txt对列值求和对第二列的所有值求和:5,awk{sum+=$2END{print sum}file,txt使用正则表达式打印包含的行:
6.“success”awk/success/{print}file.txt
7.格式化输出按格式打印多列:awk{printf Name:%s,ID:%s\n〃,$1,$2},file.txt传递外部变量给将变量传递给
8.**awk**shell awk〃〃A1•name=Alice awk-v name=z/$namez,$1==name{print}file,txt从脚本文件中执行先创建一个脚本文件
9.**awk**awk filter,awk:$1100然后执行:awk-f filter,awk file,txt
10.提取ip awkJ/Failed passwordfor root/{print$11,your_log_file.log这里:是匹配条件,只会对包含这个字符串的行进行操作•/Failed passwordfor root/awk是动作部分,告诉打印每行的第个字段(空格区分字段),根据你的日志样•{print$11)awk11本,地址恰好是第个字段IP11把‘,换成换行符
11.(\n)〃,〃,〃,awk{gsub(〃\n$0);print$0}uniq基本语法uniq[OPTION]...[INPUT[OUTPUT]]控制的行为•OPTIONuniq指定输入文件如果未指定或为则从标准输入读取•INPUT指定输出文件如果未指定,结果输出到标准输出•OUTPUT常见选项前置行数,显示每行在文件中出现的次数•-c只打印重复行,每个重复组只打印一次•-d仅显示唯一行•-U:忽略大小写差异比较行•-i示例检测重复行只显示文件中的重复行
1.sortfile,txt|uniq-d。
个人认证
优秀文档
获得点赞 0