【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.mzph.cn/news/238573.shtml

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

相关文章

SpringBoot Elasticsearch全文搜索

文章目录 概念全文搜索相关技术Elasticsearch概念近实时索引类型文档分片(Shard)和副本(Replica) 下载启用SpringBoot整合引入依赖创建文档类创建资源库测试文件初始化数据创建控制器 问题参考 概念 全文搜索(检索),工作原理:计算…

电子合同在物流运输中的场景应用

物流运输行业发展迅速,形成了采购、运输、仓储、配送、代理等全面的产业体系,在业务的开展过程中,各类纸质文件的签章管理如承运协议、运输合同、电子回单、入仓及出仓单据、融资保理协议、代理合作协议、商家入驻协议、员工劳动合同等&#…

任天堂,steam游戏机通过type-c给VR投屏与PD快速充电的方案 三type-c口投屏转接器

游戏手柄这个概念,最早要追溯到二十年前玩FC游戏的时候,那时候超级玛丽成为了许多人童年里难忘的回忆,虽然长大了才知道超级玛丽是翻译错误,应该是任天堂的超级马里奥,不过这并不影响大家对他的喜爱。 当时FC家用机手柄…

中国社科院与新加坡新跃社科大联合培养博士—未来是我们自己创造的

没有任何东西能像大胆的幻想那样促进未来的创立,没有任何东西能像扎实的实践那样实现幻想的未来,今天的幻想加实践就是明天的现实!中国社科大-新加坡新跃社科大学联合培养工商管理博士,期待与您一起实现我们的未来。 人的一生其实…

SAP系统标准表之间的关联关系对应

SAP系统标准表之间的关联关系对应

指标体系构建-02-从0开始,梳理数据指标体系

指标体系构建-02-从0开始,梳理数据指标体系 一个例子,看懂并列式指标梳理 并列式指标体系,一般用于:描述个体情况 当我们想从几个不同角度,描述问题的时候,就需要并列关系 举个栗子🌰&#xf…

阿里云 ACK One 新特性:多集群网关,帮您快速构建同城容灾系统

云布道师 近日,阿里云分布式云容器平台 ACK One[1]发布“多集群网关”[2](ACK One Multi-cluster Gateways)新特性,这是 ACK One 面向多云、多集群场景提供的云原生网关,用于对多集群南北向流量进行统一管理。 基于 …

SpringBoot+Redis的Bloom过滤器

1.保姆级Linux安装Redis ①把redis.tar.gz下载到linux中,并用命令tar -zxvf安装 ②安装完成进入目录输入make进行编译,编译完成后输入make install 进行安装 ③创建两个文件夹mkdir bin mkdir etc 将redis目录下的redis.conf文件移动到etc文件中&…

Modbus-TCP数据帧

Modbus-TCP基于4种报文类型 MODBUS 请求是客户机在网络上发送用来启动事务处理的报文MODBUS 指示是服务端接收的请求报文MODBUS 响应是服务器发送的响应信息MODBUS 证实是在客户端接收的响应信息 Modbus-TCP报文: 报文头MBAP MBAP为报文头,长度为7字节&#xff0c…

设计模式(三)-结构型模式(6)-享元模式

一、为何需要享元模式(Flyweight)? 假如在网页中渲染这样的一个画面:大小不一的星星铺满了整个画布,并且都在不断的进行移动闪烁着。一批星星消失了,另一批又从另一边缘处出现。 要实现这样的渲染效果,在…

『居善地』接口测试 — 20.Mock功能介绍

1、Mock功能介绍 各个业务系统都会关联多个三方系统接口调用,在测试过程中第三方业务存在不能及时提供接口调用,这时就需要用到我们的mock服务了。 Mock的本质在于模拟三方业务接口的返回,来满足自身的测试功能,快速完成测试任务…

docker安装ES:7.8和Kibana:7.8

本文适用于centos7,快速入手练习es语法 前置:安装docker教程docker、docker-component安装-CSDN博客 1.安装es 9200为启动端口,9300为集群端口 docker pull elasticsearch:7.8.0mkdir -p /mydata/elasticsearch/pluginsmkdir -p /mydata/elasticsear…

python核心阶段(七)—— 包&模块以及虚拟环境

1.包&模块 概念解释 模块:为了使代码容易维护,可以将一组功能相关的代码写入一个单独的.py文件中,这 个.py文件就被称作一个模块 包: 包是指一个有层次的文件目录结构,它包含多个相关模块或子包; 它…

基于MybatisPlus批量高效插入百万条数据

引言 在JAVA程序开发中,对数据库进行大量数据插入是一个常见的操作,作为一个软件开发工程师,大批量的数据处理是日常工作,如何优化插入性能,提升数据处理效率是对大多数工程师的一个重要考验。本文将围绕逐条插入和批…

随时随地安心工作:迅软DSE保护您手机办公中的关键数据

互联网的快速发展让移动办公成为了日常工作中的一部分,同时企业数据加密的需求也已经不仅仅局限于内部终端,对于灵活的手机移动端也同样需要进行合法合规的数据安全管控。 迅软DSE数据防泄密系统提供移动端管理模块,支持Android、IOS移动客户…

BearPi Std 板从入门到放弃 - 引气入体篇(11)(SPI驱动 TFT LCD(ST7789))

简介 SPI 驱动 ST7789V2 进行字符显示, 并且使用中文库显示中文信息。主芯片: STM32L431RCT6LED : PC13 \ 推挽输出即可 \ 高电平点亮串口: Usart1 / LPUARTSPI(与LCD数据传输) : SPI2LCD_RESET(复位引脚): PC7 \ 推挽输出即可 LCD_POWER(…

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

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

CHARLS CLHLS CFPS公共数据库, 最新文章|周报(12.6)

欢迎参加郑老师2023年孟德尔随机化课程即将开始 发表文章后退款!郑老师科研统计课程详情 CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retirement LongitudinalStudy,CHARLS)是一项持续的纵向调查,旨在调查中…

Stable Diffusion Windows 部署简单认知

写在前面 偶然看到,简单了解博文为 SD 部署,以及简单使用,部署过程遇到问题解决理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。…

pnpm :无法加载文件 D:\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本

目录 一、问题描述 二、原因分析 三、解决问题 一、问题描述 pnpm : 无法加载文件 D:\learningsoftware\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID1351 70 中的 a…