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

相关推荐

  • 如何查看电脑当前网络网关?

    临时设置网关(重启失效)通过命令行快速设置,适用于临时测试:# 临时添加网关(eth0替换为你的网卡名)sudo ip route add default via 192.168.1.1 dev eth0验证:ping 8.8.8.8 测试网络连通性,永久设置网关(不同发行版方法)Ubuntu/Debian(使……

    2025年7月23日
    4900
  • 如何安装armlinux gcc?详细步骤与操作指南

    交叉编译器是在一种架构(如x86_64)的宿主机上生成另一种架构(如ARM)目标程序的工具链,开发ARM Linux应用时,安装armlinux gcc是基础步骤,以下是详细安装流程,涵盖不同Linux发行版、架构选择及环境配置,安装前准备确认目标ARM架构:根据开发板或芯片的ARM版本选择对应编译器,常见架构……

    2025年9月25日
    2100
  • 如何进入BIOS/UEFI?不依赖系统,任何电脑通用!

    进入BIOS/UEFI设置是计算机启动初期的硬件层操作,由主板固件控制,其触发方式(特定按键如Del/F2)由硬件制造商设定,完全独立于安装在硬盘上的操作系统(如Windows、Linux或macOS),无论系统存在与否或类型如何均可进入。

    2025年7月13日
    5200
  • linux子系统如何删除

    在Linux生态系统中,“子系统”通常指通过隔离技术运行的轻量级Linux环境,常见于Windows系统中的WSL(Windows Subsystem for Linux)、Linux容器(如Docker、LXC)或虚拟机(如KVM),删除这些子系统需根据具体场景操作,核心原则是先停止运行环境、清理资源文件,再……

    2025年9月17日
    2100
  • linux中如何开ftp服务器

    Linux中,可安装vsftpd或proftpd等FTP服务器软件,配置相关参数

    2025年8月15日
    3800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信