当前位置: 首页 > news >正文

《Linux 输入输出重定向与 VI 编辑器:全面操作指南与原理剖析》

系统凭借其高效、稳定和开源的特性占据着重要地位。而 Linux 输入输出重定向和 VI 编辑器作为系统中不可或缺的两大核心功能,是每一位 Linux 使用者必须掌握的关键技能。输入输出重定向能够灵活控制命令的输入来源和输出去向,大大提升了数据处理的效率;VI编辑器则以其强大的文本编辑能力,成为在命令行环境下编辑文件的首选工具。本文将带你深入探索这两个重要功能,不仅会详细介绍它们的各种操作方法,还会对其背后的原理进行剖析。无论你是初涉 Linux的新手,还是希望进一步提升技能的专业人士,相信都能从本文中获得有价值的知识和实践经验。

2.12.1 VI编辑器
1-1 移动光标

代码语言:javascript

AI代码解释

## 左,下,上,右,如果键盘上没有上下左右键,可以h,j,k,l ## 进入编辑模式有三个按钮:i、a、o, i在光标位置编辑、a是在光标后一位编辑、o是换行编辑,新起一行 ctrl+f 下翻一页 ctrl+b 上翻一页 ctrl+u 上翻半页 ctrl+d 下翻半页 ## 0 跳至行首,不管有无缩进,就是跳到第0个字符 ## ^ 跳至行首的第一个字符 ## $ 跳至行尾(shift+4) ## gg 跳至文首 ## G 跳至文尾(shift+g) ## 5gg/5G 调至第5行,或者命令行模式:5回车,也是跳到第5行,所以其实操作命令都不是唯一的
1-2 删除复制

代码语言:javascript

AI代码解释

## x删除单个字符 ## 10x删除10个字符 ## dd 删除光标所在行(其实dd是剪切的操作), ## 使用u撤销之前的操作,使用ctrl+r恢复 ## 6dd 从光标开始往下删除6行 ## dw 删除一个单词(word) ## 小p 粘贴粘贴板的内容到当前行的下面,比如将dd剪切的行黏贴到下面 ## 大P 粘贴粘贴板的内容到当前行的上面 ## yy 复制行 ## 5yy复制5行,复制的内容可以通过p\P来黏贴
1-3 搜索和替换

代码语言:javascript

AI代码解释

## 搜索: /pattern 向后搜索字符串pattern #辅助小n向下和大N向上,一般都是用/来搜索 ?pattern 向前搜索字符串pattern #辅助小n向上和大N向下,?搜索用的少 ## 替换: :1369s/shell/jaden/g # 将第1369行的shell替换为jaden,/还可以用#或者@符号来代替::1369s#shell#jaden#g :1369,1379s/shell/jaden/g # 将1369至1379这10行中的shell替换为jaden :1369,$s/shell/jaden/g # 将1369至文末中的shell替换为jaden :%s/old/new/g #搜索整个文件,将所有的old替换为new :%s/old/new/gc #搜索整个文件,将所有的old替换为new,每次都要你确认是否替换(y/n/a/..),y表示确认替换一个、n表示不替换、a表示全部替换
1-4 退出编辑器

代码语言:javascript

AI代码解释

## :w 将缓冲区写入文件,即保存修改到硬盘上,但是不退出vi,如果我们改到一半的时候可以提前保存一下,以防断电,因为新编辑的数据是在内存中的,而且vi不会自动保存。 ## :wq 保存修改并退出 ## :x 保存修改并退出,和wq一样的效果。 ## :q 退出,如果对缓冲区进行过修改,则会提示 ## :q! 强制退出,放弃修改 ## :wq! 强制保存修改并退出
1-5 vi注意问题和原理说明

代码语言:javascript

AI代码解释

### vi编辑内容原理

在这里插入图片描述

注意,如果内存中的数据没有修改,没什么事儿,如果修改了,并且不小心断开连接了,也就是没有正常退出vi,比如我们看一下:

在这里插入图片描述

那么这个隐藏文件会一直在硬盘上,当我们再次vi修改jaden.txt的时候,就会看到如下提示信息:

image-20230708151527097

这是提示你,已经有这个 .jaden.txt.swp 文件了。你看到这个提示信息就要考虑一下,是不是自己之前不小心没保存就掉线了,还是说有其他人正在编辑这个文件。如果是自己之前没有保存,那么可以选择删除这个隐藏的swp文件,再编辑就没有这个提示了,这是最简单的方式。或者输入 vi -r jaden.txt 会看到自己之前保存的内容,重新 wq! 保存一下,然后再删除 .jaden.txt.swp 文件即可,自己之前的修改也就还在。 vim编辑的时候会提示如下

image-20230708151605312

代码语言:javascript

AI代码解释

## 如果是有其他人在编辑这个文件,你就输入O,表示只读模式打开,E是直接编辑,R是恢复文件,Q是退出不编辑了,A是中止操作。其实还有个D指令,直接删除隐藏文件。
1-6 不会vi怎么办

代码语言:javascript

AI代码解释

## 可以把文件拷贝到物理机,通过物理机的记事本或者nodepad++等编辑器修改,修改完去替换原文件即可。 ## 比如xftp就可以帮我们下载文件。但是如果一个比较大的文件,我们只改动一点内容,就可以学学vi,没必要上传下载文件来操作,耗时。
2.12.2 输入输出重定向
2-1 输出重定向01–清空文件

代码语言:javascript

AI代码解释

## 输出: ## > 输出重定向, 将命令执行结果不输出到屏幕上,输出到文件里,会清空原文件,所以输出的时候一定要注意,文件名称要看好了。 [root@localhost ~]# head -20 services > 2.txt [root@localhost ~]# cat 2.txt [root@localhost ~]# seq 100 > 1.txt [root@localhost ~]# echo 123 > 1.txt [root@localhost ~]# cat 1.txt 123 ## 清空文件内容 [root@localhost ~]# > 1.txt [root@localhost ~]# cat 1.txt
2-2 输出重定向02–追加

代码语言:javascript

AI代码解释

## >> 输出追加重定向,不会清空原文件 [root@localhost ~]# echo aaaaa >> 2.txt [root@localhost ~]# cat 2.txt
2-3 标准正确–错误输出重定向

代码语言:javascript

AI代码解释

## 如果输出文件还没指定,则自动创建 [root@localhost ~]# cat jaden.txt 1>1.txt 2>2.txt # 指令正确会将数据保存到1.txt中
2-4 < 输入重定向

代码语言:javascript

AI代码解释

## 输入: ## < 输入重定向 [root@localhost ~]# cat < jaden.txt > 3.txt # 将jaden.txt的数据输入过来并写入3.txt中 [root@localhost ~]# cat jaden.txt ## << 输入追加重定向(这个就不演示了,遇到了再说) # 标准输入0,支持用户直接输入内容 [root@localhost ~]# cat << 0 > 1 > 2 > 2222 > 0 ## 输入0就退出 1 2 2222 [root@localhost ~]# cat << 0 > 22.txt ## 给屏幕输入一些内容,并保存到文件里 > a > b > ddd > 0 [root@localhost ~]# cat 22.txt a b ddd
总结:

希望这篇文章能够为你在探索 Linux系统的道路上提供有力的帮助,让你在操作 Linux 系统时更加得心应手。 对 Linux系统有着深入的研究和丰富的实践经验。我致力于分享各种系统相关的知识和技巧,帮助大家解决在使用过程中遇到的各种问题。如果你觉得这篇文章对你有所帮助,欢迎点赞、收藏和分享哦同时,也希望你能关注我的博客,我会持续为大家带来更多优质的系统技术文章,包括但不限于 Linux> 系统的深入探索、系统优化、故障排除以及各种有趣的实战案例。 如果你在学习和使用 Linux 系统的过程中遇到任何问题,或者对某些内容有疑问,欢迎在评论区留言,我会尽力为大家解答。让我们一起在系统技术的海洋中遨游,不断提升自己的技能水平,共同探索系统世界的奥秘 再次感谢大家的阅读,期待我们下次再见!


http://www.jsqmd.com/news/454456/

相关文章:

  • Spring推出Spring AI框架,看看怎么个事
  • 2026年无纸化会议系统推荐指南:会议音响套装/吸顶会议音箱/国产无纸化会议/多媒体室音响/大礼堂音响/选择指南 - 优质品牌商家
  • 【Linux系统】进程地址空间
  • Linux网络编程:应用层自定义协议与序列化
  • 2026年外贸建站公司实力大盘点:口碑、技术、信用TOP级企业全解析 - 品牌推荐大师1
  • 年度总结:我的技术成长与反思
  • 【Linux系统】命令行参数和环境变量
  • 核“芯”动力,重构无人机通信边界——LR1121IMLTRT 多频段LoRa收发器
  • Java项目中策略模式的使用方法:从零开始掌握可扩展业务逻辑设计
  • 互联网大厂Java小白面试:从基础到进阶的技术问答细节
  • 2026年快速温变试验箱优质供应商盘点:哪家能耗更低? - 品牌推荐大师
  • 2026年波纹金属软管厂商评价排行,目前评价好的波纹金属软管厂商选哪家,波纹补偿器/阀用波纹管,波纹金属软管品牌推荐 - 品牌推荐师
  • 零碳园区商业模式创新的政策支持对企业有哪些影响?
  • Linux服务器崩溃急救指南:实战演练常见故障排查
  • 互联网大厂Java面试:Spring Boot微服务与Redis缓存应用场景分析
  • Flutter 三方库 clean_feature_gen 的鸿蒙化适配指南 - 掌握整洁架构自动化生成技术、助力大中型项目构建高内聚、低耦合且极速迭代的功能模块体系
  • Java Web 榆林特色旅游网站系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • 柴油发电机3D模型图纸 Solidworks设计
  • 2026热收缩膜包装机优质厂商推荐榜 - 优质品牌商家
  • Spring的下载与配置
  • 2026年天津国际高中择校全指南:优质名校盘点与升学规划策略 - 品牌2026
  • 2026年3月深圳家庭影院、客厅影院音响、定制影院音响、家庭影院KTV音响、家庭影音解决方案、客厅影K套装音响服务商综合选购推荐报告 - 2026年企业推荐榜
  • 立体库SolidWorks三维
  • 得帆云iPaaS如何以“可控”破解AI应用落地难题
  • 2026年NMN、NAD+硬核领跑品牌,NMN什么品牌最好?NMN十大靓牌认证 - 速递信息
  • Flutter 三方库 olx_test_runner 的鸿蒙化适配指南 - 打造工业级的自动化测试流水线、助力鸿蒙应用交付质量跃升
  • 基于Java+SSM+Django影院管理系统(源码+LW+调试文档+讲解等)/影院管理软件/影院管理系统功能/影院管理系统优势/影院排期系统/影院售票系统/影院订票系统/影院会员管理系统
  • 【毕业设计】SpringBoot+Vue+MySQL 智能停车计费系统平台源码+数据库+论文+部署文档
  • 万里通积分卡如何快速回收?线上平台实用指南大揭秘! - 团团收购物卡回收
  • 深海服务器:高压环境代码容错设计的技术实践与测试验证