Linux终端行号显示如何设置?

Linux系统中,行号设置是文本编辑和查看时的常见需求,无论是调试代码、分析日志还是撰写文档,行号都能帮助快速定位内容,Linux下设置行号的方法因工具而异,涵盖文本编辑器(如vim、nano)、文件查看命令(如cat、less、more)以及专业编号工具(如nl)等,以下将详细介绍不同场景下的行号设置方式。

linux 行号如何设置

文本编辑器中的行号设置

vim/vi编辑器

vim是Linux下最常用的文本编辑器之一,支持临时显示行号和永久配置行号。

  • 临时显示行号:打开文件后,在命令模式下输入set nu(或set number)即可显示行号,取消显示则输入set nonu
  • 相对行号:vim支持相对行号显示(便于跳转),输入set rnu(或set relativenumber),此时显示的是当前行到目标行的相对距离,取消则输入set nornu
  • 永久配置行号:若希望vim默认显示行号,需编辑配置文件~/.vimrc(若文件不存在则创建),添加一行set number保存即可,后续打开文件会自动显示行号。

nano编辑器

nano是轻量级命令行编辑器,行号设置相对简单。

  • 临时显示行号:通过命令行参数-c启动nano,如nano -c filename,编辑时会左侧显示行号;或在编辑界面按Ctrl+_(下划线键)手动切换行号显示。
  • 永久配置行号:编辑nano配置文件~/.nanorc,添加set const(部分版本为set number),保存后重启nano即可默认显示行号。

文件查看命令中的行号设置

cat命令

cat用于查看文件内容,通过-n参数可显示行号:

cat -n filename

默认情况下,-n会对所有行(包括空行)编号,若需跳过空行,可结合-b参数(cat -b filename),此时仅对非空行编号。

linux 行号如何设置

less/more命令

lessmore用于分页查看文件,支持交互式行号显示。

  • less命令:通过-N参数启动,如less -N filename,查看时会显示行号;在less界面中,按进入命令模式,输入set number也可临时开启行号,关闭则输入set nonumber
  • more命令:用法与less类似,more -n filename可显示行号,但功能较less简单,不支持交互式切换。

nl命令

nl是专业的文件编号工具,功能更灵活,支持自定义编号格式(如起始值、步长、宽度等),其常用参数如下表所示:

参数 功能 示例
-b a 对所有行编号(默认) nl -b a filename
-b t 仅对非空行编号 nl -b t filename
-i 2 设置编号步长为2(默认为1) nl -i 2 filename
-v 10 设置起始编号为10 nl -v 10 filename
-w 4 设置行号宽度为4字符(不足补空格) nl -w 4 filename

nl -b t -i 2 -v 5 filename会对非空行从5开始、步长为2编号,行号占3位(默认宽度)。

脚本与命令行中的动态行号处理

在编写脚本或管道操作时,可通过awksed动态添加行号:

linux 行号如何设置

  • awk命令awk的内置变量NR表示当前行号,通过print NR, $0可输出行号和内容:
    awk '{print NR, $0}' filename
  • sed命令:结合命令获取行号,再通过Ns命令合并行号与内容:
    sed '=' filename | sed 'N;s/n/ /'

相关问答FAQs

Q1: 如何让vim默认显示行号,且开启相对行号?
A: 编辑~/.vimrc文件,添加以下两行:

set number          " 显示绝对行号
set relativenumber  " 显示相对行号

保存后重启vim,即可同时显示绝对行号(左侧)和相对行号(与当前行的距离)。

Q2: cat、less和nl命令显示行号时,如何跳过空行?
A: 不同命令跳过空行的方式不同:

  • cat:使用-b参数,如cat -b filename,仅对非空行编号。
  • less:启动后按输入set number显示行号,再输入/^$定位空行,或结合grep过滤空行(less -N filename | grep -v '^$')。
  • nl:使用-b t参数,如nl -b t filename,仅对非空行编号。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37483.html

(0)
酷番叔酷番叔
上一篇 2025年10月7日 06:52
下一篇 2025年10月7日 07:20

相关推荐

  • Linux程序是如何被系统执行的呢?

    Linux程序的执行是一个涉及编译、链接、加载和运行的多阶段过程,从源代码到最终执行,需要操作系统、编译器和加载器的协同工作,下面将详细拆解这一流程,从源码到可执行文件:编译与链接Linux程序通常以高级语言(如C、C++)源码形式存在,需通过编译器转换为机器可识别的二进制指令,这一过程分为四个阶段,以C语言为……

    2025年9月17日
    8100
  • Linux cmd窗口如何正确关闭?

    在Linux操作系统中,命令行窗口(通常称为终端或Terminal)是用户与系统交互的核心界面,无论是系统管理、软件开发还是日常操作,都离不开终端的使用,在完成操作后,正确关闭终端窗口是避免资源浪费、防止进程异常的重要步骤,由于Linux终端的使用场景多样(如图形界面下的本地终端、远程SSH终端、TTY虚拟终端……

    2025年9月20日
    7100
  • 如何使用touch命令提升效率?

    在Linux系统中,文件修改时间(Modification Time,简称mtime)记录了文件内容最后一次被更改的时间戳,修改这一时间戳的需求可能出现在多种场景中,修复备份时间、调试程序、同步文件状态或合规性审计,以下是几种安全且高效的修改方法,所有操作均需文件或目录的写权限,touch 是Linux核心工具……

    2025年7月8日
    11200
  • linux 如何打开摄像头驱动

    Linux中,可以使用v4l2-ctl或ffmpeg等工具

    2025年8月14日
    8000
  • 如何安装最新LTS版JDK?

    准备工作更新系统终端执行:sudo apt update && sudo apt upgrade # Ubuntu/Debiansudo yum update # CentOS/RHEL检查现有Javajava -version若已安装旧版本,建议卸载避免冲突(sudo apt remove o……

    2025年6月20日
    12500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信