Linux运维之vim及管理输入输出

一、查看命令的帮助
1.查看命令的笼统用途
whatis   ls               查看ls命令的用途


2.查看命令
(1)首先判断命令时内置命令还是外部命令,输入命令:type ls   查看命令ls是内置命令还是外部命令


(2)如果是内置命令:help   命令
(3) 如果是外部命令:命令 --help 或者  man 命令


3.命令 --help的用法:
(1)[]: 表示可加也可以不加
(2)...: 表示有多个
(3)<>:表示必须加入
(4)Usage: 表示命令的用法

4.man 命令 的用法:
(1)man   命令


(2)man 5 文件名


(3)man中的基本用法:
 翻屏:向后翻一屏:space
            向前翻一屏:b
            向后翻一行:enter/J/上下
            向前翻一行:k
 查找:
        /Keyword
        n:下一个
        N:前一个
退出:
        q:退出
二、系统中的通用配置符号
1.  *                                匹配所有字符


2.  ?                                匹配单个字符


3.  [[:alpha:]]                   匹配单个字母


4.  [[:lower:]]                   匹配单个小写字母


5.  [[:upper:]]                  匹配单个大写字母


6.  [[:punct:]]                  匹配单个符号


7.  [[:alnum:]]                 匹配单个数字或字母


8.  [[:digit:]]                    匹配单个数字

9.  [1-9]                          匹配一位   1-9的数字


10.  [!3-5]                      匹配一位   不是3-5的数字


11.  [^3-5]                      匹配一位   不是3-5的数字


12.  [a-z]                        匹配一位   a-z的字母


13.  {1..3}                      匹配3个    1,2,3  


14.  {1,3,5}                    匹配5个    1,3,5

三、系统的输入输出管理
1.管理输入输出的符号
(1)输出重定向
    a.        >                        重定向正确输出
    b.        2>                      重定向错误输出
    c.        &>                      重定向所有输出
    d.        >file                    清空file文件


    注意:重定向会覆盖原文件内容

(2)重定向实例
    find  /etc  -name  psaawd  >  file                重定向正确输出到file


    find  /etc  -name  psaawd  2>  file              重定向错误输出到file


    find  /etc  -name  psaawd  &>  file             重定向所有输出到file


    注意:此实验需在普通用户下完成
(3)输出追加
    find  /etc  -name  psaawd  >>  file                追加正确输出到file


    find  /etc  -name  psaawd  2>>  file              追加错误输出到file


    find  /etc  -name  psaawd  &>>  file              追加所有输出到file


    注意:此实验需在普通用户下完成

2.管道的应用
(1)管道的作用:
    "|"管道的作用是把前一条命令的输出变成后一条命令的输入
    注意:a.管道只允许正确的输出通过;
                b.通过管道的输出将会变成输入,而变成输入的这些输出是会被第
                   二条命令处理的;                
                c.如果需要保存输出内容,用到的命令时"tee"。
(2)管道的示例:
    find  /etc/  -name  passwd | wc  -l                                 看到的结果为2,因为错误输出不能通过管道符


    find  /etc/  -name  passwd  2>&1 | wc  -l                     看到的结果为19,因为错 误输出被"2>&1"转换为正确输出
    find  /etc/  -name  passwd  2>&1 | tee file | wc  -l        保存一份输出到file,再统计行数
    注意:此实验需在普通用户下完成

3.输入重定向
    cat   >  file  <<EOF
    >    hello
    >    world
    >    EOF
    注意:输出重定向会覆盖原来的内容;输入重定向会覆盖原来的内容。

四、vim的基本使用
1.vim的三种模式及其转换
(1)vim命令的三种模式:输入模式(插入模式)、编辑/命令模式(普通模式)、末行模式(命令模式)。
(2)vim命令的三种模式的切换:
命令模式------>输入模式:i:插入光标前一个字符;I:插入行首;a:插入光      标后一个字符;A:插入行末;o:向下新开一行,插入行首;O:向上新开一行,插入行首。

输入模式------>命令模式:ESC
命令模式------>末行模式:   :wq  保存退出;   :w   保存;   :q!不保存强制退出,:wq!保存强制退出
末行模式------>命令模式    : 两次ESC

(3)或者称为:
普通模式:浏览文件
插入模式:对文件进行编辑
命令模式:临时更改vim的工作方式,字符批量处理

2.命令模式
(1)调整vim的工作方式的方法为:   
临时调整方法:   :set    调整的参数
示例:
:set   nu                             显示行号


:set   nonu                        去掉行号


:set   mouse=a                显示鼠标(即鼠标可以随意移动)


:set   cursorline                显示行线


注意:该方法时临时的方法,关闭vim之后会还原成原来的样子
永久调整方法:

编辑/etc/vimrc文件(vim /etc/vimrc,在该配置文件的最后一行,加入要调整的参数的相应代码)

(2)字符的管理
a.复制命令:
yl                               复制一个字母
y3l                             复制三个字母
yw                             复制一个单词
y3w                           复制三个单词
yy                              复制一行
y3y                            复制三行

b.删除命令:
dl                              删除一个字母
d3l                            删除三个字母
dw                            删除一个单词
d3w                         删除三个单词
dd                            删除一行
d3d                          删除三行
x                               删除光标所在的字符
X                              删除光标前一个字符,相当于backspace

c.剪切命令:
cl                              剪切一个字母
c3l                            剪切三个字母
cw                            剪切一个单词
c3w                          剪切三个单词
cc                             剪切一行
c3c                           剪切三行
注意:剪切之后会进入插入模式,如果要粘贴需要先按“ESC”退出插入模式,进入普通模式,再按“p”粘贴

d.粘贴命令:
p
e.撤销命令:
u
f.反撤销命令:
ctrl+r
g.重复命令:
.比如:敲dd(删除光标所在行),那么按.会继续执行这个命令
h.字符的查找命令:
/keyword          n:下一个      N:上一个

i.字符的查找替换命令:
:%s/要替换的字符/替换成的字符/g             其中g表示全局的意思
:%s/after/before/g                                          把全部的after替换为before


:1,5s/after/before/g                                        把1-5行的after替换为before

j.vim可视化
v                                         字符可视化
V                                        行可视化
ctrl+v                                  块可视化
应用:批量添加字符
第一步:ctrl+v进入块可视化,选中要加入字符的列

第二步:按“I”进入插入模式
第三步:加入字符
第四步:按“ESC”退出

k.vim的分屏
ctrl+w   s                        上下分屏
ctrl+w   v                        左右分屏
ctrl+w   c                        关闭光标所在屏幕
ctrl+w    上/下                光标移动到指定屏幕
:sp   file2                        同时编辑当前文件和file2文件

l.光标的移动
四个方向键
k                                    上移            
j                                     下移
h                                     左移
l                                      右移
o                                     光标移动到绝对行首
^                                     光标移动到相对行首
$                                    光标移动到行尾
G                                   光标移到文本的最后一行
gg                                  光标移到文本的第一行
:数字                              光标移动到指定行
m.文本的移动

文本向右移动                >/>>
文本向左移动                </<<
具体操作:
第一步:将光标移动到要移动的行
第二步:按“v”进入字符可视化或者“V”进入行可视化
第三步:按上下键选中所有要移动的行
第四步:shift+>>(向右移动)或者shift+<<(向左移动)

n.保存退出命令:  
  :w                                             保存;   
  :q                                             退出,在文件内容没有改变时使用;
  :q!                                            不保存强制退出;
  :wq                                           保存退出;
  :wq!                                          保存强制退出;
  注意:所编辑的文件必须是当前用户的文件,或者当前操作用户为root用户

3.插入模式:
插入模式下的光标移动
i                             光标所在的前一个字符插入
I                             光标所在的行首插入
a                            光标所在的后一个字符插入
A                            光标所在的行尾插入
o                            向下新开一行插入
O                            向上新开一行插入
s                             删除光标所在的字符插入(不进入插入模式)
S                            删除光标所在行插入

猜你喜欢

转载自blog.csdn.net/qq_42303254/article/details/83720012