![.iso 文件上的 less 默认行为](https://linux22.com/image/867366/.iso%20%E6%96%87%E4%BB%B6%E4%B8%8A%E7%9A%84%20less%20%E9%BB%98%E8%AE%A4%E8%A1%8C%E4%B8%BA.png)
我使用 ubuntu 14.04,遇到以下问题。搜索此网站没有找到任何结果,谷歌也没有找到。
我使用一些带有 .iso 后缀的数据文件。这些是简单的 ascii 数据文件,而不是ISO 映像。但是,当我尝试在终端中“less”其中一个文件时,我收到错误消息:
CD-ROM is NOT in ISO 9660 format
换句话说,它根据后缀将它们视为 ISO 映像。'more' 实用程序将它们视为常规文本文件,但没有 'less' 那么多方便的选项。
我可以更改此文件后缀的默认行为吗?如果可以,该怎么做?
答案1
可能发生的情况是文件处理被默认拦截lessfile
输入预处理器。虽然我对此没有任何经验,但据man lessfile
我所知,可以通过以下方式覆盖默认行为:
USER DEFINED FILTERS
It is possible to extend and overwrite the default lesspipe and less‐
file input processor if you have specialized requirements. Create an
executable program with the name .lessfilter and put it into your home
directory. This can be a shell script or a binary program.
.
.
.
但是,如果你的文件是纯 ASCII 文本,那么只需完全禁用预处理器就足够了 - 可以通过设置一个空的LESSOPEN
环境变量
LESSOPEN= less yourfile.iso
或使用-L
命令行选项
less -L yourfile.iso
从man less
:
-L or --no-lessopen
Ignore the LESSOPEN environment variable (see the INPUT PRE‐
PROCESSOR section below). This option can be set from within
less, but it will apply only to files opened subsequently, not
to the file which is currently open.
答案2
我添加了这个答案,因为之前的答案看起来很像环境技巧,有点“太奇怪”或冗余效率低下。
最可能的格式简单且常见的 ASCII二进制是.txt
:
美国标准信息交换码
您有机会将 ASCII 保存为.txt
,并保存.txt
内部标准.iso
,并且您可以使用相同的方式运行这些文件标准环境。
因为.iso
文件格式与磁盘映像有关。