很多人都有一个疑惑,为什么面试都喜欢问原理,问源码.但是实际工作根本用不上,也就是大家常说的,面试造火箭,进去拧螺丝.我身边也有不少朋友问过我,我给他们的回答是.如果不看源码,不懂原理,出了问题你怎么解决...他们给我的答复基本都是两个字,"搜索" 也确实,工作中大部分问题通过复制错误信息搜索都能解决,加上现在框架越来越多,拼积木式的编程方式加上搜索引擎,让越来越多人产生了开发是件很容易的事的错觉.我也一直想举一个搜索几乎搜不到,要看源码才能弄懂其中缘由的例子...正巧这件事发生在了去年8月份,我一个很好的朋友问了我这么个问题,他说 为什么我传的是空字符串,但是用Mybatis的if标签判断该空字符串 == 0 竟然是成立的 从我们的认知上来说,一个 空字符串...这里我并不想骗大家,遇到这种问题,坦白说第一反应当然不是看源码啦,当然是打开浏览器搜索一下.我们搜索的方向主要有两个,一个是mybatis if标签的判断原理,一个是为什么mybatis if标签空字符串和...同时我也认识到,机会来了,终于找到一个为什么要看源码的比较合适例子了 分析源码 由于链路比较长.这里就不把debug过程展示了(对Mybatis执行流程不熟悉的,可以看看我之前的别怕看源码,一张图搞定Mybatis
前段时间看《码出高效》一书,里面有一句话让我印象深刻 “先让自己骑到老虎身上” ,倒逼输出,玩转了,当我们回看,看山还是山,看水还是水 三个阶段的闭环 看到这里,作为程序员,我们要看源码吗?
前言如果你是刚开始学习Linux的小白同学,相信你已经体会到与学习一门编程语言相比,学习Linux系统的门槛相对较高,你会遇到一些困惑,比如:为什么要学习Linux,学成之后我们可以在哪些领域大显身手?...一、为什么学习Linux系统我们为什么要学习Linux系统?最直接的原因就是Linux应用十分广泛,在实际工作的诸多方面都需要用到它。...二、Linux系统的应用领域目前各种Linux发行版应用于从嵌入式设备到超级计算机等很多场合,尤其在IT服务器领域,Linux已经确立了主导地位,如下图所示:服务器一般采用LAMP(Linux+Apache...此外,思科公司在网络防火墙和路由器中使用的是定制的Linux,阿里云也开发了一套基于Linux的操作系统YunOS。3.桌面Linux的应用近几年,Linux桌面操作系统在国内市场发展非常迅猛。...如中标麒麟Linux、红旗Linux和深度Linux等系统软件的厂商都推出了Linux桌面操作系统,而且目前已经在企业、OEM(原始设备制造商)和政府等领域广泛应用。
前言 很多人都有一个疑惑,为什么面试都喜欢问原理,问源码.但是实际工作根本用不上,也就是大家常说的,面试造火箭,进去拧螺丝.我身边也有不少朋友问过我,我给他们的回答是.如果不看源码,不懂原理,出了问题你怎么解决...他们给我的答复基本都是两个字,"搜索" 也确实,工作中大部分问题通过复制错误信息搜索都能解决,加上现在框架越来越多,拼积木式的编程方式加上搜索引擎,让越来越多人产生了开发是件很容易的事的错觉.我也一直想举一个搜索几乎搜不到,要看源码才能弄懂其中缘由的例子...正巧这件事发生在了去年8月份,我一个很好的朋友问了我这么个问题,他说 为什么我传的是空字符串,但是用Mybatis的if标签判断该空字符串 == 0 竟然是成立的 从我们的认知上来说,一个 空字符串 和...这里我并不想骗大家,遇到这种问题,坦白说第一反应当然不是看源码啦,当然是打开浏览器搜索一下.我们搜索的方向主要有两个,一个是mybatis if标签的判断原理,一个是为什么mybatis if标签空字符串和...同时我也认识到,机会来了,终于找到一个为什么要看源码的比较合适例子了 分析源码 由于链路比较长.这里就不把debug过程展示了(对Mybatis执行流程不熟悉的,可以看看我之前的别怕看源码,一张图搞定Mybatis
由于项目的需求,最近花了较多的时间来看开源项目的代码,在本文中,简单总结一下对为什么要看源码、如何看源码这两个问题的思考。 看源码的意义 看源码只是一种方法、手段,而不是目的。...理解代码组织,文件名,类名 当需要看代码的时候,不要找到一个文件就开始,先看看代码组织,粗略看看文件名、类名,基本就能猜测到每一部分。
只不过对于空白行不编号 -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 –show-nonprinting 2、more命令: 以百分比的形式查看日志...注意: 最后一条命令非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。
其实之所以有这样的疑问,主要是因为平时遇到的问题都能通过搜索引擎解决.然而,我近两年的做的都是基础平台相关的工作,还是经常遇到一些必须要看源码才能解决的问题.所以我觉得光把自己看源码的经验分享出来还不够...本篇是为什么要看源码系列的第三篇.先交代一下背景 由于公司做的是海外业务,为了方便海外同事办公.我们把公司的开发服务器(以下简称sit环境)迁移到了海外.但是这样就产生了一个问题.由于服务器在海外,运维部表示由于政策原因...Dubbo的原理我这里就不想再多做解释了,之前已经从源码角度各种剖析了.这里给之前没看过我Dubbo源码解析的朋友简单科普一下(真的只是简单讲两句) 两个Dubbo服务之间的调用,绝大多数情况是网络调用(为什么是绝大多数...我们通过linux命令(uname -n)查看机器的hostName,比如 然后编辑host文件 1vi /etc/hosts 比如设置 1192.168.1.102 testdemo 那么我们启动dubbo
linux查看日志文件内容命令tail、cat、tac、head、echo tail -f test.log 你会看到屏幕不断有内容被打印出来....这时候中断第一个进程Ctrl-C, ————————— linux 如何显示一个文件的某几行(中间几行) 从第3000行开始,显示1000行。...—————————————— 在Linux中echo命令用来在标准输出上显示一段字符,比如: echo “the echo command test!”
我听经济学家经常说,因子X的N个月滞后是y的一个指标,为什么N个月滞后?1 - (N-1)的滞后还没有解决。...为什么某些因素的第n个延迟是一个预测因素?为什么以前的收益会影响未来的收益?你为什么只考虑最近的N次收益?为什么要预测一个(每天、每小时、每分钟)的周期?你为什么要考虑从X到Y这段时间?...为什么验证到Z? 将股票增量输入到一个递归神经网络中就可以达到减少损失的目的,但是有了解释,你也可以将这些值拟合到一个随机数生成器中。
linux存在很好的日志机制,大到系统,小到应用都可以记录日志。 为什么需要日志循环 操作系统(Windows,Unix),应用一般都会记录日志,方便使用者常看系统或应用使用情况,或者排查故障。...单纯的记录日志不加干预,日志不断累积,时间长了,磁盘空间就被占满了。 所以,在linux中,日志一般会按一定的规则进行循环,保证日志量控制在一定的范围内。...日志循环的方法 日志循环的原理一般是:在特定的时间点,或日志达到一定大小,就触发循环脚本。 循环脚本通过新增新日志,备份老日志,调度应用重新加载配置(重新写日志)达到日志循环的目的。...}` 该方法通过mv+kill的方式进行日志循环,因为linux中,日志打开底层原理是通过inode信息寻址找到对应的block进行内容读取,mv操作不改变文件的inode值。...2. logrotate循环 logrotate是一个日志循环的工具,linux内置的syslog也是使用它进行日志循环。
# Linux 日志管理 # 基本介绍 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。...原理示意图 查询Linux中的rsysloged服务是否启动 ps aux | grep "rsyslog" / grep -v "grep" 查询rsyslogd服务的自启动状态 systemctl...sshd服务相关事件),该文件会接收到信息并保存.给小伙伴演示重启,登录的情况,看看是否有日志保存 # 日志轮替 # 基本介绍 日志轮替就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存的范围之后...这样日志文件名不会重叠,也就不需要日志文件的改名,只需要指定保存日志个数,删除多余的日志文件即可。 如果配置文件中没有“dateext”参数,日志文件就需要进行改名了。...missingok 如果日志不存在,则忽略该日志的警告信息 notifempty 如果日志为空文件,则不进行日志轮替 minsize 大小 日志轮替的最小值。
为了让 管理者可以随时监控服务所产生的信息,Linux 提供了一个日志服务,该服务可以收集(Collect)任何服务传递过来的信息,储存成为记录文件(Log File) 、或直接传送给某些用户,甚至也可以传送到其他计算机的系统日志服务...日志的作用 系统方面的问题 linux系统长时间运行,可能会出现一些软件,硬件方面的问题,这些问题都会记录到日志文件中,我们可以通过查看相应的日志文件,找出问题所在 网络服务的问题 网络服务在运行过程中产生的信息都会记录到日志文件中...所以linux系统提供了一个日志切割工具,这个工具就是logrotate,用户可以用过这个工具对日志文件进行切割,系统也利用这个工具配合计划任务服务,定期的对系统日志进行切割。...现在linux系统采用systemd来管理系统服务,而systemd又是第一个启动的服务,所以现在我们通过一个systemd自带的,名字叫systemd-journald的服务来协助记录日志信息。...虽然我们有相关的工具来查看日志信息,但是如果信息量过大的话查看起来也是比较费时的,所以linux系统给我们提供了一个日志分析工具,这个工具叫logwatch,它会每天分析日志信息,并将信息通过邮件的形式发送给
linux 软件 syslog syslog-ng(next generation) 日志系统:syslog 负责统一记录日志 syslog服务: syslogd:系统,非内核产生的信息。...klogd:内核,专门负责记录内核产生的日志信息。...:日志切割 messge -->message1--->message2 日志轮转条件 /var/log/messages:系统标准错误日志信息。.../var/log/secure:系统认证,安全日志。...chkconfig --list rsyslog servcie rsyslog status 配置文件 信息的详细程度:日志级别 定义不同日志信息 子系统:facility:设施 动作:action
22 192.168.1.88:53505 ESTABLISHED 5923/sshd: root@pts (3)历史ssh 隐匿登录行为通过分析/var/log/secure 日志...(有的系统是/var/log/auth.log) #通过分析/var/log/secure 日志有的系统是/var/log/auth.log 从 Accepted publickey for root
我们用的常见的思路 1.直接删除日志文件 2.删除我们自己 ip 的日志内容 3.rm -rf / 如果直接删除文件,那么管理员也会从别的地方下手.或者恢复文件之类的....当然.我还是建议使用 python 完成这项工作..当日志超过10w 或者100w 级以上的数量 . bash 的执行速度就会显得极其鸡肋.
基本介绍日志轮替就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存的范围之后,就会进行删除2....这样日志文件名不会重叠,也就不需要日志文件的改名, 只需要指定保存日志个数,删除多余的日志文件即可。3) 如果配置文件中没有“dateext”参数,日志文件就需要进行改名了。...当第一次进行日志轮替时,当前的“secure”日志会自动改名为“secure.1”,然后新建“secure”日志, 用来保存新的日志。...missingok 如果日志不存在,则忽略该日志的警告信息notifempty 如果日志为空文件,则不进行日志轮替minsize 大小 日志轮替的最小值。...日志轮替机制原理日志轮替之所以可以在指定的时间备份日志,是依赖系统定时任务。
192.168.1.88:53505 ESTABLISHED 5923/sshd: [email protected] (3)历史ssh 隐匿登录行为通过分析/var/log/secure 日志...(有的系统是/var/log/auth.log) #通过分析/var/log/secure 日志有的系统是/var/log/auth.log 从 Accepted publickey for root
Linux 常见的登录日志文件 登录文件可以帮助我们了解很多系统重要的事件,包括登入者的部分信息,因此登录文件的权限通常是设定为仅有 root 能够读取而已。...CentOS 7.x 使用 systemd 提供的 journalctl 日志管理 CentOS 7 除了保有既有的 rsyslog.service 之外,其实最上游还使用了 systemd 自己的登录文件日志管理功能喔...18.2 rsyslog.service:记录登录文件的服务 上一小节提到说 Linux 的登录档主要是由 rsyslog.service 在负责,那么你的 Linux 是否有启动 rsyslog 呢?...我们将上面的数据简单的分为三部分来说明: 服务名称 rsyslogd 主要还是透过 Linux 核心提供的 syslog 相关规范来设定数据的分类的,Linux 的 syslog 本身有规范一些服务讯息...要看文件容量。 #由于仅保留一个登录档而已,不满意的话可以将他改成 rotate 5 吧!
joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/291 常用命令 find、grep 、egrep、awk、sed Linux...中常见日志以及位置 /var/log/cron 记录了系统定时任务相关的日志 /var/log/auth.log 记录验证和授权方面的信息 /var/log/secure 同上,只是系统不同 /var...log/auth.log、/var/log/secure记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中...IP有哪些 grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more //登录成功的日志
因为懒,很多时候排查问题起来太依赖可视化工具了,就导致很多Linux命令忘记了。...查找文件 find find命令:http://linux.zanglikun.com/c/find.html 通配符查找 可以搭配 grep 快速找到你需要的日志 比如 find / -name "*...name "*.log" 查找指定目录下的 某前缀下的文件 find /home/myoutput/heartzbeat -name "*.log" 查找文件中指定信息 grep 详细教程:http://linux.zanglikun.com.../c/grep.html 可快速查看 某目录或某具体文件 里是否包含 某个文本 信息 grep -r "error" /var/log 查看并搜索日志 less less命令:http://linux.zanglikun.com...字符串:向上搜索"字符串"的功能 n:继续向后搜索 N:向前搜索 b: 向后翻一页 实时查看日志 tail tail命令:http://linux.zanglikun.com/c/tail.html tail
领取专属 10元无门槛券
手把手带您无忧上云