Linux服务器查看日志
cat:从第一行开始显示文本内容(适用于内容较少的)
tac:从最后一行开始显示,是 cat 的逆顺序
more:一页一页的显示文本内容(适用于内容较多的)
less:与 more 类似,但是比 more 更好的是,它可以往前翻页!
head:只看文本的前面几行
tail:只看文本的后面几行
nl:显示文本内容与行号
1、cat命令
cat命令常常用于查看内容较少的文件。很多人把这个命令叫做“小猫咪”命令,但cat其实是 concatenate(连续) 的缩写,即连续显示文本内容。
- 命令格式:cat [参数选项] [文件名]
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends: 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
例如:
cat -n /etc/profile
2、tac命令
tac命令的正好与cat命令相反,是从文件末尾开始显示。
例如:
tac -n /etc/profile
3、more命令
more命令适用于查看内容较多的文件。因为他可以实时显示百分比以提示现在已经阅读了多少内容。
- 命令格式:more [参数选项] [文件名]
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
操作命令:
- Enter 向下n行,需要定义。默认为1行
- Ctrl+F 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl+B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
例如:
一次显示10行
more -10 /etc/profile
4、less命令
less也适用于查看内容较多的文件。less比more更为灵活,因为less可以往上、往下翻页。按下键盘上PgUp键可以往上翻页,按下PgDn可以往下翻页。但是less命令不会实时显示当前阅读的百分比。
- 命令格式:less [参数选项] [文件名]
参数说明:
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时间将超出部分舍弃
- -x <数字> 将"tab"键显示为规定的数字空格
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- b 向上翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
- [pagedown]: 向下翻动一页
- [pageup]: 向上翻动一页
例如:
1.查看文件
less /etc/profile
2.ps查看进程信息并通过less分页显示
ps -ef |less
3.查看命令历史使用记录并通过less分页显示
history |less
4.浏览多个文件
less /etc/rpc /etc/profile
输入 :n 后,切换到 /etc/profile
输入 :p 后,切换到 /etc/rpc
5、head命令
head命令用于查看文件的前n行
例如: 查看/etc/profile文件的前20行
head -n 20 /etc/profile
6、tail命令
tail命令与head命令相反,tail命令用于查看文件后n行内容
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
例如:
1.查看/etc/profile文件的后20行
tail -n 20 /etc/profile
2.查看最后1000行的日志并跟踪
tailf -1000 文件名称
7、nl命令
nl命令可以显示内容的同时显示行号,与cat -n命令的作用差不多:
例如:查看/etc/profile并显示行号
nl /etc/profile
tailf、tail -f、tail -F三者区别
https://blog.csdn.net/aguoxin/article/details/103975081
linux中grep命令的用法
https://www.cnblogs.com/flyor/p/6411140.html
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
tailf -1000 demo.log | grep "/path"
组合命令:
cat -n demo | grep '/path' -C 5
查看文件目录大小
- du -ach * #这个能看到当前目录下的所有文件占用磁盘大小和总大小
- du -sh #查看当前目录总大小
- du -sh * #查看所有子目录大小
- du -sh ./* #查看当前目录下所有文件/文件夹的大小
- lsof | grep delete #如果怀疑删掉的数据还在占用磁盘空间试试这个
- kill -9 pid #结束掉进程就能释放磁盘空间了
cut命令
通过以下命名可以获取当前请求的ip top5 的数量(后续如果对日志有统计访问这些下述指令有可能用的上)
#过滤tcp请求 然后打印第5列的值 按照:分隔取第一个值进行排序后 按照临近的ip 汇总统计数量,按照数量排升序,取前5
netstat -ntu | grep tcp | awk '{print $5}' | cut -d: -f1 | sort | uniq -c |sort -nr | head -5
查看时间段日志:sed -n '/起始时间/,/结束时间/p' 日志文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix