【Linux基础】less命令查看日志
Less 命令简介
less 命令源于 more 命令,但是增加了反向导航和查找等功能。最重要的是,与 more 和 cat 不同,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]: 向上翻动一页
高级用法
显示行号和百分比
如果你希望在less命令中显示行号,只需使用"-N"选项:
less -N 文件名
示例:使用less命令打开文件时,加上"-N"选项,将显示行号。
要显示当前浏览位置在文件中的百分比,只需使用"-m"选项:
less -m 文件名
示例:使用less命令打开文件时,加上"-m"选项,将显示当前浏览位置的百分比。
快速跳转到指定行
如果你知道文件的某一行号,可以直接跳转到该行。只需按下"g"键并输入行号,然后按下Enter键即可。
示例:在打开的文件中,按下"g"键后输入行号"10",然后按下Enter键即可跳转到第10行。
定位并标记文本
使用less命令,你可以通过定位和标记文本来快速跳转和查找内容。只需按下"m"键,然后输入一个标记字母,再次按下"'"键加上该标记字母,即可跳转到该标记处。
示例:在浏览文件时,按下"m"键后输入标记字母"a",然后再按下"'“键加上标记字母”“a”,即可跳转到该标记处。
编辑文件时使用less命令
有时候,你可能需要在使用less命令浏览文件的同时对文件进行编辑。你可以按下"v"键来编辑文件,less命令将会调用你配置的文本编辑器来打开文件。
示例:在打开的文件中,按下"v"键即可进入编辑模式。
使用过滤器来查看特定内容
使用less命令时,你可以使用过滤器来查看特定内容。只需按下"&"键并输入过滤条件,然后按下Enter键即可。
示例:在打开的文件中,按下"&“键后输入过滤条件"keyword”,然后按下Enter键即可显示符合条件的内容。
自定义less命令
修改默认的less命令行为
通过修改less命令的配置文件,你可以自定义less命令的默认行为。配置文件通常位于~/.lesskey。
示例:使用文本编辑器打开~/.lesskey文件,修改其中的配置项来定制less命令的行为。
设置环境变量来自定义less命令
你还可以通过设置环境变量来自定义less命令的行为。例如,你可以使用LESS环境变量来设置默认的选项和标志。
export LESS="-i -R"
示例:在终端中运行上述命令,将会设置LESS环境变量为"-i -R",以更改less命令的默认行为。
使用别名简化less命令的使用
如果你发现自己经常使用某些特定的选项和标志,你可以通过创建别名来简化less命令的使用。只需在/.bashrc或/.bash_profile中添加别名定义即可。
示例:在~/.bashrc文件中添加别名定义,如下所示:
alias l="less -N"
这样,你只需在终端中运行"l 文件名",就相当于运行"less -N 文件名"。
其他相关命令和技巧
使用grep命令结合less更高效地搜索
如果你想在文件中进行更高效的搜索操作,可以结合使用grep命令和less命令。例如:
grep 搜索关键词 文件名 | less
示例:在终端中运行上述命令,将会在文件中搜索符合条件的内容,并使用less命令来进行浏览。
将less输出保存到文件
有时候,你可能需要将less命令的输出保存到文件中。你可以使用重定向操作符">"将输出写入文件。
less 文件名 > 输出文件名
示例:在终端中运行上述命令,将会将less命令的输出保存到指定的输出文件中。
使用less命令查看压缩文件
尽管less命令主要用于查看文本文件,但它也可以用来查看压缩文件。只需使用"-f"选项来强制less命令查看非文本文件。
less -f 压缩文件名
示例:在终端中运行上述命令,将会使用less命令查看指定的压缩文件。
less命令的其他实用技巧和选项
less命令还有许多其他实用的技巧和选项,你可以通过查看less命令的帮助手册来了解更多内容。
示例:在终端中运行"man less"命令,查看less命令的详细使用说明。
附加备注
全屏导航
ctrl + F
- 向前移动一屏
ctrl + B
- 向后移动一屏
ctrl + D
- 向前移动半屏
ctrl + U
- 向后移动半屏
单行导航
j
- 下一行
k
- 上一行
其它导航
G
- 移动到最后一行
g
- 移动到第一行
q / ZZ
- 退出 less 命令
其它有用的命令
v
- 使用配置的编辑器编辑当前文件
h
- 显示 less 的帮助文档
&pattern
- 仅显示匹配模式的行,而不是整个文件
标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
ma
- 使用 a 标记文本的当前位置
'a
- 导航到标记 a 处
less命令使用文档
下面是LESS命令的摘要:
标有 * 的命令可能前面会有一个数字N。
括号内的注释表示如果给出N,行为将如何改变。
前面有插入符号的键表示Ctrl键;因此^K表示ctrl-K。
h H 显示这个帮助。
q :q Q :Q ZZ 退出。
---------------------------------------------------------------------------
移动
e ^E j ^N CR * 向前移动一行(或N行)。
y ^Y k ^K ^P * 向后移动一行(或N行)。
f ^F ^V SPACE * 向前移动一个窗口(或N行)。
b ^B ESC-v * 向后移动一个窗口(或N行)。
z * 向前移动一个窗口(并将窗口设定为N)。
w * 向后移动一个窗口(并将窗口设定为N)。
ESC-SPACE * 向前移动一个窗口,但不停在文件结束处。
d ^D * 向前移动半个窗口(并将半窗口设定为N)。
u ^U * 向后移动半个窗口(并将半窗口设定为N)。
ESC-) RightArrow * 右移半个屏幕宽度(或N个位置)。
ESC-( LeftArrow * 左移半个屏幕宽度(或N个位置)。
ESC-} ^RightArrow 移到最后一列显示。
ESC-{ ^LeftArrow 移到第一列。
F 向前永远;类似于 "tail -f"。
ESC-F 类似于F,但在找到搜索模式时停止。
r ^R ^L 重绘屏幕。
R 重绘屏幕,丢弃缓冲输入。
---------------------------------------------------
默认的“窗口”是屏幕高度。
默认的“半窗口”是屏幕高度的一半。
---------------------------------------------------------------------------
搜索
/pattern * 向前搜索(N-th)匹配行。
?pattern * 向后搜索(N-th)匹配行。
n * 重复上次搜索(N-th出现)。
N * 反向重复上次搜索。
ESC-n * 重复上次搜索,跨文件。
ESC-N * 反向重复上次搜索,跨文件。
ESC-u 撤销(切换)搜索高亮。
&pattern * 仅显示匹配行
---------------------------------------------------
搜索模式可能以一个或多个以下符号开始:
^N 或 ! 搜索不匹配的行。
^E 或 * 搜索多个文件(通过文件结束)。
^F 或 @ 在第一个文件(对于/)或最后一个文件(对于?)开始搜索。
^K 高亮匹配,但不移动(保持位置)。
^R 不使用正则表达式。
---------------------------------------------------------------------------
跳转
g < ESC-< * 跳转到文件的第一行(或第N行)。
G > ESC-> * 跳转到文件的最后一行(或第N行)。
p % * 跳转到文件的开头(或文件的N%位置)。
t * 跳转到下一个(第N个)标签。
T * 跳转到上一个(第N个)标签。
{ ( [ * 查找关闭的括号 } ) ]。
} ) ] * 查找打开的括号 { ( [。
ESC-^F <c1> <c2> * 查找关闭的括号 <c2>。
ESC-^B <c1> <c2> * 查找打开的括号 <c1>
---------------------------------------------------
每一个"查找关闭括号"命令都会向前找到与顶行中的(第N个)打开括号匹配的关闭括号。
每一个"查找打开括号"命令都会向后找到与底行中的(第N个)关闭括号匹配的打开括号。
m<字母> 使用<字母>标记当前的顶行。
M<字母> 使用<字母>标记当前的底行。
'<字母> 跳转到之前标记的位置。
'' 跳转到上一个位置。
^X^X 同 '。
ESC-M<字母> 清除一个标记。
---------------------------------------------------
标记可以是任何大写或小写的字母。
有些标记是预定义的:
^ 代表 文件的开头
$ 代表 文件的结尾
---------------------------------------------------------------------------
切换文件
:e [file] 检查一个新文件。
^X^V 同 :e。
:n * 检查命令行中的下一个(第N个)文件。
:p * 检查命令行中的上一个(第N个)文件。
:x * 检查命令行中的第一个(或第N个)文件。
:d 从命令行列表中删除当前文件。
= ^G :f 打印当前文件名。
---------------------------------------------------------------------------
其他命令
-<标志> 切换命令行选项[见下面的OPTIONS]。
--<名称> 通过名称切换命令行选项。
_<标志> 显示命令行选项的设置。
__<名称> 通过名称显示选项的设置。
+cmd 每次检查新文件时执行less cmd。
!command 使用$SHELL执行shell命令。
|Xcommand 将当前位置和标记X之间的文件通过管道传输给shell命令。
s file 将输入保存到一个文件。
v 使用$VISUAL或$EDITOR编辑当前文件。
V 打印"less"的版本号。
---------------------------------------------------------------------------
选项
大多数选项可以在命令行上更改,
或者在less中使用-或--命令来更改。
选项可以有两种形式:一个是前面带有-的单个字符,
另一个是前面带有--的名称。
-? ........ --help
显示帮助(来自命令行)。
-a ........ --search-skip-screen
搜索跳过当前屏幕。
-A ........ --SEARCH-SKIP-SCREEN
搜索开始于目标行之后。
-b [N] .... --buffers=[N]
缓冲区数量。
-B ........ --auto-buffers
不为管道自动分配缓冲区。
-c ........ --clear-screen
通过清除而不是滚动来重绘。
-d ........ --dumb
哑终端。
-D [xn.n] . --color=xn.n
设置屏幕颜色。(仅限MS-DOS)
-e -E .... --quit-at-eof --QUIT-AT-EOF
在文件结束时退出。
-f ........ --force
强制打开非常规文件。
-F ........ --quit-if-one-screen
如果整个文件适合在第一屏显示,则退出。
-g ........ --hilite-search
仅高亮显示搜索的最后一个匹配。
-G ........ --HILITE-SEARCH
不高亮显示任何搜索匹配。
-h [N] .... --max-back-scroll=[N]
向后滚动限制。
-i ........ --ignore-case
在搜索中忽略大小写,前提是搜索不包含大写字母。
-I ........ --IGNORE-CASE
在所有搜索中忽略大小写。
-j [N] .... --jump-target=[N]
目标行的屏幕位置。
-J ........ --status-column
在屏幕左边缘显示状态列。
-k [file] . --lesskey-file=[file]
使用lesskey文件。
-K ........ --quit-on-intr
响应ctrl-C退出less。
-L ........ --no-lessopen
忽略LESSOPEN环境变量。
-m -M .... --long-prompt --LONG-PROMPT
设置提示样式。
-n -N .... --line-numbers --LINE-NUMBERS
不使用行号。
-o [file] . --log-file=[file]
复制到日志文件(仅限标准输入)。
-O [file] . --LOG-FILE=[file]
复制到日志文件(无条件覆盖)。
-p [pattern] --pattern=[pattern]
从命令行开始于模式。
-P [prompt] --prompt=[prompt]
定义新提示。
-q -Q .... --quiet --QUIET --silent --SILENT
静音终端铃声。
-r -R .... --raw-control-chars --RAW-CONTROL-CHARS
输出“原始”控制字符。
-s ........ --squeeze-blank-lines
压缩多个空白行。
-S ........ --chop-long-lines
切除(截断)长行而不是包裹。
-t [tag] .. --tag=[tag]
查找标签。
-T [tagsfile] --tag-file=[tagsfile]
使用备用的标签文件。
-u -U .... --underline-special --UNDERLINE-SPECIAL
更改处理退格符的方式。
-V ........ --version
显示“less”的版本号。
-w ........ --hilite-unread
在前向屏幕后高亮显示第一条新行。
-W ........ --HILITE-UNREAD
在任何前向移动后高亮显示第一条新行。
-x [N[,...]] --tabs=[N[,...]]
设置制表符停止位。
-X ........ --no-init
不使用termcap初始化/反初始化字符串。
-y [N] .... --max-forw-scroll=[N]
前向滚动限制。
-z [N] .... --window=[N]
设置窗口大小。
-" [c[c]] . --quotes=[c[c]]
设置shell引号字符。
-~ ........ --tilde
不显示文件结束后的波浪号。
-# [N] .... --shift=[N]
水平滚动量(0 = 半个屏幕宽度)
--follow-name
如果输入文件被重命名,F命令更改文件。
--mouse
启用鼠标输入。
--no-keypad
不发送termcap键盘初始化/反初始化字符串。
--no-histdups
从命令历史中删除重复项。
--rscroll=C
设置用于标记截断行的字符。
--save-marks
在less的调用中保留标记。
--use-backslash
后续选项使用反斜杠作为转义字符。
--wheel-lines=N
鼠标滚轮每点击一次移动N行。
---------------------------------------------------------------------------
行编辑
这些键可以用来编辑在屏幕底部"命令行"上输入的文本。
右箭头 ..................... ESC-l ... 光标向右移动一个字符。
左箭头 ...................... ESC-h ... 光标向左移动一个字符。
ctrl-右箭头 ESC-右箭头 ESC-w ... 光标向右移动一个单词。
ctrl-左箭头 ESC-左箭头 ESC-b ... 光标向左移动一个单词。
HOME ........................... ESC-0 ... 光标移动到行首。
END ............................ ESC-$ ... 光标移动到行尾。
BACKSPACE ................................ 删除光标左边的字符。
DELETE ......................... ESC-x ... 删除光标下的字符。
ctrl-BACKSPACE ESC-BACKSPACE ........... 删除光标左边的单词。
ctrl-DELETE .... ESC-DELETE .... ESC-X ... 删除光标下的单词。
ctrl-U ......... ESC (仅MS-DOS) ....... 删除整行。
上箭头 ........................ ESC-k ... 检索上一条命令行。
下箭头 ...................... ESC-j ... 检索下一条命令行。
TAB ...................................... 完成文件名并循环。
SHIFT-TAB ...................... ESC-TAB 完成文件名并反向循环。
ctrl-L ................................... 完成文件名,列出全部。
进群交流、获取更多干货, 请关注微信公众号:

> > > 咨询交流、进群,请加微信,备注来意:sanshu1318 (←点击获取二维码)
> > > 学习路线+测试实用干货精选汇总:
https://www.cnblogs.com/upstudy/p/15859768.html
> > > 【自动化测试实战】python+requests+Pytest+Excel+Allure,测试都在学的热门技术:
https://www.cnblogs.com/upstudy/p/15921045.html
> > > 【热门测试技术,建议收藏备用】项目实战、简历、笔试题、面试题、职业规划:
https://www.cnblogs.com/upstudy/p/15901367.html
> > > 声明:如有侵权,请联系删除。
============================= 升职加薪 ==========================
更多干货,正在挤时间不断更新中,敬请关注+期待。