Linux nano命令的基本使用

参考资料

  1. GNU nanoを使いこなす
  2. nano基础

目录

  • 一. 简介
  • 二. 文件打开
    • 2.1 普通方式打开文件
    • 2.2 只读方式打开文件
  • 三. 文件查看
    • 3.1 打开文件时,显示行号
    • 3.2 翻页查看
  • 四. 文件编辑
    • 4.1 `Ctrl + K` 复制 和 `Ctrl + U` 粘贴
    • 4.2 `Alt/Esc + U` 撤回
  • 五. 文件保存与退出
    • 5.1 `Ctrl + O` 写入
    • 5.2 `Ctrl + X` 保存
  • 六. 内容搜索
    • 6.1 `Ctrl + /` 跳转到指定行号
    • 6.2 `Ctrl + W` 关键词搜索
    • 6.3 `Alt + Q/W` 匹配项移动
  • 七. 配置文件
    • 7.1 基本配置
    • 7.2 语法高亮


一. 简介

nano 命令是一个轻量级、易上手的命令行文本编辑器,常用于 Linux / macOS / WSL 中编辑配置文件、代码或日志文件。
相较于 vim,nano 更直观简单易学,虽然功能不如vim强大,但是能满足基本使用。

  • 上手极快:打开文件就能编辑,操作提示直接写在界面下方
  • 简单直观:比如保存就是 Ctrl+O,退出是 Ctrl+X
  • 常用于 快速修改配置文件(如 .env, nginx.conf 等)
  • 支持语法高亮
  • nano命令默认内置于大多数linux发行版中

二. 文件打开

2.1 普通方式打开文件

⏹打开文件之后,底部栏会有操作命令提示

nano yourfile.txt

在这里插入图片描述

2.2 只读方式打开文件

⏹通过只读的方式打开文件之后,如果进行编辑的话,底部栏会提示是只读模式,无法编辑。

nano --view yourfile.txt

在这里插入图片描述


三. 文件查看

3.1 打开文件时,显示行号

nano --linenumbers yourfile.txt

在这里插入图片描述

3.2 翻页查看

⏹键盘上的 PageUpPageDown


四. 文件编辑

4.1 Ctrl + K 复制 和 Ctrl + U 粘贴

4.2 Alt/Esc + U 撤回


五. 文件保存与退出

5.1 Ctrl + O 写入

5.2 Ctrl + X 保存


六. 内容搜索

6.1 Ctrl + / 跳转到指定行号

⏹按下之后,在底部栏输入行号,即可完成跳转。

在这里插入图片描述

6.2 Ctrl + W 关键词搜索

⏹按下之后,在底部栏输入要搜索的关键词
在这里插入图片描述

6.3 Alt + Q/W 匹配项移动

⏹配合 Ctrl + W 关键词搜索使用

  • Alt + Q 上个匹配项
  • Alt + W 下个匹配项

七. 配置文件

⏹可以在当前用户的家目录创建.nanorc的配置文件

apluser@FengYeHong-HP:~$ ls -la ~/.nanorc
-rw-r--r-- 1 apluser apluser 18 Jun  8 08:46 /home/apluser/.nanorc

7.1 基本配置

⏹一般都会想要在打开文件的时候,显示行号,可以将其添加到配置文件中,之后使用nano命令的时候,就不需要使用--linenumbers配置项了。

# 显示行号
set linenumbers

7.2 语法高亮

⏹nano默认在/usr/share/nano/路径下提供了一些编程语言的高亮配置文件

apluser@FengYeHong-HP:~$ ls -l /usr/share/nano/j*
-rw-r--r-- 1 root root 654 Feb 19  2022 /usr/share/nano/java.nanorc
-rw-r--r-- 1 root root 822 Feb 19  2022 /usr/share/nano/javascript.nanorc
-rw-r--r-- 1 root root 805 Feb 19  2022 /usr/share/nano/json.nanorc

⏹下面的第三方Github项目,提供了更多语言的高亮配置文件
Improved Nano Syntax Highlighting Files

⏹将下面的配置内容加入/home/apluser/.nanorc文件中,即可完成高亮配置

# nano自带的高亮配置文件
include "/usr/share/nano/*.nanorc"
# 自定义的高亮配置文件
include "~/.自定义文件夹/*.nanorc"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/82977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLMs 系列科普文(15)

前面 14 篇文章,就是本系列科普文中想介绍的大部分技术内容。重点讲述了训练这些模型的三个主要阶段和范式:预训练、监督微调和强化学习。 我向你们展示了这些步骤大致对应于我们已用于教导儿童的过程。具体来说,我们将预训练比作通过阅读说…

深入理解汇编语言中的顺序与分支结构

本文将结合Visual Studio环境配置、顺序结构编程和分支结构实现,全面解析汇编语言中的核心编程概念。通过实际案例演示无符号/有符号数处理、分段函数实现和逻辑表达式短路计算等关键技术。 一、汇编环境配置回顾(Win32MASM) 在Visual Studi…

Selenium4+Python的web自动化测试框架

一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE:Firefo…

React 样式方案与状态方案初探

React 本身只提供了基础 UI 层开发范式,其他特性的支持需要借助相关社区方案实现。本文将介绍 React 应用体系中样式方案与状态方案的主流选择,帮助开发者根据项目需求做出合适的选择。 1. React 样式方案 1.1. 内联样式 (Inline Styles) 通过 style …

PHP中如何定义常量以及常量和变量的主要区别

在PHP编程中,常量和变量是存储数据的两种重要方式。常量在定义后值不能改变,而变量的值可以在程序执行过程中发生变化。本文将详细介绍如何在PHP中定义常量,并深入探讨常量和变量的主要区别。 一、PHP中定义常量 1. 使用 define 函数定义常…

奈飞工厂官网,国内Netflix影视在线看|中文网页电脑版入口

奈飞工厂是一个专注于提供免费Netflix影视资源的在线播放平台,致力于为国内用户提供的Netflix热门影视内容。该平台的资源与Netflix官网基本同步,涵盖电影、电视剧、动漫和综艺等多个领域。奈飞工厂的界面简洁流畅,资源分类清晰,方…

CMS内容管理系统的设计与实现:架构设计

一、整体架构方案 &#xff08;一&#xff09;架构方案选择&#xff08;根据项目规模&#xff09; 1. 中小型项目推荐方案&#xff08;团队<10人&#xff09; #mermaid-svg-cjzaHpptY8pYWnzo {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:1…

嵌入式里的时间魔法:RTC 与 BKP 深度拆解

文章目录 RTC实时时钟与BKPUnix时间戳UTC/GMT时间戳转换时间戳转换BKP简介BKP基本结构1. 电池供电模块&#xff08;VBAT 输入&#xff09;2. 侵入检测模块&#xff08;TAMPER 输入&#xff09;3. 时钟输出模块&#xff08;RTC 输出&#xff09;4. 内部寄存器组 RTC简介RTC时钟源…

STC8H系列 驱动步进电机

STC8H 驱动步进电机 一、引言二、硬件设计三、软件设计Step_Motor2.c文件Step_ Motor2.h文件 一、引言 众所周知STC8H系列有两个PWM&#xff0c;分别为PWMA和PWMB外设模块&#xff0c;我全都用上&#xff0c;岂不是就有两个带动电机的脉冲信号&#xff1f;&#xff01;哈哈哈哈…

Python高阶函数:从入门到精通

目录 Python高阶函数详解&#xff1a;从概念到高级应用引言&#xff1a;函数式编程的魅力一、高阶函数基础概念1.1 什么是高阶函数1.2 Python中的一等函数 二、内置高阶函数详解2.1 map函数&#xff1a;数据转换利器2.2 filter函数&#xff1a;数据筛选专家2.3 reduce函数&…

腾讯开源视频生成工具 HunyuanVideo-Avatar,上传一张图+一段音频,就能让图中的人物、动物甚至虚拟角色“活”过来,开口说话、唱歌、演相声!

腾讯混元团队提出的 HunyuanVideo-Avatar 是一个基于多模态扩散变换器&#xff08;MM-DiT&#xff09;的模型&#xff0c;能够生成动态、情绪可控和多角色对话视频。支持仅 10GB VRAM 的单 GPU运行&#xff0c;支持多种下游任务和应用。例如生成会说话的虚拟形象视频&#xff0…

DeepSeek-R1-0528:开源推理模型的革新与突破

一、 发布日期与背景 2025年5月29日&#xff0c;备受业界关注的DeepSeek推理模型DeepSeek-R1迎来重要更新——DeepSeek-R1-0528模型正式发布。此次更新采取了“静默发布”策略&#xff0c;未提前预告&#xff0c;而是通过官方渠道&#xff08;官网、App、小程序&#xff09;及…

LeetCode 1723: 完成所有工作的最短时间

给你一个整数数组 jobs &#xff0c;其中 jobs[i] 是完成第 i 项工作要花费的时间。 请你将这些工作分配给 k 位工人。所有工作都应该分配给工人&#xff0c;且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作…

JDK8新特性之Steam流

这里写目录标题 一、Stream流概述1.1、传统写法1.2、Stream写法1.3、Stream流操作分类 二、Stream流获取方式2.1、根据Collection获取2.2、通过Stream的of方法 三、Stream常用方法介绍3.1、forEach3.2、count3.3、filter3.4、limit3.5、skip3.6、map3.7、sorted3.8、distinct3.…

split方法

在编程中&#xff0c;split 方法通常用于将字符串按照指定的分隔符拆分成多个部分&#xff0c;并返回一个包含拆分结果的列表&#xff08;或数组&#xff09;。不同编程语言中的 split 方法语法略有不同&#xff0c;但核心功能相似。以下是常见语言中的用法&#xff1a; ​1. P…

深入理解 x86 汇编中的符号扩展指令:从 CBW 到 CDQ 的全解析

引入 在汇编语言的世界里&#xff0c;数据宽度的转换是一项基础却至关重要的操作。尤其是在处理有符号数时&#xff0c;符号扩展&#xff08;Sign Extension&#xff09;作为保持数值符号一致性的核心技术&#xff0c;直接影响着运算结果的正确性。本文将聚焦 x86 架构中最常用…

计算机基础知识(第五篇)

计算机基础知识&#xff08;第五篇&#xff09; 架构演化与维护 软件架构的演化和定义 软件架构的演化和维护就是对架构进行修改和完善的过程&#xff0c;目的就是为了使软件能够适应环境的变化而进行的纠错性修改和完善性修改等&#xff0c;是一个不断迭代的过程&#xff0…

前端开发三剑客:HTML5+CSS3+ES6

在前端开发领域&#xff0c;HTML、CSS和JavaScript构成了构建网页与Web应用的核心基础。随着技术标准的不断演进&#xff0c;HTML5、CSS3以及ES6&#xff08;ECMAScript 2015及后续版本&#xff09;带来了诸多新特性与语法优化&#xff0c;极大地提升了开发效率和用户体验。本文…

c++ 头文件

目录 防止头文件重复包含 头文件的作用 如何让程序的多个 .cpp 文件之间共享全局变量&#xff08;可能是 int、结构体、数组、指针、类对象&#xff09;? 防止头文件重复包含 为什么要防止头问件重复包含&#xff1f; 当然一般也不会把变量定义放到头问件&#xff0c;那为…

深入解析 JavaScript 中 var、let、const 的核心区别与实践应用

一、历史背景与语法基础 JavaScript 作为动态弱类型语言&#xff0c;变量声明机制经历了从 ES5 到 ES6 的重大变革。在 ES5 及更早版本中&#xff0c;var 是唯一的变量声明方式&#xff0c;而 ES6&#xff08;2015 年&#xff09;引入了 let 和 const&#xff0c;旨在解决 var…