linux相关

view

Linux下的view命令,也就是vi命令,可以实现文本的编辑,但是有个可怕的地方。如果文件很大好几十G,那么vi一下,则会把所有文件都会加载到内存中。导致服务器瘫痪。 
因此查看文件,不能用vi命令。比较好用的是less,cat,tail命令。用法如下:

 

cat 

cat [选项] [文件]... 
-A, --show-all 等价于 -vET 
-b, --number-nonblank 对非空输出行编号 
-e 等价于 -vE 
-E, --show-ends 在每行结束处显示 $ 
-n, --number 对输出的所有行编号 
-s, --squeeze-blank 不输出多行空行 
-t 与 -vT 等价 
-T, --show-tabs 将跳格字符显示为 ^I 
-u (被忽略) 
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 
--help 显示此帮助信息并离开 
cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看; 
也可以和less组合使用,利用管道,例如 cat gc.* | less 

cat -n test.log | grep "debug" 查询关键字的日志

tac

tac 是 cat 的反写,功能与 cat 命令刚好相反,cat 是顺序输出文件每一行到屏幕上,tac 是反序输出文件每一行到屏幕上。
虽然功能相反,但是命令参数却大不相同,个人感觉 tac 的实用价值非常小。
-b, --before: 在行前添加分隔符。
-r, --regex: 把分隔符当作正则表达式来解析。
-s, --separator=STRING: 使用指定字符串代替新行作为分隔符。

less

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

less 文件名 
-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新; 
-f 强制打开文件,二进制文件显示时,不提示警告; 
-i 搜索时忽略大小写;除非搜索串中包含大写字母; 
-I 搜索时忽略大小写,除非搜索串中包含小写字母; 
-m 显示读取文件的百分比; 
-M 显法读取文件的百分比、行号及总行数; 
-N 在每行前输出行号; 
-p pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile 
-s 把连续多个空白行作为一个空白行显示; 
-Q 在终端下不响铃;

进入less后,动作命令
y 向上移动一行; 
空格键 向下滚动一屏; 
b 向上滚动一屏; 
d 向下滚动半屏; 
h less的帮助; 
u 向上洋动半屏; 
w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示; 
g 跳到第一行; 
G 跳到最后一行; 
p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示; 
/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词; 
v 调用vi编辑器; 
q 退出less 
!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件; 
shift + f 启动流式模式,类似 tail -f功能

more

显示输出的内容,可以根据窗口的大小进行分页显示,还能提示文件的百分比

more命令从前向后读取文件,因此在启动时就加载整个文件。

more [参数选项] [文件]

+num 从第num行开始显示;

-num 定义屏幕大小,为num行;

+/pattern 从pattern 前两行开始显示;

-c 从顶部清屏然后显示;

-d 提示Press space to continue, 'q' to quit.(按空格键继续,按q键退出),禁用响铃功能;

-l 忽略Ctrl+l (换页)字符;

-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;

-s 把连续的多个空行显示为一行;

-u 把文件内容中的下划线去掉退出more的动作指令是q

动作命令
Enter 向下n行,需要定义,默认为1行; 
Ctrl+f 向下滚动一屏; 
空格键 向下滚动一屏; 
Ctrl+b 返回上一屏; 
= 输出当前行的行号; 
:f 输出文件名和当前行的行号; 
v 调用vi编辑器; 
! 命令 调用Shell,并执行命令; 
q 退出more当我们查看某一文件时,想调用vi来编辑它,不要忘记了v动作指令,这是比较方便的;

head

head 是显示一个文件的内容的前多少行; 
head -n 行数值 文件名;

tail

tail 是显示一个文件的内容的最后多少行; 
tail -n 行数值 文件名;
tail -f 文件名 显示文件的后十行内容并在文件内容增加后,且自动显示新增的文件内容。(常用于监控日志文件)
tail -n 200 -f 文件名, 或者 tail -200f 文件, 2条命令是等价的

 

参考使用示例:

cat -n test.log | grep "debug" 查询关键字的日志

从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000

显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000

 

posted @ 2021-08-23 09:07  无敌的小小哒  阅读(179)  评论(0编辑  收藏  举报