CentOS8基础篇3:使用vim编辑文档

2023-10-29

一、vim编辑器

vim 编辑器共有三种工作模式,分别是命令模式、输入模式和末行模式。

〖例2.24〗使用vim编辑器创建并编辑文件hello.c。

二、查看文件内容命令

1. more/less 浏览文件全部内容

当文件内容过多时,可以用more或less命令来查看。

命令格式:more  文件名

                  less  文件名

〖例2.25〗使用vim编辑器创建并编辑文件info,文件内容不少于30行,使用more和less命令分别查看文件内容。

#vim  info   //输入不少于30行

#more  info  //注意底部的百分比显示

#less  info   //注意退出使用“q”

2. cat 查看文件内容

该命令用于将文件的内容打印输出到显示器或终端窗口上。

命令格式:cat  [选项] 文件名

选项

功能说明

-n

从1开始对所有输出的行数进行编号

-b

从1开始对所有输出的非空白行的行数进行编号

-s

当遇到连续两行以上的空白行时,用一个空白行代替

3. head/tail 显示文件头部/尾部信息

head命令用来查看文件前若干行,tail命令用来查看文件后若干行。

命令格式:head  [选项]  文件名

                  tail   [选项]  文件名

默认情况下,查看10行的内容,可以通过对选项的设置来决定要查看的行数。

〖例2.26〗查看文件hello.c文件第一行的内容和后两行的内容。

#head  -1  hello.c

#tail  -2  hello.c

4. grep查询字符串

grep命令可以在指定文本文件中匹配字符串,输出匹配字符串所在行的全部内容。

命令格式:grep  关键字 查找范围

〖例2.27〗在当前目录下的myfile文件中查找字符串this。

#grep  this  myfile

三、管道与重定向命令

1. 管道命令

有时在操作Linux命令时,需要将一个命令的执行结果作为另一个命令输入来执行,这时候就需要用到管道命令。

管道命令是“|”。管道命令可以将多个命令连接在一起,每一个命令都独立运行,每一个命令的运行结果都作为下一个命令的输入。管道的单向性决定了命令处理的单向性。

命令格式:cmd1 | cmd2 | cmd3 |……|cmd(n)

管道命令可以实现将一个命令的输出当作另一个命令的输入,后者的输出又可作为第三条命令的输入,以此类推,这样,管道命令行中最后一条命令的输出才会显示在屏幕上。因此,可以利用管道操作,将多条相关的命令连接起来。在使用的时候,第一个命令正常写,后面的命令都只写操作,不写操作的对象,因为操作的对象就是前一个命令的输出结果。

〖例2.28〗查看/etc目录下的内容。

#ls  /etc|less

本例中,如果执行#ls /etc 命令,会发现由于/etc目录下内容比较多,所以无法看到全部的内容,一种解决方案就是使用|命令,将ls /etc的执行结果作为less命令的输入,达到分页显示ls /etc内容的功能。

                                 

〖例2.29〗显示/etc目录中文件名以pass开头的的文件。

#ls  /etc | grep pass*

2. 重定向

Linux命令在执行的时候,常规下都会有输入,命令处理完成后会有结果的输出。输入通常使用标准输入设备,输出通常使用标准输出设备和标准错误设备端口。

stdin表示标准输入设备端口,命令的输入都从其获取。默认是键盘。

stdout表示标准输出设备端口,命令执行的结果都向其输出。默认是控制台的显示屏。

stderr表示标准错误设备端口,命令执行过程中出现的错误信息都向其输出。默认是控制台的显示屏。

所谓重定向,指不使用系统的标准输入、输出、错误端口进行信息的获取或输出,而是通过重新的指定,让命令从非默认的输入输出设备获取或输出信息。所以重定向分为:输入重定向、输出重定向和错误重定向。

命令

说明

>

输出重定向。如果原来目标文件存在,则新的内容会覆盖文件中原有的内容

>>

输出重定向。如果原来目标文件存在,则新的内容会追加在原来内容的后面,不覆盖文件中的原有内容

<

输入的重定向。即命令的输入不通过键盘来完成,而通过其他的方式

2>

错误重定向

&>

输出重定向和错误重定向同时实现

〖例2.30〗将ls /命令的执行结果记录到list的文件中。

#ls  / > list

  执行后在本目录下会新建一个list文件,文件内容为ls / 命令的执行结果。

〖例2.31〗如果命令useradd lolo在执行时发生错误,则将错误信息保存到当前目录下的errlog文件中。

#useradd lolo  2>errlog

如果命令执行正常,没有错误出现,则该错误重定向操作不会被执行。只有在命令执行出现错误的情况下,该错误重定向才会被执行。错误信息重定向经常用于对程序的调试。

〖例2.32〗将程序hello的执行结果和错误信息全部都重定向输出到/tmp目录下的outfile文件中。

#./hello  &> /tmp/outfile

项目二:使用vim编辑文档

操作过程:

$cd    //切换至guestuser1用户主目录。

$vim guestuser1.plan

输入“i”切换到输入模式,输入: :

Data access:8a.m.

Reading program:10p.m.

Project design:13a.m.

Discussion items:15p.m.

输入完成后,使用“:”切换至末行模式,保存退出。

$less  guestuser1.plan

$less  guestuser1.plan  >>  /dev/tty2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS8基础篇3:使用vim编辑文档 的相关文章

  • 让“git pull”在拉取不同分支时要求确认

    当同时处理许多项目和分支时 我偶尔会犯一些愚蠢的错误 比如拉入错误的分支 例如在分支上master I did git pull origin dangerous code并且有一段时间没有注意到这一点 这个小错误造成了很大的混乱 当我尝试
  • 如何随时暂停 pthread?

    最近我开始将 ucos ii 移植到 Ubuntu PC 上 我们知道 在pthread的回调函数中的 while 循环中简单地添加一个标志来执行暂停和恢复是不可能模拟ucos ii中的 进程 的 如下解决方案 因为ucos ii中的 进程
  • 从 gitlab docker runner 启动声纳扫描仪

    我有一个 CI 工作流程 集成了 linting 作业和代码质量作业 我的 Linting 工作是一个 docker runner 从应用程序代码启动我的 eslint 脚本 然后我的代码质量工作应该启动声纳扫描仪泊坞窗实例 检查我的代码并
  • 如何修改s_client的代码?

    我正在玩apps s client c in the openssl源代码 我想进行一些更改并运行它 但是在保存文件并执行操作后 我的更改没有得到反映make all or a make 例如 我改变了sc usage函数为此 BIO pr
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • 当我通过 shell 脚本创建 .txt 文件时,为什么文件名末尾出现问号? [复制]

    这个问题在这里已经有答案了 我正在编写一个 shell 脚本 我应该在其中创建 1 个文本文件 当我这样做时 文件名末尾出现一个问号 是什么原因 我正在 bash 脚本中尝试以下方法 1 grep ERROR a1 gt text txt
  • 在Linux伪终端中执行从一个终端发送到另一个终端的字符串

    假设我有一个终端 其中 tty 的输出是 dev pts 2 我想从另一个终端向第一个终端发送命令并执行它 使用 echo ls gt dev pts 2 仅在第一个终端中打印 ls 有没有办法执行字符串 不 终端不执行命令 它们只是数据的
  • vim 映射键不起作用

    我一直在尝试映射 ctrl 来在 vim 的插入模式下保存 它似乎永远不起作用 http vim wikia com wiki Map Ctrl S to save current or new files http vim wikia c
  • Nasm 打印到下一行

    我用 nasm Assembly 编写了以下程序 section text global start start Input variables mov edx inLen mov ecx inMsg mov ebx 1 mov eax 4
  • 在键盘热插拔上加载模块

    我正在尝试学习如何为 Linux 系统编写模块和驱动程序 类似于this https unix stackexchange com questions 120839 usb kernel module does not load on de
  • 有关 Linux 内存类型的问题

    关于Linux内存我有以下问题 我知道活动内存是最常访问的内存部分 但是有人可以解释一下 linux 如何考虑将内存位置用于活动内存或非活动内存 主动存储器由哪些部分组成 磁盘 文件缓存是否被视为活动内存的一部分 有什么区别Buffers
  • xdotool 类型需要很长时间并导致整个桌面冻结

    我一直在使用xdotool type过去只能在快捷方式上输入耸肩xdotool type 这可行 但总是需要相当长的时间 并导致整个桌面冻结 完全冻结 而不仅仅是输入 几秒钟 不过并没有太打扰我 现在我需要一种方法来从文件中读取内容 对其进
  • 测试linux下磁盘空间不足

    我有一个程序 当写入某个文件的磁盘空间不足时 该程序可能会死掉 我不确定是否是这种情况 我想运行它并查看 但我的测试服务器不会很快耗尽空间 有什么办法可以嘲笑这种行为吗 看起来没有任何方法可以在 Ubuntu 中设置文件夹 文件大小限制 并
  • 变量作为 bash 数组索引?

    bin bash set x array counter 0 array value 1 array 0 0 0 for number in array do array array counter array value array co
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 如果文件类型 == tex

    如果文件是乳胶文件 我想在 vimrc 中运行命令 我想我的语法有问题 但它不起作用 有什么线索吗 if filetype tex set spell endif 您可以使用自动命令来实现您想要的 autocmd BufNewFile Bu
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • 如何使用ffmpeg重叠和合并多个音频文件?

    我正在尝试将多个音频文件合并到一个文件中 但我可以使用以下命令来连接 而不是连接 ffmpeg v debug i file1 wav i file2 wav i file3 wav filter complex 0 0 concat n
  • grails 上的同步块在 Windows 上有效,但在 Linux 上无效

    我有一个 grails 应用程序 它依赖于服务中的同步块 当我在 Windows 上运行它时 同步按预期工作 但当我在 ams linux 上运行时 会出现 StaleObjectStateException 该问题在以下示例中重现 cla

随机推荐

  • python做项目管理_python项目实现配置统一管理的方法

    一个比较大的项目总是会涉及到很多的参数 最好的方法就是在一个地方统一管理这些参数 最近看了不少的python项目 总结了两种很有意思的配置管理方法 第一种 基于easydict实现的配置管理 首先需要安装numpy easydict以及ya
  • HCIP第十天作业

    要求及拓扑图 第一步 配IP 给AS2上的路由各配两个环回 其中一个是建邻用的 其他按正常配 第二步 给AS2上的路由配一个OSPF协议 并且将用户环回改成广播通信 第三步 起BGP协议 R1 R8直连 64512跟64513是两个联邦 所
  • 2.比较运算符逻辑运算符

    比较运算符逻辑运算符 比较运算符 比较运算符 gt 大于 lt 小于 等于 gt 大于等于 lt 小于等于 不等于 注 Infinity Infinity NaN NaN 比较结果为true或者false 字符串比较时是比较ASCII码的值
  • SaaS部署和私有化部署的区别及各自的优点

    以前开发一个软件如果想要在企业内运行就必须要安装在本地的服务器上 这就导致企业除了需要支付软件开发的费用之外 还需要支付服务器的费用 但是随着软件开发技术的不断发展 现在很多软件都不需要安装服务器用户通过互联网就能够访问到软件获得服务 这就
  • S7-1500项目案例程序,带5个S7-1200轮询,5个ET200SP

    S7 1500项目案例程序 带5个S7 1200轮询 5个ET200SP 博图软件编程 PTO脉冲模式控制20个轴 100个气缸 与2台机器人联动 采用ModbusRTU 485通讯 PROFINET IO智能通讯 PTP RS232自由口
  • 怎么查服务器的配置信息,怎么查自己服务器的配置信息

    怎么查自己服务器的配置信息 内容精选 换一换 精简视图提供了云服务器资源概况和状态的可视化统计结果 帮助您直观的了解云服务器资源 在精简视图中 您可以快速获取弹性云服务器基本信息 登录信息 配置信息 监控信息 精简视图提供了云服务器资源概况
  • git clone 报错SSL connect error

    在一台centos上搭建frp的时候遇到了这个问题 做下记录 问题提示 fatal unable to access https github com fatedier frp git SSL connect error 原因 缺少相应的库
  • 关于PHPstorm打开laravel的代码提示的工具的方法

    关于PHPstorm打开laravel的代码提示的工具的方法 1 composer 安装 composer require barryvdh laravel ide helper 2 生成模型的工具 php artisan ide help
  • vlc集成c#_c#的一个视频播放库的封装-VLC.DotNet

    VLC的强大是众所周知的 如果你不知道 那你现在就知道了 FFMPEG和VLC的关系 VLC调用了FFMPEG的库 FFMPEG和libav的关系 libav是FFMPEG的开发人员中独立出来一部分后创建的一个新的工程 以上都是段子 没有深
  • QT 鼠标形状设置

    QT提供了十分便捷的设置鼠标形状的方法 在QT界面的根类QWidget中有QCursor cursor void setCursor QCursor void unsetCursor 三个方法 因而对于一切直接或间接继承自QWidget的控
  • Java缓存 @上源码

    用途 提高响应速度 减轻后台处理负担 分类 1 前端 客户端浏览器缓存 CDN加速 代理服务器缓存 nginx 2 后端 本地缓存 Guava Cache Ehcache 分布式缓存 Memcache Redis 数据库缓存 按照存放介质类
  • 奥的斯服务器故障显示m什么意思,奥迪斯电梯故障代码对照表 奥的斯电梯故障解决方法...

    刚从事电梯维保行业 我们除了培训中系统的学习外 实践中总结出来的窍门和技巧同样重要 当我们所见的故障案例和维修的电梯比较多的时候 经验及自然来了 这就是我们经常说熟能生巧 下面是diantijob小编整理的关于奥的斯电梯常见的故障代码和故障
  • h5移动端,通过监听路由回退事件关闭弹窗

    最近在做一个商城项目 项目设计是在移动端浏览器上使用 目前先不内嵌在app内部 在做商品详情页的时候 也调研了其他的app交互 其中有一个交互是在商品详情页 点击当前商品包含的服务详情按钮 会弹窗 点击返回按钮或者手机自带的返回 会关闭弹窗
  • 前后端分离--用户注册功能的实现

    爱旅行 用户注册 Object Obj application getAttribute active itripUser getUserCode 不能 toString 可能obj的值为空 就会出现异常 String activeCode
  • matlab最小分类错误全局二值化算法

    转自 http download csdn net detail hupeng810 1511870 function imagBW kittlerMet imag KITTLERMET binarizes a gray scale ima
  • git clone 遇到问题:fatal: unable to access ‘https://github.comxxxxxxxxxxx‘: Failed to connect to xxxxxxx

    git clone 遇到问题 fatal unable to access https github comxxxxxxxxxxx Failed to connect to xxxxxxxxxxxxx
  • ContOS7镜像下载与安装

    contos7的安装 文章目录 contos7的安装 一 镜像下载 二 安装 一 镜像下载 官网下载链接 http isoredirect centos org centos 7 isos x86 64 阿里云镜像站点 http mirro
  • Vite跨域设置

    Vite跨域设置 步骤一 vite config ts配置 proxy 跨域代理 apis target http env VUE APP BASE API target http url port changeOrigin true re
  • 一起学nRF51xx 6 - uart

    前言 通用异步接收器 发送器提供快速 全双工 内置流量控制的异步串行通信 CTS RTS 在硬件方面支持高达1Mbps波特率 支持奇偶校验和第9位数据生成 用于每个UART接口线的GPIO可从芯片上的GPIO中任选 而且可独立配置 这使得芯
  • CentOS8基础篇3:使用vim编辑文档

    一 vim编辑器 vim 编辑器共有三种工作模式 分别是命令模式 输入模式和末行模式 例2 24 使用vim编辑器创建并编辑文件hello c 二 查看文件内容命令 1 more less 浏览文件全部内容 当文件内容过多时 可以用more