今天在服务器上想查看下日志文件 ,发现充斥着大量分割后的日志文件,同时每个日志文件体积都非常大;同时如果我使用vim / cat 命令会加载当前全量的文件到内存,这样会非常卡。可以采用以下方法。
如果我有查询条件
cat
cat /usr/log/1.txt | grep "我是cxk"
tail
tail -n 1000 /usr/log/1.txt | grep "我是cxk"
-n
指的是末尾1000行数据
less
less -m /usr/log/1.txt | grep "我是cxk"
-e
:当文件结束时,自动退出less
。-f
:强制打开文件,即使它不可读。-m
:显示百分比进度。-M
:显示更多关于文件的信息,如当前行号、百分比进度等。-X
:不使用alternate screen
。
在less
命令界面中,您可以使用以下命令来导航和搜索文本:空格键
:向前滚动一屏。f
:向前滚动一屏。b
:向后滚动一屏。d
:向前滚动半屏。u
:向后滚动半屏。j
或下箭头
:向下移动一行。k
或上箭头
:向上移动一行。g
:跳转到文件开头。G
:跳转到文件末尾。p
:跳转到上一个文件。n
:跳转到下一个文件。/pattern
:向前搜索指定的正则表达式模式。?pattern
:向后搜索指定的正则表达式模式。n
:在搜索结果中向前移动到下一个匹配项。N
:在搜索结果中向后移动到上一个匹配项。&pattern
:显示与指定正则表达式模式匹配的所有行。v
:在当前行启动vi
编辑器。
more
more /usr/log/1.txt | grep "我是cxk"
z
:显示下一屏文本。d
或ctrl-D
:向下滚动k行(默认为当前滚动大小,最初为11)。q
或Q
或:退出
more`命令。s
:向前跳过k行文本(默认为1)。f
:向前跳过k屏文本(默认为1)。b
或ctrl-B
:向后跳过k屏文本(默认为1)。'
:跳转到上次搜索开始的位置。=
:显示当前行号。/<regular expression>
:搜索第k个正则表达式的出现(默认为1)。n
:搜索上次正则表达式的第k个出现(默认为1)。!<cmd>
或:!<cmd>
:在子shell中执行<cmd>
。v
:在当前行启动/usr/bin/vi
。ctrl-L
:重绘屏幕。:n
:转到第k个下一个文件(默认为1)。:p
:转到第k个上一个文件(默认为1)。:f
:显示当前文件名和行号。.
:重复上一个命令。