【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 选项来指定。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑文件msvcp140.dll丢失该怎么解决?靠谱的msvcp140.dll修复方法

面对计算机系统报告的msvcp140.dll文件丢失警报,这个问题可能会阻碍依赖此特定动态链接库(DLL)的一些程序的正常启动和运行。解决msvcp140.dll文件丢失的问题对于保障相关应用程序能够无障碍操作非常关键,并且这还是确保计算机系统保持高效稳定运行的必要…

华为gre隧道全部跑静态路由

最终实现: 1、pc1能用nat上网ping能pc3 2、pc1能通过gre访问pc2 3、全部用静态路由做,没有用ospf,如果要用ospf,那么两边除了路由器上跑ospf,核心交换机也得用ospf r2配置: acl number 3000 rule 5 deny…

Java设计模式之单例模式以及如何防止通过反射破坏单例模式

单例模式 单例模式使用场景 ​ 什么是单例模式?保障一个类只能有一个对象(实例)的代码开发模式就叫单例模式 ​ 什么时候使用? 工具类!(一种做法,所有的方法都是static,还有一种单…

Notepad++如果同一个窗口,打开了很多文件,需另开一个窗口

如果一个窗口已经这么多了,需要另外再一个 这里打开

效果图云渲染是什么意思?如何渲染出照片级别的效果图?

​在当前的建筑规划、室内装修以及电影视效制作等行业内,制作高质量的效果图起着至关重要的作用,因为它能够给予观众或客户极为逼真和吸引人的视觉体验。在此篇文章中,我们将深入了解什么是云端效果图渲染,并探讨如何运用Renderbu…

C#中如何稳定精确地每隔5ms执行某个函数?

C#中如何稳定精确地每隔5ms执行某个函数? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C#的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家&#xf…

技术丨 浅谈以太网系统级刷写测试

在研发阶段,我们一般将ECU直连至刷写上位机进行软件更新,但在整车环境中,各ECU之间通过线束连接在一起,如果此时想对某个单独的样件进行软件更新,把零件拆下来再接到上位机上进行软件更新是不现实的。 作为测试工程师…

QT编写应用的界面自适应分辨率的解决方案

博主在工作机上完成QT软件开发(控件大小与字体大小比例正常),部署到客户机后,发现控件大小与字体大小比例失调,具体表现为控件装不下字体,即字体显示不全,推测是软件不能自适应分辨率导致的。 …

泰克TDS3054B示波器 2 或 4 条通道

产品特点 500 MHz 、300 MHz 、100 MHz 三种带宽 取样速率高达 5 GS/s TDS3054B 数字示波器带宽500MHZ TDS3054B TDS3054B 数字示波器带宽500MHZ TDS3054B 2 或 4 条通道 全 VGA 彩色 LCD 显示 25 种自动测量功能 9 位垂直分辨率 TDS3054B 数字示波器带宽500MHZ TDS3054B TDS…

【图神经网络 · 科研笔记5】异构信息网络,利用注意力选择元路径;利用进化邻域和社群实现自监督动态图嵌入,交叉监督对比学习;近期科研思维导图小汇总;

记录部分科研文献阅读相关内容【划重点】,主题“图神经网络”,仅学习使用。 🎯作者主页: 追光者♂🔥 🌸个人简介: 📝[1] CSDN 博客专家📝 🏆[2] 人工智能领域优质创作者🏆 🌟[3] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌿[4] 2022年度…

【深入探讨人工智能】网络研讨系列介绍

笔者于2023年7月27日受邀代表开源社参加 Linux 基金会和 Open Source Initiative(OSI - 开源促进会)在日内瓦联合举办的 Open Source Congress 2023(全球开源峰会)。 国内同时有开放原子开源基金会孙文龙理事长率团参加。短短一天…

15个热门的开源数据可视化项目

数据可视化(即 BI仪表盘)是图形表示的数据。它涉及产生将表示的数据之间的关系传达给图像查看者的图像。这种通信是通过在可视化过程中使用图形标记和数据值之间的系统映射来实现的。该映射建立了如何在视觉上表示数据值,确定图形标记的属性(例如大小或颜色)如何以及在多大程…

Zookeeper集群搭建,四字命令监控,Leader选举原理以及数据如何同步

Java学习面试指南:https://javaxiaobear.cn 1、集群角色 Leader: 领导者。 事务请求(写操作)的唯一调度者和处理者,保证集群事务处理的顺序性;集群内部各个服务器的调度者。对于create、setData、delete…

七星创客系统模式:轻松打造千万会员体系

在当今快速变化的商业环境中,企业需要一种全新的模式来应对挑战,而七星创客模式正是这样一种具有吸引力的解决方案。七星创客模式是一种创新的商业模式,它通过将传统销售模式与现代科技手段相结合,为企业带来更多的机遇和可能性。…

教你如何完美录制电脑端游戏视频

在如今的互联网时代,游戏视频已成为了一个非常受欢迎的内容形式。无论是玩家和内容创作者想要分享自己的游戏技巧,还是游戏制作公司想要宣传自己的新作品,录制游戏视频已经成为了一种流行的趋势。 那么,如何在电脑上录制游戏视频…

JS逆向基础

JS逆向基础 一、什么是JS逆向?二、接口抓包三、逆向分析 一、什么是JS逆向? 我们在网站进行账号登录的时候对网页源进行抓包就会发现我们输入的密码在后台会显示为一串由字母或数字等符号,这就是经过加密呈现的一段加密文字,而分…

搭建接口自动化测试框架python+requests+pytest

安装python(最好是比较新比较稳定的版本),然后是python的解释器或者叫编译器pycharm安装后新建一个项目,以此项目为基础,安装依赖搭建框架。打开pycharm,点击左上角的File->New project->弹出如下界面…

业务逻辑漏洞有哪些?漏洞攻击防御及代码示例

文章目录 简介危害成因攻击防御代码示例1. 未经验证的重要操作2. 认证绕过3. 逻辑时间窗口漏洞4. 负载测试漏洞 修复 业务逻辑漏洞是指软件或系统的逻辑设计上的缺陷,这些缺陷可能被攻击者利用,从而导致意料之外的行为。下面是对业务逻辑漏洞的简介、危害…

在线客服系统性价比比较:哪家更适合您的需求?

众多的在线客服系统中,哪家性价比更高?这大概是很多企业要考虑和考量的问题。如果您是一名公司采购人员,正在寻找一款功能全面、价格合适的在线客服系统,那么这篇文章或许能为您提供一些参考价值。 Zoho Desk工单管理系统&#x…

微信小程序promise封装

一. 在utils文件夹内创建一个request.js 写以下封装的 wx.request() 方法 const baseURL https:// 域名 ; //公用总路径地址 export const request (params) > { //暴露出去一个函数,并且接收一个外部传入的参数let dataObj params.data || {}; //…