linux学习 lesson3 vim & linux中管理输入输出

一、vim的工作模式

vim的工作模式可分为:
1.命令模式
2.插入模式
3.退出模式

1.vim的命令模式

1.1 vim帮助

方法1:
vim
:help
在这里插入图片描述
方法2
vimtutor

1.2 vim工作参数设定

#临时设定
:set 参数信息 
:set nu                 设置行标
:set nonu               取消行标
:set mouse=a           图形显示鼠标
:set cursorline           增加下划线
注意: 
以上设定方式在vim退出后会还原默认

#永久设定
vim /etc/vimrc
set nu
set mouse=a
set cursorline
注意:
以上操作必须用root用户才能完成
在这里插入图片描述

1.3 字符管理

  字符管理的整个过程是在非编辑模式下进行的,当shell最下方没有编辑标志(–INSERT–)时可进行操作。对字符进行的任何操作位置是光标所在位置,上|下|左|右键可以移动光标。

1.3.1复制

y   ##复制
yl   ##复制一个字母
y3l   ##复制三个字母
yw   ##复制一个单词
y3w   ##复制三个单词
yy   ##复制一整行
y3y   ##复制三行

1.3.2剪切

c   ##剪切
cl
c3l
cw
c3w
cc
c3c
#####注意:当用c做剪切动作后,vim会进入插入模式。如果需要粘贴那么要按ESC退出插入模式,然后按P粘贴。#####

1.3.3删除

d   ##删除
dl
d3l
dw
d3w
dd
d3d

1.3.4其他操作

p ##粘贴
u ##撤销
ctrl+r ##恢复

                         
     

1.4.vim的可视化模式

ctrl+v ##进入可视化模式,可视化模式的批量添加ctrl+v进入可视化模式选中要添加字符所在列。
在这里插入图片描述
按"I"(大写)进入插入模式写入字符(123HHH),按批量添加字符出现。
在这里插入图片描述

1.5.字符的替换

:%s/源字符/替换后字符 ##每一行出现的第一个关键字

:%s/H/f

在这里插入图片描述

:%s/源字符/替换后字符/g ##全文替换,s所有行,g表示所有列

:%s/A/p/g

在这里插入图片描述

:3,5s/源字符/替换后字符/g ##替换第三行到第五行的关键字
:1,5s/p/o/g
在这里插入图片描述
:/lp/,/halt/s/sbin/hello/g ##图还lp字符和halt字符之间的所有关进字

1.6.在vim中编写多个文件

vim file
:sp file1

ctrl+w 上|下|左|右 ###光标在窗口之间的移动

1.7.光标移动及字符搜索

#光标的移动
:数字   ##光标移动到指定的行
HOME   ##光标移动到行首
END   ##光标移动到行尾
G   ##光标移动到最后一行
gg   ##光标移动到第一行

#搜索字符
/关键字
n #向下匹配
N #向上匹配

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

##############退出模式#########
:q #在打开文件没有修改时
:wq #退出保存
:q! #强制退出不保存
:wq! #强制退出并保存(仅限于root用户或属于自己的文件)

二、linux中管理输入输出

1输出

1.1输出重定向

  >   ##重定向正确输出
  2>   ##重定向错误输出
  &>   ##重定向所有输出
“注意:重定向动作覆盖源文件内容”

例子:
用student用户系统登陆

find/etc/ -name passwd

在这里插入图片描述

find/etc/ -name passwd >file        ##重定向正確輸出到文件
find/etc/ -name passwd 2>file       ##重定向错误输出到文件

在这里插入图片描述

find/etc/ -name passwd &>file         ##重定向正所有输出到文件

1.2输出追加

“追加会把定向的输出放到原文件最后不会覆盖原文件”
  >>
  2>>
  &>>

2.输入

vim test.sh        ##创建脚本以自动修改密码。

#!/bin/bash
 passwd<<EOF                ##进入修改密码
 student                    ##原始密码
 zr19960504                 ##新密码
 zr19960504                 ##确认新密码
 EOF

运行脚本修改密码

sh test.sh

在这里插入图片描述
#管道
|       ##把第一条命令的正确输出转为输入
2>&1   ##将编号为2的错误输出转换为编号为1
tee     ##将复制一份到指定位置

ls/bin | wc-1                               ##统计/bin中有多少文件

find/etc -name passwd 2>&1 | wc -1          ##将passwd中的错误输出转为正确并统计文件个数

find/etc -name passwd 2>&1 |tee file |wc -1 ##将passwd中的错误输出转为正确复制到目录file下并统计文件个数
 cat file                                   ##查看文件

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38864155/article/details/82957129