Linux基础之vim使用技巧、输入输出重定向和管道符的使用

vim各种模式下的使用技巧、标准输入标准输出标准错误和管道的使用

<1>命令模式

1.调整vim工作方式

:set调整参数
:set nu显示行号
:set nonu取消行号
:set mouse=a光标根据鼠标点击移动
:set cursorline显示行线

(搜索获取更多指令)退出后会还原,因为命令模式下在内存中运行,想要永久设定-编辑配置文件 vim /etc/vimrc,在最后面写,不用写冒号(冒号是vim开始符),注意养成编辑不熟悉文件前先备份、再编辑的习惯.
在这里插入图片描述在这里插入图片描述
2.字符的搜索
/关键字,高亮显示关键字
小n向下,N向上匹配
:noh取消高亮显示的关键字

3.字符管理
y 复制:y-yl 复制一个字符y3l复制三个字符 yw复制一个单词 y3w复制三个单词 yy复制一行 y4y复制四行;
d 删除:d-dl 删除一个字符 d3l删除三个字符 dw删除一个单词d3w dd删除一行d3d删除三行;
c 剪切:c-cl 剪切一个字符c3l剪切三个字符 cw剪切一个单词 c2w 剪切两个单词cc 剪切一行c6c 剪切六行…进行剪切操作会进入插入模式,想进行其它操作要先退出Esc
p-粘贴
u-撤销-undo
ctrl+r 恢复撤销内容-redo

4.vim可视化模式-可以选择区域操作
将光标停留在想操作的地方ctrl+v进入可视化模式
批量添加字符-列-ctrl+v选中所在列,I进入insert,在一列输入想添加字符,按Esc

5.字符的替换 – s/要替换的字符/替换成的字符/g

操作效果
:%s/sbin/westos/g%s-所有行 g-所有列的sbin替换成westos
:7,9s/sbin/westos/g7-9行的sbin替换成westos
:/字符1/,/字符2/s/sbin/westos/g替换两字符之间的sbin为westos

在这里插入图片描述在这里插入图片描述在这里插入图片描述
不加g只替换每一行的第一个要替换的字符
“”-引号-引用-转译引号内的所有内容
-转译 转译反斜杠后面的内容

6.vim分屏功能
同步同时编辑:可以将一样的内容保存到多个文件

ctrl+w按完松开+s\v\c\上下左右
上下分屏ctrl+w s
左右分屏ctrl+w v
关闭光标所在屏幕ctrl+w c
ctrl+w上下左右 光标移动到指定屏幕

在这里插入图片描述
不同步编辑:对另一个文件复制粘贴抄写操作
:sp file2name

7.命令模式下光标的移动

gg光标移动到第一行
:行号光标移动到指定行
G光标移动到最后一行
<2>插入模式

插入模式光标的移动
i 在光标所在位置插入
I 在光标所在行首插入
o 在光标所在下一行插入
O 在光标所在上一行插入
a 在光标所在下一字符插入
A 在光标所在行尾插入
s 删除光标所在字符并插入
S 删除光标所在行并插入

<3>退出模式
:q退出
:wq退出保存
:q!强制退出不保存
:wq!适用于自己的文件/超级用户,对只读文件编写时使用
<4>标准输入、标准输出、标准错误

1.理解系统的输入输出
当Linux执行一个程序的时候,会自动打开三个流,标准输入(standard input),标准输出(standard output),标准错误(standard error)。比如说你打开命令行的时候,默认情况下,命令行的标准输入连接到键盘,标准输出和标准错误都连接到屏幕。对于一个程序来说,尽管它总会打开这三个流,但它会根据需要使用,并不是一定要使用。系统中有12个文件描述符,常用的是0,1,2,分别对应的是标准输入、输出和错误。

文件名称文件描述符
标准输入0 (默认是键盘)
标准输出1 (默认是屏幕)
标准错误2 (默认是屏幕)

2.管理输入输出的符号
输出重定向>:重定向输出就是把要输出的文件信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)

>重定向正确输出
2>重定向错误输出
&>重定向所有输出

我们用普通用户身份student完成下述实验,重定向会覆盖原来的内容.

指令效果
find /etc/ -name passwd > file以覆盖的方式定向正确输出到file
find /etc/ -name passwd 2> file.err以覆盖的方式定向错误输出到file.err
find /etc/ -name passwd &> file.all以覆盖的方式定向全部输出到file.all &表示后台运行
> file清空file,也可用来创建新文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

>>以追加的方式正确输出到文件最后
find /etc/ -name passwd >> file以追加的方式定向正确输出到file
find /etc/ -name passwd 2>> file.err以追加的方式定向错误输出到file.err
find /etc/ -name passwd &>> file.all以追加的方式定向全部输出到file.all

3.| 管道符-把前一段输出变成后一段的输入,正常只允许正确输出通过,编号为1通过,可以加 2>&1 - 将编号2转换为1全部通过;如果需要保存输出内容,需要复制一份输出,用到的命令是tee 复制输出到指定位置。
(echo输出命令,能够把内容输出到文件里而不是标准输出;wc利用wc指令我们可以计算文件的Byte数、字数、或是列数,-l行数 、-w单词数、 -m字符数、 -c字节数,计算机存储容量基本单位是字节(Byte),字符是一种符号)

在普通用户下进行操作
find /etc/ -name passwd | wc -l ##会看到结果2,因为错误的输出不会通过管道
find /etc/ -name passwd 2>&1 | wc -l ##会看到结果19,因为编号为2的输出被2>&1转换为编号1
find /etc/ -name passwd 2>&1 |tee file | wc -l ##保存一份输出到file再统计行数
在这里插入图片描述

4.输入重定向 <:指不使用系统提供的标准输入端口,而进行重新的指定。换言之,输入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。(重定向简单理解就是使用 < 符来修改标准输入设备)
单次 tr ‘a-z’‘A-Z’< westos ##westos文件中内容大小写转换
(tr 命令用于转换或删除文件中的字符,tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备.)
多次 格式化输入内容到文件
cat > westos <<EOF
HELLO
WORLD
EOF在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来依次回答你提出的问题。 ### vi/vim 的三种模式 vi/vim 有三种模式:命令模式、插入模式和底行模式。 1. 命令模式:默认模式,可以进行光标移动、文本删除、复制、粘贴等操作。 2. 插入模式:进入插入模式后,可以正常输入文本,按 ESC 键退出插入模式。 3. 底行模式:在命令模式下输入冒号(:)即可进入底行模式,可以进行保存、退出、查找等操作。 ### vi/vim 模式的切换方法 1. 从命令模式切换到插入模式:按下 i、a、o、I、A、O 等键。 2. 从插入模式切换到命令模式:按下 ESC 键。 3. 从命令模式切换到底行模式:输入冒号(:)。 4. 从底行模式切换回命令模式:按下 ESC 键。 ### vi/vim使用方法 1. 打开文件:在命令模式下输入 vi 文件名。 2. 保存文件:在底行模式下输入 :w 保存文件。 3. 退出 vi/vim:在命令模式下输入 :q 退出,或输入 :q! 强制退出。 4. 复制和粘贴:使用 y 和 p 命令。 5. 查找和替换:使用 / 和 :s 命令。 ### shell 环境变量的相关定义及使用方法 环境变量是一种在操作系统中使用的变量,用于存储特定的值,例如路径、用户名等信息。在 shell 中,可以通过 export 命令定义环境变量,并通过 $ 号来使用环境变量。 例如,设置一个名为 MY_VAR 的环境变量,可以使用以下命令: ``` export MY_VAR="Hello World" ``` 然后可以通过以下方式来使用这个环境变量: ``` echo $MY_VAR ``` ### 输入输出定向、管道使用方法 输入输出定向是指将命令的输入输出定向到文件或设备上。可以使用 > 和 >> 来将输出定向到文件中,< 来将文件作为输入。例如: ``` ls > file.txt # 将 ls 命令的输出保存到 file.txt 文件中 sort < file.txt # 将 file.txt 文件作为 sort 命令的输入 ``` 管道是将一个命令的输出作为另一个命令的输入使用管道号 | 来连接两个命令。例如: ``` ls | grep "txt" # 将 ls 命令的输出作为 grep 命令的输入,查找包含 "txt" 的文件名 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值