linux 下 grep 分析 Apache 服务器日志

Linux日志排查三剑客:tail、head、grep高效组合实战 Linux日志分析是系统运维与故障定位的核心能力,其本质是在海量文本中快速提取有效信号。理解日志的时间戳层、来源标识层和内容语义层,是高效查询的前提;而tail、head、grep并非简单文本工具,而是分别承担‘实时雷达’‘历史快照’和‘语义过滤器’角色的时空协同组件。通过I/O优化(如tail优先替代全量grep)、上下文增强(-A/-B参数)、正则降噪(-v排除健康检查)等技术手段,可将排查效率提升10倍以上。该方法论广泛适用于Nginx、MySQL、systemd-journal等主流日志源,并在统信 阅读详情

日志分析整理 Grep 日志整理


#### 以下代码,若出现无法使用,请根据底下图片,更改参数。根据apache日志格式修改

1, 查看 apache 进程:

ps aux | grep httpd | grep -v grep | wc -l

2, 查看 80 端口的 tcp 连接:

netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

3, 用 tcpdump 嗅探 80 端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr
接着从日志里查看该 ip 在干嘛:
cat access。log | grep 220.181.38.183| awk '{print $1"/t"$8}' | sort | uniq -c | sort -nr | less

4, 查看某一时间段的 ip 连接数:

grep "2014:0[7-8]" www20110519.log | awk '{print $2}' | sort | uniq -c| sort -nr | wc -l

5, 当前 WEB 服务器中联接次数最多的 20 条 ip 地址:

netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -n -r | head -n 20

6, 查看日志中访问次数最多的前 10 个 IP

awk '{print $1}' access.log |sort |uniq -c|sort -nr|head -n 10


7, 查看日志中出现 100 次以上的 IP

8,查看最近访问量最高的文件

cat access_log |tail -10000|awk '{print $7}'|sort|uniq -c|sort -nr|less

9, 查看日志中访问超过 100 次的页面

10, 列出传输时间超过 30 秒的文件

cat access_log|awk '($NF> 30){print $7}'|sort -n|uniq -c|sort -nr|head -20

11, 列出最最耗时的页面 (超过 60 秒的) 的以及对应页面发生次数

cat access_log |awk '($NF> 60 && $7~//.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100

12,查找请求数请 20 个 IP(常用于查找攻来源):

netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}' |sort -rn|head -n20

13,用 tcpdump 嗅探 80 端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

14,查找较多 time_wait 连接

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

15,找查较多的 SYN 连接

netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

16,根据端口列进程

netstat -ntlp | grep 80 | awk '{print $7}' | cut -d/ -f1

17,分析日志文件下 2012-05-04 访问页面最高 的前 20 个 URL  并排序

cat access.log |grep ’04/May/2012′| awk ‘{print $11}’|sort|uniq -c|sort -nr|head -20
查询受访问页面的 URL 地址中 含有 www.abc.com 网址的 IP 地址
cat access_log | awk ‘($11~/\www.abc.com/){print $1}’|sort|uniq -c|sort -nr

18,访问次数最多的文件或页面, 取前 20 及统计所有访问 IP

cat access.log|awk ‘{print $11}’|sort|uniq -c|sort -nr|head -20
awk ‘{print $1}’ access.log |sort -n -r |uniq -c|wc -l
查询日志中 时间段内的情况
cat wangsu.log | egrep ’06/Sep/2012:14:35|06/Sep/2012:15:05′ |awk ‘{print $1}’|sort|uniq -c|sort -nr|head -10   

19,列出传输最大的几个 exe 文件(分析下载站的时候常用)

cat access.log |awk ‘($7~/\.exe/){print $10 ” ” $1 ” ” $4 ” ” $7}’|sort -nr|head -20

20,列出输出大于 200000byte(约 200kb) 的 exe 文件以及对应文件发生次数

cat access.log |awk ‘($10> 200000 && $7~/\.exe/){print $7}’|sort -n|uniq -c|sort -nr|head -100

21,如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面

cat access.log |awk ‘($7~/\.php/){print $NF ” ” $1 ” ” $4 ” ” $7}’|sort -nr|head -100

22,列出最最耗时的页面 (超过 60 秒的) 的以及对应页面发生次数

cat access.log |awk ‘($NF> 60 && $7~/\.php/){print $7}’|sort -n|uniq -c|sort -nr|head -100

23,列出传输时间超过 30 秒的文件

cat access.log |awk ‘($NF> 30){print $7}’|sort -n|uniq -c|sort -nr|head -20

24,统计网站流量(G)

cat access.log |awk ‘{sum+=$10} END {print sum/1024/1024/1024}’

25,统计 404 的连接

awk ‘($9 ~/404/)’ access.log | awk ‘{print $9,$7}’ | sort

26,统计 http status.

cat access.log |awk '{print $9}'|sort|uniq -c|sort -rn

27,每秒并发:(显示前十)

cat  access.log | awk '{if($9~/200|206|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}'|sort -k 2 -nr|head -n10

28,带宽统计

cat access.log |awk '{if($7~/GET/) count++}END{print"client_request="count}'
cat access.log |awk '{BYTE+=$11}END{print"client_kbyte_out="BYTE/1024"KB"}'

29,当天 ip 连接数最高的 ip 都在干些什么:

cat access.log | grep "10.0.21.17" | awk '{print $11}' | sort | uniq -c | sort -nr | head -n 10

30,查看 Apache 的并发请求数及其 TCP 连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回参数:
  • SYN_RECV 表示正在等待处理的请求数;
  • ESTABLISHED 表示正常数据传输状态;
  • TIME_WAIT 表示处理完毕,等待超时结束的请求数。


sort 
sort 命令将逐行对指定文件中的所有行进行排序,并将结果显示在标准输出上。如果不指定文件或者使用“一”
表示文件,则排序内容来自标准输入。排序比较是依据从输入文件的每一行中提取的一个或多个排序关键字进
行的。排序关键字定义了用来排序的最小的字符序列。
选项:
-nr 按照数字进行倒叙排序。
-m 对己经排好序的文件统一进行合并,但不做排序。
-c 检查给定的文件是否己排好序,若没有,则显示出错消息,不做排序。
-u 与 -c 选项一起用,严格地按顺序检查;否则,对排序后的重复行只输出第一行。
-o 文件名 将排序输出放到该文件名所指定的文件中。如果该文件不存在,则创建一个新文件。

改变排序规则的选项主要有:
-d 按字典顺序排序,比较时仅考虑空白符和字母数字符。
-f 忽略字母的大小写。
-i 忽略非打印字符。
-M 规定月份的比较次序是(未知)<”JAN”<”FEB”<…<”DEC”。 
-r 按逆序排序。默认排序输出是按升序排序的。
-k n1[,n2] 指定从文本行的第 n1 字段开始至第 n2 字段(不包括第 n2 字段)中间的内容作为排序关键字。如果没有 n2,则关键字是从第 n1 个字段到行尾的所有字段。n1 和 n2 可以是小数形式。如”x.y”,x 表示第 x 字段,y 表示第 x 字段中的第 y 个字符。字段和字符的文职都是从 1 开始算起的。
-b 比较关键字时忽略前导的空白符(空格或制表符)。
-t 字符将指定的“字符”作为字段间的分隔符。

uniq[选项] 文件
说明:uniq 命令读取输入文件,并比较相邻的行,去掉重复的行一行。该命令加工后的结果写到输出文件中。
输入文件和输出文件必须不同。用“一”表示,则从标准输入上读取。
选项:
-c 显示输出时,在每行的行首加上该行在文件中出现的次数。合并重复的行,并记录重复次数。
-d 只显示重复行。
-f --skip-fields=N  忽略比较前 N 个字段。
-s --skip-chars=N 忽略比较前 N 个字段。
-u 只显示文件中不重复的行。

173701jb206066szzm0u88.png


其他查看 tcp 连接状态:
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
netstat -ant|awk '/ip:80/{split($5,ip,":");++S[ip[1]]}END{for (a in S) print S[a],a}' |sort -n
netstat -ant|awk '/:80/{split($5,ip,":");++S[ip[1]]}END{for (a in S) print S[a],a}' |sort -rn|head -n 10
awk 'BEGIN{printf ("http_code\tcount_num\n")}{COUNT[$10]++}END{for (a in COUNT) printf a"\t\t"COUNT[a]"\n"}'


参考网页:http://www.uulucky.com/?p=10367

Linux日志排查实战:从tail、grep到高效问题定位技巧 日志分析是系统运维和故障排查的基础技术,其核心原理是通过对系统运行过程中产生的文本记录进行模式匹配和时间序列分析。在Linux环境中,掌握高效的日志排查技术能够显著提升问题定位效率,减少系统停机时间。日志排查的技术价值在于能够快速识别错误模式、追踪问题根源,并支持性能优化决策。常见的应用场景包括线上服务故障诊断、系统性能监控和安全事件分析。通过tail命令实现实时日志监控,结合grep进行精准内容过滤,可以快速定位ERROR级别的关键错误信息。本文基于实际生产环境验证的方法论,详细介绍了从基础命令使用到高级 阅读详情

相关推荐

Linux grep正则实战:日志分析、安全审计与跨发行版适配

grep是Linux文本处理的基石工具,其核心价值在于轻量、精准、无处不在的模式匹配能力。它基于POSIX标准正则引擎(-E扩展语法),无需依赖解释器即可完成毫秒级日志筛选、配置审计与网络诊断。相比awk/sed,grep以零字段解析开销和原生高亮优势,成为运维、开发及安全人员(如Kali Linux渗透测试)的首选过滤工具;在国产Linux(UOS/麒麟)、Rocky Linux及嵌入式系统中均保持高度兼容。本文聚焦grep -E正则实战,覆盖IP提取、HTTP状态码捕获、上下文定位(-A/-B)、编码适

weixin_33704591的博客 382

C++ std::map与std::set:红黑树原理、接口陷阱与实战

在C++程序设计中,按key快速查找并维持数据有序是常见基础需求。关联式容器借助红黑树在插入时维护顺序,使查找、插入和删除稳定在O(log n),并天然支持有序遍历与区间查询。相比线性扫描数组或vector,这种结构更适合数据量大、查询频繁的场景;而std::map与std::set的分工,以及自定义比较器、迭代器失效和operator[]隐式插入等细节,会直接影响正确性与性能。词频统计、配置项排序、时间区间统计和动态中位数维护,都是其典型落地场景。红黑树底层机制、接口陷阱与完整词频统计和区间查询实现,正是

weixin_34161032的博客 484

玄机靶场:第一章日志分析-apache日志分析

摘要:本文介绍了Apache日志分析的基本方法。Apache默认生成访问日志(access.log)和错误日志(error.log),分别记录访问请求和服务器错误。通过分析靶场日志,展示了如何:1)使用cut、uniq、sort命令统计访问最多IP(192.168.200.2);2)提取黑客浏览器指纹(Mozilla/5.0...)并计算MD5;3)统计特定页面访问次数;4)精确匹配黑客IP访问次数(6555次);5)统计指定时间段(2023年8月3日8时)内访问IP数量(5个)。这些技巧可用于日常运维和安

2401_88331513的博客 983

Apache日志分析常用Shell命令

1、查看apache进程: psaux | grep httpd | grep -vgrep | wc-l2、查看80端口的tcp连接: netstat-tan | grep "ESTABLISHED" | grep":80" | wc-l 3、通过日志查看当天ip连接数,过滤重复: cataccess_log | grep "20/Oct/2008" | awk'{print $2}'

ben_wong的专栏 508

FPGA时钟设计陷阱:为什么你的MRCC引脚总触发Place 30-675错误?

本文深入解析FPGA开发中常见的Place 30-675错误,揭示MRCC引脚与时钟资源分配的关键问题。通过对比MRCC与普通IO引脚特性,分析错误根源,并提供时钟约束优化、IP核重配置和手动布局三套解决方案,帮助工程师规避时钟设计陷阱,提升FPGA系统稳定性。

potato的博客 693

MSTAR数据集下载地址及处理方法

首先感谢博主冯子材提供下载的百度网盘地址。 在这里为了防止侵权,特此鸣谢,并给出其博客地址。 地址中有MSTAR百度网盘下载地址和需要使用的数据介绍,其中百度网盘中有数据转换工具 https://blog.youkuaiyun.com/taifengzikai/article/details/80600355 工具使用 因为下载得到的数据是二进制文件,需要使用官方提供的工具进行转换,可将其转换为jpeg。 有...

KamenRider 1万+

ps -aux | grep 用法详解

运行 ps aux 的到如下信息:    ps aux USER    PID   %CPU %MEM VSZ   RSS TTY    STAT   START TIME COMMAND smmsp 3521   0.0    0.7     6556 1616     ?        Ss      20:40 0:00 sendmail: Queue runner@01:00:00 f r...

AntKengElephant的博客 3万+

深度学习模型轻量化方法之【量化】

量化虽然有着硬件友好和功效提升的特点,但它也引入了模型性能的折衷。因此,设计有效的量化策略需要在模型大小、性能以及运算速度之间做出平衡。随着深度学习算法和硬件加速技术的快速发展,量化方法在使深度网络轻量化和提高部署效率方面持续发挥着重要作用。

m0_73916791的博客 2847

深入解析 ps aux | grep httpd 命令的工作原理

ps aux:列出系统中所有用户的进程信息。grep httpd:从ps aux的输出中筛选出包含httpd的行。ps是 “process status” 的缩写,用于显示当前系统的进程状态。ps命令有许多选项,其中最常用的是aux。grep是 “global regular expression print” 的缩写,用于在文本中搜索匹配指定模式的行。grep命令非常强大,支持正则表达式,可以用于复杂的文本搜索。是一个强大的组合命令,用于查找与httpd相关的进程信息。通过理解ps和grep。

weixin_39033358的博客 1579

从拆解图看懂空心杯电机:有刷 vs 无刷内部结构全解析(附DIY注意事项)

本文深入解析有刷与无刷空心杯电机的内部结构差异,通过高清拆解图展示关键部件工艺特点,并分享实用的维护技巧和检测方法。重点对比两种电机在效率、寿命和适用场景上的优劣,为DIY爱好者提供详细的注意事项和操作指南。

xgboost6farmer的博客 516

Windows安装WSL子系统及docker,以及WSL和docker配置、使用及问题解决

在Windows操作系统中,Ubuntu子系统(也称为Windows Subsystem for Linux, WSL)为开发者提供了一个在Windows环境下运行Linux环境的平台。然而,有时用户在按照Ubuntu子系统或者使用WSL时,可能会遇到各种问题,下面总结一下解决方式。想要在Windows上安装Docker(实际上是基于Hyper-V或者WSL2这两项虚拟化技术),需要开启虚拟化功能,所以不管是对于系统还是硬件都有一定的要求。

sym的博客 9782

ps -aux命令详解

Linuxps aux指令詳解 linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP...

aa52013140813的专栏 4159

亚马逊广告接口 amazon advertising

亚马逊广告接口官方说明:https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup 一:注册aws开发者账号 注册地址:https://developer.amazon.com 二:填写注册资料 三:进入控制台,生成安全配置文件 进入 Login with Amazon 菜单: 创建配置文件: 四:申请广告接入权限 申请地址:https://advertising.amazon.com/zh-cn/about-api

lzy66666的博客 4776

linux 解析url命令,linux下grep分析apache日志的命令

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。那么你知道linux下grep分析apache日志的命令么?接下来是小编为大家收集的linux下grep分析apache日志的命令,欢迎大家阅读:linux下grep分析apache日志的命令...

weixin_33929779的博客 299

AI Agent Harness与SCADA系统集成

简单来说,AI Agent Harness是Industrial AI Agent的“中央调度室+装备库+知识库+安全网”把不同技术栈、不同部署环境(云/边/端)、不同功能(感知、推理、决策、执行、验证)的“零散Agent”组装成具备特定工业场景能力的Agent Team(如聚合反应根因诊断Agent Team);管理Agent Team的生命周期(创建、初始化、调度、监控、销毁);提供统一的工业多工具调用接口(对接SCADA、MES、PLC、DCS、巡检机器人、数字孪生平台等);内置。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 355

【毕设全程指导】基于YOLOv8的包装商品检测与可视化系统(SKU110K实战)

本文介绍了一个基于YOLOv8的包装商品检测与可视化系统毕业设计方案。项目采用SKU110K数据集,通过CSV转TXT格式转换适配YOLO模型训练,包含详细的环境搭建、模型配置和训练流程。系统实现了包装商品的自动化检测,并开发了Tkinter可视化界面进行交互式检测展示。该方案结合产业应用需求与技术深度,既具备实用价值,又能充分展示学生的技术能力,适合作为计算机视觉相关专业的毕业设计选题。整个项目从数据准备到界面开发完整覆盖,帮助学生系统掌握目标检测项目的完整实现流程。

LXY_LOVE36的博客 147

深入解析Shell命令:grep在日志分析中的高效应用

本文深入解析了Shell命令`grep`在日志分析中的高效应用,详细介绍了其基本用法、在生产环境中的实际运用及最佳实践。通过具体案例,展示了如何使用`grep`进行日志错误排查,帮助运维人员快速解决问题。

Github: https://github.com/xooooooooox 305

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

linux下grep分析apache日志的命令集合

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34007886的博客 133

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux下apache日志(按日期存放)分析与状态查看方法

Linux下apache日志(按日期存放)分析与状态查看方法

厚海的专栏 2931

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

阅文集团面经(PHP后端开发实习)

说说数据库范式 你处理的数据库中数据量有多少?使用过分库分表吗? 索引越多越好吗?索引使用的场景是什么? 如何查看一个一条语句的执行效率? 进程与线程的区别?进程间通信的方式有哪写? redis有哪些数据结构?你使用过哪些数据结构?是如何使用的?没使用过的知道它们的使用场景吗? 如果你发现在redis查询比较慢,你该如何排查和优化? 如何遍历一个数组?(for foreach)还没有什么办法没?...

Walker-C 769

玄机靶场 ---apache日志分析

debain/ubuntuRed Hat/CentOS查询每个ip访问次数awk ‘{print $1}’ access.log.1 | uniq -c | sort答案flag{192.168.200.2}查询指定ip的请求头awk ‘$1 == “192.168.200.2” {print $0}’ access.log.1 | tail答案:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)

weixin_67289581的博客 564

Linux命令快速诊断CC攻击:运维实战指南

CC攻击是一种针对Web应用层的分布式拒绝服务攻击,其原理是通过模拟大量正常用户请求,持续访问消耗资源较大的动态页面,从而耗尽服务器的CPU、内存或数据库连接等关键资源。这种攻击方式隐蔽性强,对网站可用性构成严重威胁,尤其在高并发业务场景下危害显著。从技术价值角度看,掌握快速识别CC攻击的方法,是保障在线服务稳定性的核心运维能力之一。通过Linux系统内置的命令行工具,如top、ss、netstat等,运维人员可以实时监控系统负载、分析网络连接状态、追踪异常进程,并结合日志分析定位攻击源。这些方法无需依赖复

weixin_33978578的博客 314

linux运维常用命令

Linux运维常用命令   tingting  2016-12-17  5566 查看  0评论 公开 原文 举报 取精 添加收藏    自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1、查看有多少个IP访问: [plai

qq_36090419的博客 325

Linux下apache日志分析与状态查看方法

假设apache日志格式为: 118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] “GET /Public/Css/index.css HTTP/1.1″ 304 – “http://www.a.cn/common/index.php” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GT

jlds123的专栏 8323

第二章日志分析-apache日志分析

要求我们查找攻击者的指纹,我们可以根据 IP 在日志中进行反查,所以我们在。当天指的是2023.8.3。

2403_85472272的博客 423

服务器日志排查与高效分析方法指南

服务器日志是系统运行状态的重要记录,包含访问日志、错误日志和系统日志等关键信息。通过分析日志,可以快速定位和解决90%的服务异常问题。日志分析的核心技术包括grep筛选、awk统计和sed处理等命令行工具,以及ELK Stack等日志收集系统。在实际应用中,合理配置日志级别、路径和轮转策略至关重要,特别是在生产环境中。本文提供了Linux、Windows和云服务商的日志路径速查表,以及五种高效查看日志的方法,帮助开发人员和运维工程师快速掌握日志排查技巧。

weixin_34384557的博客 491
上一篇: Mysql 主从复制+数据恢复
下一篇: Linux Sed 命令
Hey_Linux
博客等级 码龄12年 0粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值