【Linux】编辑、查看和搜索文件

大多数 Linux 发行版不包含真正的 vi;而是自带一款高级替代版本,叫做 vim(它是“vi improved”的简写)由 Bram Moolenaar 开发的,vim 相对于传统的 Unix vi 来说,取得了实质性进步。

启动和退出 vim

使用vim可以启动,如命令行输入 vim,会出现下图:

在这里插入图片描述

想要退出,可以输入:q命令回车即可。

如果由于某种原因,vim 不能退出(通常因为我们对文件做了修改,却没有保存文件)。通过给命令加上叹号,我们可以告诉 vim 我们真要退出 vim(注意感叹号是命令的一部分)。输入:q!命令回车即可。

如果你在 vim 中“迷失”了,试着按下 Esc 键两次来回到普通模式。

编辑模式

再次启动vim,如 vim foo.txt

每行开头的波浪号(“∼”)表示那一行没有文本。

重要的事是知晓 vim 是一个模式编辑器,vim 启动后 会直接进入命令模式。这种模式下,几乎每个按键都是一个命令,所以如果我们直接输入文本, vim 会发疯,弄得一团糟。

插入模式

为了在文件中添加文本,我们需要先进入插入模式,按下i键进入插入模式,输入The quick brown fox jumped over the lazy dog.文本信息。

在这里插入图片描述

若要退出插入模式返回命令模式,按下 Esc 按键。

保存模式

在命令模式下,输入:w,底端则会显示已写入提示。

在这里插入图片描述

常用的命令有:

  • :w:数据写入后,保存模式。
  • :wq:保存并退出。
  • :wq!:保存并强制退出。
  • :q:不保存就退出。
  • :q!:不保存且强制退出。

基本编辑

在命令模式下,可以按esc退出其它模式进入到命令模式。

  • 0:移动到当前行的行首。
  • G:移动到文件末尾。
  • o:当前行的下方打开一行。
  • O:当前行的下方打开一行。
  • u:撤销我们的更改。
  • dd:删除当前行。
  • x:删除当前字符。
  • d0:从光标位置开始到当前行的行首。
  • dG:从当前行到文件的末尾。

连续按下 u 按键三次,来恢复删除部分

查看文件

使用cat命令,可以查看文件内容。

# 查看全部内容
cat foo.txt
# 查看文件内容,并显示行数
cat -n foo.txt

在这里插入图片描述

使用headtail命令,也可以查看文件内容。

# 默认查看前10行
head baidu.html
# 指定查看前3行数据
head -3 baidu.html
# 默认查看后10行
tail baidu.html
# 指定查看前3行数据
tail -3 baidu.html

在这里插入图片描述

搜索文件

使用find命令,可以在一个目录层次结构中搜索文件,还可以加上 wc 程序来计算出文件的数量。

# 查看具体文件对应的路径
find /Users/guanfawang/1/python_crawer -type f -name baidu.html
# 查看对应目录下文件数量
find /Users/guanfawang/1/python_crawer -type f | wc -l
# 查看对应目录下文件对应路径
find /Users/guanfawang/1/python_crawer -type f

在这里插入图片描述

使用grep命令,grep全称为global regular expression print,可以看出与正则表达式相关联。它的作用就是在文本文件中查找一个指定的正则表达式,并把匹配行输出到标准输出。

# 这个命令会列出,位于目录 /usr/bin 中,文件名中包含子字符串“zip”的所有文件
ls /usr/bin | grep zip

选项列表

  • -i:忽略大小写。不会区分大小写字符,也可用–ignore-case 来 指定。
  • -v:不匹配。也可用–invert-match 来指定。
  • -c:打印匹配的数量。也可用–count 选项来指定。
  • -l:打印包含匹配项的文件名。也可用-- files-with-matches 选项来指定。

在这里插入图片描述

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

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

相关文章

MPI安装与程序设计

MPI MPI(Message Passing Interface)是一种用于编写并行程序的标准和库,用于在分布式内存系统中进行消息传递和并行计算。MPI提供了一组函数和语义,用于在多个进程之间进行通信和同步,以实现并行计算和并行任务的协调…

C# 跨越配置

跨越配置1 项目框架 .NET Framework 1.web.config配置 在system.webServer节点中添httpProtocol子节点 Access-Control-Allow-Origin值为“*”” <httpProtocol><customHeaders><add name"Access-Control-Allow-Origin" value"*" /><…

【Linux笔记】文件查看和编辑

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux学习 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 命令 cat (Concatenate and Display): more 和 less: nano 和 vim (文本编辑器): 结语 我的其他博客 前言 学习Linux命令行和文件…

通过几个基本概念说一下为什么openGauss是当下之选?

Database、Schema、User都是数据库的基本概念&#xff0c;SQL标准中也有明确规范。但不同数据库的具体实现也不尽相同&#xff0c;有些甚至大相径庭。这就导致用户在做国产化选型和数据库迁移时可能会遇到种种困难。本文从这几个基本概念展开&#xff0c;说说为什么openGauss系…

项目应用多级缓存示例

前不久做的一个项目&#xff0c;需要在前端实时展示硬件设备的数据。设备很多&#xff0c;并且每个设备的数据也很多&#xff0c;总之就是数据很多。同时&#xff0c;设备的刷新频率很快&#xff0c;需要每2秒读取一遍数据。 问题来了&#xff0c;我们如何读取数据&#xff0c…

.Net 访问电子邮箱-LumiSoft.Net,好用

序言: 网上找了很多关于.Net如何访问电子邮箱的方法,但是大多数都达不到想要的需求,只有一些 收发邮件。因此 花了很大功夫去看 LumiSoft.Net.dll 的源码,总算做出自己想要的结果了,果然学习诗人进步。 介绍: LumiSoft.Net.dll 是 C# 下的 免费开源 的关于网络 编程 的…

Bean生命周期源码(二)

书接上文 文章目录 一.、前文回顾二、 创建Bean之getBean方法 一.、前文回顾 在前面一部分中&#xff0c;我们分析了Spring底层是如何加载BeanDefinition以及是如何将BeanDefinition注册到容器中的。以及分析了部分非懒加载单例Bean的实例化的内容&#xff0c;包括合并beanDe…

Ubuntu 常用命令之 fdisk 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 fdisk 是一个用于处理磁盘分区的命令行工具&#xff0c;它在 Linux 系统中广泛使用。fdisk 命令可以创建、删除、更改、复制和显示硬盘分区&#xff0c;以及更改硬盘的分区 ID。 fdisk 命令的常用参数如下 -l&#xff1a;列出所…

μC/OS-III 里面的环形表

文章目录 1、时钟节拍任务2、定时器列表 μC/OS-III 里面两个地方用到了环形表&#xff0c;时钟节拍任务&#xff0c;定时器列表&#xff0c;通过排序后&#xff0c;效率是非常高的。 以下内容整理自 嵌入式实时操作系统uC/OS-Ⅲ 1、时钟节拍任务 2023/12/21 18:04:16 (1) 该…

养老院自助饮水机(字符设备驱动)

目录 1、项目背景 2、驱动程序 2.1 三层架构 2.2 驱动三要素 2.3 字符设备驱动 2.3.1 驱动模块 2.3.2 应用层 3、设计实现 3.1 项目设计 3.2 项目实现 3.2.1 驱动模块代码 3.2.2 用户层代码 4、功能特性 5、技术分析 6. 总结与未来展望 1、项目背景 养老院的老人…

虾皮广告怎么做:如何在虾皮平台上进行广告投放

在虾皮&#xff08;Shopee&#xff09;平台上进行广告投放可以帮助您提高产品的曝光度和销量。通过有针对性的广告&#xff0c;您可以在虾皮平台上吸引更多的潜在买家&#xff0c;提高产品的可见度并增加销售机会。本文将为您介绍在虾皮平台上创建和管理广告的一些建议&#xf…

JAVA版的鸿鹄云商B2B2C:多商家入驻直播商城系统特性解析 商城免 费搭建

鸿鹄云商 b2b2c产品概述 【b2b2c平台】&#xff0c;以传统电商行业为基石&#xff0c;鸿鹄云商支持“商家入驻平台自营”多运营模式&#xff0c;积极打造“全新市场&#xff0c;全新 模式”企业级b2b2c电商平台&#xff0c;致力干助力各行/互联网创业腾飞并获取更多的收益。从消…