系统管理的输入与输出以及vim的模式

一  什么是系统的输入与输出

输入是指从被控设备到计算机的物理信号的传输和变换通道,其主要实现被控设备和计算机之间原始参数和信号的变换。

输出是指从计算机到被控设备的控制信号和参数的传输通道,其与输入一样都有模拟和数字之分,都是用以实现数据采集现场与计算机的连接。

一般我们可以这样理解,你输入进去1+1,那么只会出现两种情况,一种是正确的,一种是错误的。将1+1定义为0,则正确的输出定义为1,错误的输出为2。这样就使得我们考虑是需要正确的输出,还是错误的输出,或者两者都需要。牵扯出了我们如何将输出定向的问题。

二  管理输入输出的符号

1> 输入重定向

tr 'a-z' 'A-Z' <westos

格式化输入内容到文件

例:cat >file <<EOF

        hello

        world

        EOF    (其中EOF是end of file的缩写,表示“文字流”的结尾,不过在这里用来表示标准输入的开头与结尾)

2> 输出重定向

1)会覆盖源文件内容

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

示例:

另外此示例要在普通用户下进行

find  /etc/  -name  passwd    >      file          ##定向正确输出到file
find  /etc/  -name  passwd  2>      file.err    ##定向错误输出到file
find  /etc/  -name  passwd  &>     file.all     ##定向所有输出到file
> file                                                              ##清空file

(1)正确的输出定向到file,可以看出shell上面显示了18个错误的路径(普通用户无权访问被定义为错误的),而file文件中是2个正确的输出。

(2)  从错误的输出定向到file,可以看到shell上只有两个正确的输出,错误的在file中

(3)将全部输出都定向到file中(不管正确的,还是错误的),而shell中1个也没有。

 (4)清空file文件内的内容

>file

2) 不会覆盖源文件内容

>>          ##追加正确输出到文件最后
2>>        ##追加错误输出到文件最后
&>>        ##追加所有输出到文件最后

示例:

         find  /etc/  -name  passwd    >>      file          ##追加正确输出到file
         find  /etc/  -name  passwd  2>>      file.err    ##追加错误输出到file
         find  /etc/  -name  passwd  &>>      file.all    ##追加所有输出到file

(1)比如现在在file中只有hello world这2行文字,然后追加正确的进去,就是4行。

(2)现在再追加错误的进去,相信file中就会变成23行。

(3)将全部输出都追加到file中,再看看file会变成多少行,经查看为43行。

三  管道的作用

符号: |

含义:将前一条命令的正确输出作为管道符后面命令的标准输入

      管道只允许正确输出通过
      通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
      如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”

find  /etc/  -name    passwd             |  wc -l                    ##会看到的结果为2,因为错误输出不能通过管道
find  /etc   -name    passwd  2>&1 |  wc -l                     ##会看到20,因为编号为2的输出被“2>&1”转换为编号1
find  /etc   -name    passwd  2>&1 |  tee  file  | wc -l     ##保存一份输出到file再统计行数

1)第一条命令先在etc中寻找名为passwd的文件,然后将正确的通过管道输出到第二条命令,为查看行数,2行。

2)经错误的转换为正确的(2&>1),这样就可以全部通过管道。

3)照样将错误的转化为正确的,全部通过管道,不过这里是先将输出复制了一份(tee),再丢给后面的管道。

四  vim的常用功能

1> vim的三种模式

命令模式:浏览文件,临时更改vim的工作方式,对字符批量处理

插入模式:对文件内容进行编辑

退出模式:退出vim程序

2> 命令模式

1)调整vim的工作方式

在vim程序中

:set 调整参数

示例:    
         :set nu                    ##在每一行前显示行号
         :set nonu                ##取消行号显示
         :set mouse=a        ##显示鼠标
         :set cursorline       ##显示行线
注意:
        在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源
        如果要永久保存vim的工作方式需要编辑vim的配置文件:/etc/vimrc

2)字符的搜索
     /关键字
     n向下匹配
     N向上匹配

3)字符的管理
    (1) y-复制
        yl          ##复制一个字母
        y3l        ##复制3个字母
        yw        ##复制一个单词
        y3w      ##复制3个单词
        yy         ##复制1行
        y3y       ##复制3行
    (2) d-删除
        dl         ##删除一个字母
        d3l      ##删除3个字母
        dw      ##删除1个单词
        d3w    ##删除3个单词
        dd       ##删除1行
        d3d     ##删除3行
    (3) c-剪切
        cl         ##剪切1个字母
        c3l       ##剪切3个字母
        cw       ##剪切1个单词
        c3w     ##剪切3个单词
        cc        ##剪切1行
        c3c      ##剪切3行
    这里剪切需要特别注意一下:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴

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

这里只做一个示范,在光标处输入大d2d,可以看到自光标往下2行被删除

4)vim可视化模式
      ctrl + v        ##在这个模式下可以选择区域操作
      批量添加字符
            ctrl + v 选中要加入字符所在的列
            按大写的I
            加入字符
            按【esc】

5)字符的替换
    :%s/要替换的字符/替换成的字符/g
    :%s/:/@/g          ##替换全文的:为@
    :1,5s/:/@/g        ##替换1-5行的:为@
    注意:
            %s表示所有的行
            g表示所有的列

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

需要注意的是:ctrl是和w一起按的,按完之后松开,再按后面的s,v,c等

7)在命令模式下光标的移动
 gg                ##光标移动到文件的第一行
 G                 ##光标移动到文件的最后
 :数字        ##光标移动到到指定的行

3> 插入模式

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

4> 退出模式

:q            ##退出,在文件内容没有被改变时使用
:wq         ##退出保存
:q!           ##强制退出不保存,在改变文件后不想保存时使用
:wq!        ##强制退出保存    在对只读文件编写时使用,注意,所编辑的只读文件必须时当前用户的文件
                   ##或者当前操作的用户时root

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值