学会使用Linux less命令看文件编码 (linux less 编码)

在日常工作中,经常需要查看和编辑各种文本文件。但是,不同的文件可能使用不同的编码方式,例如UTF-8、GBK、GB2312等等。正确地查看和处理不同编码的文件是程序员、网站前端开发人员和大数据分析人员等必须掌握的技能之一。本文将介绍如何使用Linux less命令来查看文件的编码方式,并展示如何处理乱码问题。

一、less命令简介

less命令是Linux操作系统中一个极其常用的命令,它是“more”的改良版。less命令可以查看文件的内容,并且支持向前向后查看,并且支持搜索和行号的定位。与more命令不同的是,less命令可以在文件查看时进行编辑,而more命令不支持文件编辑。

二、查看文件编码

在Linux系统下,可以使用命令行命令file命令查看文件编码。例如,输入以下命令:

“`

file test.txt

“`

其中test.txt是需要查看的文件名,运行以上命令后,文件的编码方式将在命令行中显示。例如:

“`

test.txt: UTF-8 Unicode text

“`

file命令可以快速查看文件的编码方式,但是,如果文件非常大,displaying 该文件的编码信息可能需要很长时间。因此,我们可以使用less命令来查看文件的编码方式。

在Linux系统下,可以使用以下命令通过less命令查看文件编码方式:

“`

less -U filename

“`

此处,U标志用于显示编码格式信息。在less命令中,-U选项将提示less命令显示将显示可显示字符之前显示的非可显示字符的反斜杠。例如,如果需要查看文件test.txt的编码方式,可以输入以下命令:

“`

less -U test.txt

“`

运行以上命令后,less命令将以可读方式显示文件的内容和编码方式。例如:

“`

“This is a test file.”, UTF-8 Unicode text

“`

在less命令中,首先显示文件的内容,然后在下一行显示文件的编码方式。通过这种方法,我们可以轻松查看文件的编码方式,无论文件大小如何。

三、处理乱码问题

如果我们在处理的文件是非ASCII(非美国标准信息交换代码)编码文件,并且文件的编码方式不匹配当前的终端编码设置,则在使用less命令查看文件时可能会出现乱码现象。当发生这种情况时,我们通常需要更改less命令的选项,以便能够正确查看文件。

我们可以使用“-r”选项来查看文件。这将更改less命令的工作方式,使其能够正确处理ANSI转义序列和Ctrl-M字符。例如:

“`

less -r myfile.txt

“`

如果还无法正确显示文件,则可以尝试在该命令后添加“-f”选项。这将强制less命令将其输出传递到针对终端设置的特定编码中。例如:

“`

less -r -f myfile.txt

“`

如果仍然无法正确显示文件,则可能需要更改终端编码设置,或将less命令输出托管到一个不同的终端编码设置翻译器中。

在本文中,我们已经介绍了如何使用Linux less命令查看文件的编码方式,并探讨了解决不匹配终端编码设置所引起的乱码问题的方法。无论您是程序员、网站前端开发人员还是大数据分析人员,使用less命令查看文件的编码方式是非常有用的技能。通过本文所提供的知识,您可以轻松查看和处理各种编码方式的文本文件。

相关问题拓展阅读:

linux命令:du、sort、more、cat、less

一个比较经典的问题:

如果线上机器的磁盘占用率超级高,怎么办?

这时候优先想到的肯定是,定位到占用磁盘空间更大的那些文件,指灶升然后把可以删的给删掉。

那么,问题来了,如何定位到占用磁盘空间更大的文件?

一个办法是执行如下命令:

里面涉及三个指令:du、sort、more

既然用到了,就顺便多了解一下这三个指令的用法,算是辩核做下个人笔记。

首先是du

作用:用来查看文件所占用的磁盘情况。

格式:du

可用选项(如下为du –help展示的内容):

操作示例:

对几个比较常用的选项单独拿出来,在机器上实际操作,效果如下:

首先,当前目录如下:

du:

其实吧,从图里面可以看唯老到,使用“du”的时候,最后一行就当前目录的磁盘使用总量,所以,感觉一般情况下-c这个选项并没有什么用。

du -s:只计算总量

不过,注意:-s与-a不能同时存在,会报错的。

sort

作用:对输出的结果进行排序

可用选项:

-r:代表逆序排序

-n:按照字符串数值排序

-g:按照常规数值排序

-f:忽略字母大小写

实测效果:

首先是测试文件的原始状态:

测试一:sort

可以发现:

空行排在了之一位;

不管数字有多大,字符串都会排在数字的后面;

数字之间排序的时候,优先考虑首位数字(感觉是把数字也当成了一个字符串进行排序);

more

作用:用于一页一页地展示文件内容。

几个常用操作:

空格:翻到下一页

b:翻到上一页

/:启动字符串搜索(类似于vim)

此外:

more +n XXX:从XXX文件的第n行开始展示

more -n XXX:展示XXX文件,并且将n行视为一页,也就是按空格时,只会显示后续的N行

cat

作用:一次性的展示所有文件内容

cat有两个比较有用的选项:

-n:输出所有行号

-b:只对非空行输出行号

此外,

cat支持同时输出多个文件的内容:cat XXX YYYY ZZZZ

并且,cat可以与more结合使用:cat XXX | more 或者 cat XXX YYYY ZZZZ | more 或者 cat -n XXX | more

less:

作用:对文件或者输出内容进行分页展示,并且less可以用于打开多个文件

常用操作:

j:向上滚动一行

k:向下滚动一行(类似于vim)

g:跳到之一行

G:跳到最后一行

b:向上翻一页

空格:翻页

n%:跳转到整个文件的n%处

:e :在使用less打开多个文件时,使用“:e”选择跳转到其他文件去

/:进行字符串搜索

v:启动编辑

常用选项:

-N:在每一行前面都显示行号

-m:显示读取文件的百分比

-M:显示读取文件的百分比、行号和总行数

注意:

其他两个比较简单的指令:

head:显示一个文件的前N行

用法:head -n 行数 文件名

tail:显示一个文件的最后N行

用法:tail -n 行数 文件名

不过,使用tai的时候,因为-f选项可以自动显示新增加的内容,所以经常会使用如下方式:

Linux系统下文件名出现中文乱码如何重命名回来

一不基则谈小心在给文件重命盯尺名的时候输入了中文字符,结果导致文件名乱码,无法通过cat, less, rm 或者mv 之类的命令操搏碰作了。

如何重新命名它,使得其恢复正常呢?

据说linux下每个文件还有一个文件节点编号,对应于每个特定的文件。可以通过find 该节点编号来执行重命名操作。

ls -i res???_out.txt

res???_out.txt

前面的数字串就是节点编号

find . -inumexec mv {} res_out.txt \;

Linux的翻页命令more和less怎么使用

有些命令显示的内容太多,一页屏幕显示不完,就需要翻页命令。一般是用管道符将这样的命令的输出让more或less处理,就像这样:

dmesg |more (查看系统型逗轮硬件信息)

或dmesg |less

more命令的翻页按键:

空格:表示向下翻一页

回车:表示向下滚动一行

/

字符串

:表示查询字符卜信串

q:离开more界面

而less命令和more的不同之处在于,它可以向上翻页,字符串查询也可以向上查询。less命令的按键(more命令的按键在less中一样):

PageUp:向上翻页指凯

PageDown:和空格键一样是向下翻页

?字符串:表示向下查询字符串

n:重复查询字符串

more- 在显示器上阅读文件的过余唯滤器>

总览 (SYNOPSIS)

more >

描述 (DESCRIPTION)

More是 一个 过滤耐饥器, 用于 分页 显示 (一次一屏) 文本. 这个 版本 非常 基本. 用户 应该 知道 less(1) 提供了 more(1) 的 模拟, 并且 做了 增强.>

选项 (OPTION)

下面 介绍 命令行选项. 选项 可以 从昌毁返 环境变量MORE中获取 (要 确保 它们 以 短横线 开头 (“-)), 但是 命令行选项 能够 覆盖 它们.

-num

这个选项指定屏幕的行数 (以整数表示).

关于linux less 编码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 学会使用Linux less命令看文件编码 (linux less 编码)