for命令不跳过空白行_Java程序员必备:查看日志常用的linux命令

iwenhou
趁周末,复习一下鸟哥的linux私房菜,看了文件内容查阅部分,做个笔记,哈哈,希望对你有帮助哦。

cat

cat : 由第一行开始显示文件所有内容

参数说明

cat [-AbEnTv]

参数:

-A : 相当于-vET 的整合参数,可列出一些特殊字符,而不是空白而已	
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号	
-E :将结尾的断行字符$显示出来	
-n : 打印行号,连同空白行也会有行号,与-b的参数不同

范例demo

范例一:

查看cattest.txt的内容
[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# cat cattest.txt	
test cat command	
jaywei	
#####

范例二:

查看cattest.txt的内容,并且显示行号
[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# cat -n cattest.txt	1    test cat command	2    jaywei	3    	4    #####

适用场景

  • cat是Concatenate的缩写,主要功能是将一个文件的内容连续显示在屏幕上面。
  • 一般文件内容行数较少时,如40行之内,适合用cat。
  • 如果是一般的DOS文件时,就需要特别留意一些奇怪的符号,例如断行与[Tab]等,要显示出来,就得加入-a之类的参数了。

tac

tac : 从最后一行开始显示,可以看出tac是cat的倒写形式

范例demo

[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# tac  cattest.txt	#####	jaywei	test cat command

适用场景

  • tac 的功能跟cat相反,cat是由“第一行到最后一行连续显示在屏幕上”,而tac则是“由最后一行到第一行反向在屏幕上显示出来”。

head

head :显示文件开头的内容,以行为单位,默认文件开头的前10行

参数说明

head [OPTION]... FILE...	-n<行数> 显示的行数	-q 隐藏文件名	-v 显示文件名	-c<字节> 显示字节数

范例demo

显示 sentinel.conf 文件前12行.
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# head -n 12  sentinel.conf	
# Example sentinel.conf	
# *** IMPORTANT ***	
#	
# By default Sentinel will not be reachable from interfaces different than	
# localhost, either use the 'bind' directive to bind to a list of network	
# interfaces, or disable protected mode with "protected-mode no" by	
# adding it to this configuration file.	
#	
# Before doing that MAKE SURE the instance is protected from the outside	
# world via firewalling or other means.	
#

tail

查看文件的内容,也是以行为单位,默认10行,从尾往前看。监听Java动态日志时,一般跟 -f参数配合使用。

参数说明

tail [参数] [文件]  	
-f 循环读取	
-q 不显示处理信息	
-v 显示详细的处理信息	
-c<数目> 显示的字节数	
-n<行数> 显示文件的尾部 n 行内容

范例一

显示sentinel.conf文件的最后12行
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -n 12  sentinel.conf	
# <role> is either "leader" or "observer"	
#	
# The arguments from-ip, from-port, to-ip, to-port are used to communicate	
# the old address of the master and the new address of the elected slave	
# (now a master).	
#	
# This script should be resistant to multiple invocations.	
#	
# Example:	
#	
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh

范例二

持续检测sentinel.conf的内容
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -f sentinel.conf	
# The arguments from-ip, from-port, to-ip, to-port are used to communicate	
# the old address of the master and the new address of the elected slave	
# (now a master).	
#	
# This script should be resistant to multiple invocations.	
#	
# Example:	
#	
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh	
<==要等到输入[ctrl]-c 之后才离开tail 这个命令的检测

范例三

持续检测sentinel.conf的内容,并匹配redis关键字。匹配关键字,一般用 grep , tail 一般也会跟 grep搭档使用。
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -f sentinel.conf | grep redis	
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh	
<==要等到输入[ctrl]-c 之后才离开tail 这个命令的检测

适用场景

  • tial-f 被用来动态监听Java日志,开发联调经常使用到,它一般跟 grep 一起搭档使用。

more

more :一页一页地显示文件内容

参数说明

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数:

-num :一次显示的行数

-p :不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

-c : 跟 -p 相似,不同的是先显示内容再清除其他旧资料

-s : 当遇到有连续两行以上的空白行,就代换为一行的空白行

+/pattern : 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

-u :不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

+num : 从第 num 行开始显示

fileNames :欲显示内容的文档,可为复数个数

常用操作命令

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more sentinel.conf	
# Example sentinel.conf	
...(中间省略) ...	
# Note that whatever is the ODOWN quorum, a Sentinel will require to	
# be elected by the majority of the known Sentinels in order to	
# start a failover, so no failover can be performed in minority.	
#	
# Slaves are auto-discovered, so you don't need to specify slaves in	
--More--(29%)
仔细看上面的范例,如果more后面接的文件内容行数大于屏幕输出的行数时,就会出现类似上面的图示。重点在最后一行,最后一行会显示出目前显示的百分比,而且还可以在最后一行输入一些有用的命令。在more这个程序的运行过程中,你可以使用一些常用的操作命令:
  • 空格键 :代表往下翻一页
  • Enter : 代表往下滚动一行
  • /字符串 :代表在这个显示的内容当中,向下查询“字符串” 这个关键字
  • :f :立刻显示出文件名以及目前显示的行数
  • q :代表立刻离开more,不再显示该文件内容
  • b或[Ctrl]-b :代表往回翻页,不过这操作只对文件有用,对管道无用。

最常用的是:按 q离开,按 空格键往下翻页,按 b往回翻页,以及 /字符串搜索功能,请看以下demo

范例demo

范例一

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10 sentinel.conf	
# Example sentinel.conf	
...(此处省略)...	
# Before doing that MAKE SURE the instance is protected from the outside	
--More--(4%)

分页查看sentinel.conf文件,一页展示10行。按下 空格键,可以往下翻页,

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10 sentinel.conf	
# Example sentinel.conf	
...(此处省略)...	
# protected-mode no	
# port <sentinel-port>	
# The port that this sentinel instance will run on	
--More--(7%)

按下 b,可以回退到上一页

# *** IMPORTANT ***	
...(此处省略)...	
# Before doing that MAKE SURE the instance is protected from the outside	
# world via firewalling or other means.	
--More--(5%)

按下 q,可以立刻离开more

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# 

范例二

如果想在sentinel.conf文件中,搜寻sentinel关键字,可以这样做
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10  sentinel.conf	
# Example sentinel.conf	
...(此处省略)...	
# Before doing that MAKE SURE the instance is protected from the outside	
/sentinel  输入/之后,光标就会自动跑到最下面一行等待输入

如同上面的说明,输入了/之后,光标就会跑到最下面一行,并且等待你的输入,你输入了字符串并按下[Enter]之后,more就会开始向下查询该字符串,而重复查询同一个字符串,可以直接按下n即可。最后不想看了,就按下q离开more。

# Before doing that MAKE SURE the instance is protected from the outside	
/sentinel	
...skipping	
# protected-mode no	
# port <sentinel-port>	
# The port that this sentinel instance will run on	
port 26379	
# sentinel announce-ip <ip>	
# sentinel announce-port <port>	
#	
/	
...skipping	
# Example:	
#	
# sentinel announce-ip 1.2.3.4	
# dir <working-directory>	
# Every long running process should have a well-defined working directory.	
# For Redis Sentinel to chdir to /tmp at startup is the simplest thing	
# for the process to don't interfere with administrative tasks such as	
# unmounting filesystems.	
--More--(23%)

适用场景

  • more适合日志比较大的文件查看,可以一页一页查看,不会让前面的数据看不到。

less

less 与 more 类似,但less的用法比起more又更加有弹性。

  • 若使用了less时,就可以使用下、下等按键的功能来往前往后翻看文件。
  • 除此之外,在less里头可以拥有更多的查询功能。不止可以向下查询,也可以向上查询。

常用操作命令

  • 空格键:往下翻动一页
  • [pagedown]:向下翻动一页
  • [pageup]:向上翻动一页
  • Enter : 代表往下滚动一行
  • y :向前滚动一行
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • q: 离开less这个程序
  • b 向后翻一页

范例demo

范例一

在sentinel.conf文件中,搜寻sentinel关键字,如下

less sentinel.conf

输入反斜杠 /,输入关键字 sentinel,回车

e1eec6aaf4ddd4165b1c695d6b496acb.png

重复前一个搜索,可以按n,反向重复前一个搜索,按N

范例二

Linux 动态查看日志文件,一般用tail -f ,但是我们也可以用less+ F 实现。
less + file-name + 命令 F =  tail -f + file-name

我们经常用tail -f +grep 关键字,动态查找报错的日志,也可以用less实现。先输入shirft+g,到达文件结尾

94aa48131d3599cf3c54dbf885d90b83.png

然后输入 ,输入搜索关键字,如 sentinel,回车,然后按 n键往上搜索,效果是不是也不错?尤其日志文件动态刷新太快的时候,奸笑脸。

85350c60dd89d09507a8e7ed2d626e14.png

适用场景

less适合日志比较大的文件查看,可以一页一页查看,并且比more更灵活,也可以动态查看日志,我一般用它查看Java日志。

小结

本文总结了查看日志的几个linux命令,cat、tac、head、tail、more、less,其中less真的很适合日常开发日志查看,非常推荐less。

原文链接:https://blog.csdn.net/weiwenhou/article/details/102774286

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

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

相关文章

Java并发编程笔记之Semaphore信号量源码分析

JUC 中 Semaphore 的使用与原理分析&#xff0c;Semaphore 也是 Java 中的一个同步器&#xff0c;与 CountDownLatch 和 CycleBarrier 不同在于它内部的计数器是递增的&#xff0c;那么&#xff0c;Semaphore 的内部实现是怎样的呢&#xff1f; Semaphore 信号量也是Java 中一个…

设计模式--命令模式

实验16&#xff1a;命令模式 本次实验属于模仿型实验&#xff0c;通过本次实验学生将掌握以下内容&#xff1a; 1、理解命令模式的动机&#xff0c;掌握该模式的结构&#xff1b; 2、能够利用命令模式解决实际问题。 [实验任务]&#xff1a;多次撤销和重复的命令模式 某系…

wxpython界面切换_Python图形界面开发—wxPython库的布局管理及页面切换

前言 wxPython是基于Python的跨平台GUI扩展库&#xff0c;对wxWidgets&#xff08; C 编写&#xff09;封装实现。GUI程序的开发中界面布局是很重要的一个部分&#xff0c;合理的页面布局能够给予用户良好使用体验。虽然在GUI的控件和窗口布局上可以使用坐标&#xff0c;但更多…

javah找不到类文件

这样即可&#xff0c;在src目录下寻找类&#xff0c;类要写全&#xff0c;即包名.类名 转载于:https://www.cnblogs.com/Java-Starter/p/9283830.html

python卸载opencv_20.Windows python,opencv的安装与卸载

本机Windows7系统&#xff0c;之前安装了Python3.5的版本&#xff0c;后来因为要装opencv&#xff0c;而opencv只支持Python2.7的版本&#xff0c;所以需要将Python3.5进行卸载。在控制面板-卸载程序&#xff0c;将Python卸载后删除其注册表等残留文件 下载Python2.7&#xff0…

LinuX 硬盘分区细节详谈 【 整理至 LinuxSir BY FreeXploiT 】

系统引导过程及硬盘分区结构论述作者&#xff1a; zhy2111314来自&#xff1a; LinuxSir.Org ouc.edu.cn摘要&#xff1a; 本文是理论性文档&#xff0c;主要讲述系统引导过程以及硬盘的物理结构&#xff1b;正文一、系统引导过程简介系统引导过程主要由以下几个步骤组成(以硬盘…

破解WEP密钥过程全解(上)

WLAN技术出现之后&#xff0c;“安全”就成为始终伴随在“无线”这个词身边的影子&#xff0c;针对无线网络技术中涉及的安全认证加密协议的攻击与破解就层出不穷。现在&#xff0c;因特网上可能有数以百计&#xff0c;甚至以千计的文章介绍关于怎么攻击与破解WEP&#xff0c;但…

bfc是什么_一次弄懂css的BFC

前言BFC在css的学习中是重要的但不易理解的概念&#xff0c;BFC也牵扯了很多其他问题&#xff0c;如浮动、定位、盒模型等&#xff0c;因此弄懂BFC是很有必要的。本文对BFC进行总结&#xff0c;希望对你有所帮助。BFC是什么&#xff1f;先看看MDN的定义&#xff1a;块格式化上下…

ES6模块的import和export用法总结

ES6之前已经出现了js模块加载的方案&#xff0c;最主要的是CommonJS和AMD规范。commonjs主要应用于服务器&#xff0c;实现同步加载&#xff0c;如nodejs。AMD规范应用于浏览器&#xff0c;如requirejs&#xff0c;为异步加载。同时还有CMD规范&#xff0c;为同步加载方案如sea…

windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】

理解Windows中的路由表和默认网关 每一个Windows系统中都具有IP路由表&#xff0c;它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息。路由表是TCP/IP通信的基础&#xff0c;本地计算机上的任何TCP/IP通信都受到路由表的控制。 理解路由表 你可以运行 route …

隐藏该监视器无法显示模式_【春星开讲 | 9137】达芬奇4K调色监看的好伙伴——明基PD2720U专业显示器...

近几年来&#xff0c;4K制作成为影视行业的一个热词&#xff0c;从标清到高清&#xff0c;从高清到超高清&#xff0c;从2K到4K&#xff0c;影视前期拍摄设备和后期制作流程都在发生着剧烈的变革。单就我所从事的影视调色行业而言&#xff0c;4K调色也是很多调色师梦寐以求但也…

了解WWW服务与HTTP协议 【入门与应用】

轻松认识HTTP协议的概念和工作原理 当我们想浏览一个网站的时候&#xff0c;只要在浏览器的地址栏里输入网站的地址就可以了&#xff0c;例如&#xff1a;www.microsoft.com&#xff0c;但是在浏览器的地址栏里面出现的却是&#xff1a;http://www.microsoft.com&#xff0c;你…

flex 下对齐_flex布局

基本概念在父元素上启用display:flex 开启弹性布局&#xff0c;子元素叫flex item&#xff0c;父元素叫flex container父元素的属性flex-dirention属性有4个值.box { flex-direction: row | row-reverse | column | column-reverse; }row&#xff08;默认值&#xff09;&#x…

BOOT INI专辑

Windows 可能在 Boot.ini 文件中使用 Signature() 语法概要在安装 Windows 之后&#xff0c;您可能注意到在 Boot.ini 文件中高级 RISC 计算 (ARC) 路径项以"signature()"语法开头。例如&#xff1a; signature(8b467c12)disk(1)rdisk(0)partition(2)/winnt"des…

指针强化

铁律1&#xff1a;指针是一种数据类型 1&#xff09;指针也是一种变量&#xff0c;占有内存空间&#xff0c;用来保存内存地址 测试指针变量占有内存空间大小 int a 10;char *p1 100; //分配4个字节的内存char ****p2 100;int *p3 NULL;p3 &a;*p3 20; //间接的修改a…

windows游戏编程_苹果的Mac和微软的Windows该如何选择?

WORK HARD FOR A BETTER LIFEMac&Windows如何选择&#xff1f;///教你认识Mac与Windows的区别正确选择最适合自己的电脑苹果Mac系列电脑一直属于小众化产品&#xff0c;使用的人较少。有些朋友给使用Macbook系列电脑的朋友打上“装X”、“华而不实”等标签。而使用MacBook的…

子网掩码相关教学 子网掩码快速算法 沉睡不醒blog

如果你希望每个子网中只有5个ip地址可以给机器用&#xff0c;那么你就最少需要准备给每个子网7个ip地址&#xff0c;因为需要加上两头的不可用的网络和广播ip&#xff0c;所以你需要选比7多的最近的那位&#xff0c;也就是8&#xff0c;就是说选每个子网8个ip。好&#xff0c;到…

Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一、介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型&#xff0c;我相信学习过计算机网络的都比较熟悉&#xff0c;如下图所示是一个OSI七层模型、TCP/IP…

代码 直接调节显示设备亮度_LED显示屏参数系列,亮度是什么,如何调节,如何选择...

亮度概念&#xff1a;亮度&#xff1a;在给定方向上&#xff0c; 每单位面积上的发光强度。亮度的单位是cd/m2&#xff0c;读作Candela per square metre&#xff08;坎德拉每平方米&#xff09;。有时候LED显示屏厂家会标示亮度单位为nit&#xff08;尼特&#xff09;&#xf…

r语言error in match.fun(fun) :_Go语言200行写区块链源代码分析

Github上有一个Repo&#xff0c;是一个使用Go语言(golang)&#xff0c;不到200行代码写的区块链源代码&#xff0c;准确的说是174行。原作者起了个名字是 Code your own blockchain in less than 200 lines of Go! 而且作者也为此写了一篇文章。https://medium.com/mycoralheal…