关山难越,谁悲失路之人;萍水相逢,尽是他乡之客。
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程教程 > 技术文章 > 正文

rhcsa8精品课笔记-vim编辑器和重定向

guanshanw 2023-08-20 13:47 35 浏览 0 评论

1.编辑 件的内容,命令 编辑 具vi/vim

命令 的情况

rhcsa8精品课笔记-vim编辑器和重定向


vim path( 件)


当使 vim指定 个 本 件的时候,会进 该 本 件,并查看到该 本 件的内容。此时,默认情况下是不能对该 件进 内容修改的。


vim分为4 模式:


命令模式(确定光标在哪)


编辑模式


末 模式


可视化模式



只有在编辑模式下,才能类似于windows记事本那样去编辑 件。



当vim指定 件然后回 ,进 的第 个模式是命令模式。



hjkl分别代表←↓↑→,这四个字 都属于命令模式 的“命令”。



有些系统提供的命令 不 持 键盘,或者你的键盘压根就没有 键盘。



4个命令已经讲完了,hjkl表示命令模式 调整光标 向的命令。


论光标在任何位置,输 gg,就能将光标切换到 ( 本的第 的最前 )输 G就能切换到最后 ,shift+g=G


输 nG就能切换到第n ,3G,就能切换到第三 ,123456G是什么意思。


按完3,松 ,然后再按G,不是按住3,再按G。



光标所在位置按x,能删除光标所在位置的字符。如果连续按x,就会不断的向右删除字符。


光标所在位置按X,就能删除光标所在位置左侧的第 个字符,如果练习按X,就会不断的向左删除字符。


按u能撤回上 次的操作,相当于windows 的ctrl+z,windows的ctrl+z是有限制的。windows能撤回次数有限,取决于编辑软件的缓冲区设置。vim命令模式下的u, 乎可以 限次的撤回到 件内容最开始的部分。按住u,就会 直撤回,直到恢复你刚进到 本的样 。





在命令模式下,输 i,I,o,O,a,A都能进 编辑模式,在编辑模式(任何模式)按ESC键就能退回到命令模式,为了防 有些同学按ESC键没按到,或者ESC没起作 。


经验: 定能退回到命令模式-(狂按ESC)





编辑模式:


命令模式下按i,就会开始从光标所在位置的左侧开始插 本


命令模式下按I,光标就会 刻到达光标所在 的 开始插 本


命令模式下按a,就会开始从光标所在位置的右侧开始插 本


命令模式下按A,光标就会 刻到达光标所在 的 尾开始插 本


命令模式下按o,就会在光标所在 下 另起 开始插 本


命令模式下按O,就会在光标所在 上 另起 开始插 本


让你在某个配置的 件第486 配置下 另起 ,添加Listen 223



486G o


Listen 223



在命令模式下还有很多命令


在命令模式下按dd就能删除光标所在


在命令模式下按5dd就能删除包含光标所在 的下5在命令模式下按yy就能复制光标所在


在命令模式下按8yy就能复制包含光标所在 的下8


如果在命令模式的上 次操作中包含dd或者yy这种命令,dd和yy所删除或者复制的那些 ,都可以通过p命令粘贴出来。


当在命令模式下输 p时,会将上次dd或者yy指定的 ,增加到光标所在 的下 当在命令模式下输 p时,会将上次dd或者yy指定的 ,增加到光标所在 的上












在命令模式下输 “/”或者“:”就能进 末 模式末 模式下常 的操作就如下 种:


1:查看指定的字符串



在命令模式下输 "/"然后输 要查找的字符串,然后回 ,就会将查找到的字符串 亮的颜 显示出来。如果没找到,则会报错。


如果找到了内容,会以 亮颜 显示。如果找到了多个,可以按n切换到下 个找到的字符串,按N可以切换到上 个找到的字符串。



3:保存 本内容


在命令模式下输 :可以切换到末 模式,按w(write)然后回 ,就可以将修改的内容保存,即使保存了内容,命令模式的u仍然可以撤回。


:wq相当于:x表示保存退出





4:退出vim编辑器(如果修改的内容没有保存是不能正常退出编辑器的,如果强制退出会导致编辑的内容丢失)


保存之后可以在":"的末 模式输 q(quit)然后回 退出。


:q!表示强制退出。之前编辑的内容就不会保留。



在":"的末 模式下 持:wq直接保存退出。



由于Linux是 个多 户的操作系统,所以有可能出现多个 户同时编辑同 个 件的情况,所以要学会查看vim的异常状态。

:set number回 能显示 号

:set nonumber回 去掉 号


2: 本内容的替换



:n1,n2s/old content/new content/global


上 的操作会将第n1 开始,n2 结束,这些 之间且包含n1和n2 中old content替换成new content





:5,10s/123/456/g


第5 到第10 的123全部替换成456



:100,2000s/789/abdddddd/g

第100 到2000

:1,$s/1.1.1.1/172.16.33.90/g

第 到最后 的所有1.1.1.1替换成172.16.33.90

$就表示最后 。

如果要替换前的 本和替换后的 本 有特殊字符,需要 转义字符\,转义 下。





:1,$s///

替换结尾是否加g,表示是否进 全局替换。如果不加g,只会在每 的第 个找到的字符串做替换。


可视化模式:命令模式下按v或者V,或者ctrl+v能进 到可视化模式。

vi编辑器和vim编辑器

vim可以理解是vi plus



有些linux的发 版本默认没有vim,只有vi,你可以选择安装vim。

上 讲的所有操作,在vi上也可以使 。同样适 。



2.输出重定向

当我输 个命令之后,回 ,命令产 了结果,结果默认是输出到屏幕上的。

默认情况, 论 个命令执 正确与否,结果都会默认输出到屏幕上。

在有些情况下,我可能需要保留命令或者脚本输出的结果。当做log, 作后 分析。

将命令或者脚本产 的结果保存下来的意义。

cat /etc/hosts 产 的结果是正确的,我们可以使 >和>>将这个命令正确的结果输出到 个 件中

cat /etc/hosts > /root/file1 就是将">"前 命令的结果送到/root/file1 件中, 不是屏幕那个上。

>和>>是正确的重定向,能将正确的结果重定向到 件中,区别是

>会将指向的 件内容完全覆盖

>>会将重定向的内容追加到指定的 件

>就是正确的覆盖

>>就是正确的追加

2>就是错误的覆盖

2>>就是错误的追加

&>正确错误都覆盖

&>>正确错误都追加

&>> /dev/null


/dev/null是 个特殊的 件,如果将重定向指向这个 件,那么就相当于将执 结果送到 洞中。直接没了。



有些时候,我们不想让这个命令的输出显示到任何地 ,就送到 洞中。



3.输 重定向(可以将交互式命令变成 交互式命令)


mail

cat

<

<<

完全不 样

4.引 些shell脚本的思想


shell脚本其实就是Linux命令的集合体


个脚本 可以有N个Linux命令


但是shell脚本 要尽可能的是 交互式命令这样才能让脚本“ 动”



相关推荐

七条简单命令让您玩转Git
七条简单命令让您玩转Git

凭借着出色的协作能力、快速部署效果与代码构建辅助作用,Git已经得到越来越多企业用户的青睐。除了用于开发商业及消费级应用之外,众多科学及政府机构也开始尝试使用这...

2023-10-07 12:14 guanshanw

基本完整的关于Git分支branch的操作
基本完整的关于Git分支branch的操作

Git使用背景项目中要用到dev或者其他分支开发完代码,需要将该分支合并到master的需求操作步骤下面以dev名称为lex为分支名为例来操作一遍客户端操作:...

2023-10-07 12:14 guanshanw

Git 进阶(合并与变基)
Git 进阶(合并与变基)

在Git中整合来自不同分支的修改主要有两种方法:合并(merge)以及变基(rebase)合并(merge)merge流程图merge的原理是找到这两个分...

2023-10-07 12:13 guanshanw

Git学习笔记 003 Git进阶功能 part5 合并(第一部分)

合并(merge)是很常用的操作。尤其是一个庞大的很多人参与开发的企业级应用。一般会设定一个主分支,和多个副分支。在副分支开发完成后,合并到主分支中。始终保持主分支是一个完整的,稳定的最新状态的分支。...

非标题党,三张图帮你理解git merge和git rebase的区别
非标题党,三张图帮你理解git merge和git rebase的区别

初始场景:基于正常的开发分支修改几个小bug,然后在合并到开发分支上。gitmergegitcheckoutfeaturegitmergeho...

2023-10-07 12:13 guanshanw

git 初次使用(01)
git 初次使用(01)

先从github上克隆代码下来:使用vscode克隆代码如下图,填写上github仓库地址:vscode有时候克隆代码速度比较慢,可以用命令行方式克隆gitc...

2023-10-07 12:12 guanshanw

Git 远程操作

4.Git远程操作命令说明gitremote远程版本库操作gitfetch从远程获取版本库gitpull下载远程代码并合并gitpush上传远程代码并合并4.1远程版本库操作gitre...

Git常用命令-总结
Git常用命令-总结

创建git用户$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.em...

2023-10-07 12:12 guanshanw

git中删除从别人clone下来项目的git信息,并修改为自己的分支

如果你从别人的Git存储库中克隆了一个项目,并想要删除与该存储库相关的Git信息,并将其修改为你自己的分支,则可以执行以下步骤:使用gitclone命令克隆存储库:gitclone<u...

git系列-回滚和放弃本地修改

回滚历史提交就是reset的功能。这种情况是已经提交远程仓库,需要回滚到之前的提交。gitreset--hardcommitId//注:强制提交后,当前版本后面的提交版本将会删掉!gi...

GIT使用小技巧大全
GIT使用小技巧大全

在大型软件工程的开发过程中,版本控制是无法绕过去的;目前来说,最火的版本控制软件就是GIT了。早两年SVN比较火,不过被大神linus喷了几次后,就日落西山了,...

2023-10-07 12:11 guanshanw

git相关命令-上
git相关命令-上

这些命令都是看了文档后,个人觉得比较有用的一些,展示给大家。回到远程仓库的状态抛弃本地所有的修改,回到远程仓库的状态。gitfetch--all&...

2023-10-07 12:10 guanshanw

Git命令行接口:掌握Git的必备技能
Git命令行接口:掌握Git的必备技能

Git是一款强大的分布式版本控制工具,它支持命令行界面操作。熟练掌握Git命令行接口,是开发者使用Git的必备技能之一。在这篇文章中,我们将介绍Git命令行接口...

2023-10-07 12:10 guanshanw

Git命令详解
Git命令详解

相信各位小伙伴们应该都对git有一些了解,毕竟作为代码管理的神器,就算不是IT行业的小伙伴肯定也或多或少的听说过一些。今天就来和小伙伴们分享一下自己总结的常用命...

2023-10-07 12:10 guanshanw

工作7年收集到的git命令
工作7年收集到的git命令

概念git中的术语解释:仓库也叫版本库(repository)stage:暂存区,add后会存到暂存区,commit后提交到版本库git安装linux...

2023-10-07 12:10 guanshanw

取消回复欢迎 发表评论: