linux系统输入输出管理

####系统中输入输出的管理####

1.理解系统的输入输出重定向
输入重定向是指把文件导入到命令中,而输出重定向则是把原本要输出到屏幕的数据信息写入到指定文件中。

2.管理输入输出的符号

##输出重定向

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

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

  >>   ##不会覆盖原文件内容
  2>>   ##错误输出,不覆盖
  &>>   ##所有输出,不覆盖

####find命令####
用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
常用选项:
-group<群组名称>:查找符合指定之群组名称的文件或目录;
-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-nouser:找出不属于本地主机用户识别码的文件或目录;
-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
示例如下:
linux系统输入输出管理
linux系统输入输出管理 linux系统输入输出管理
####管道的应用####

1.管道的作用

“|” 管道的作用是把前一条命令的输出变成后一条命令的输入

注意:

管道只允许正确输出通过

通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令处理的

如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”

此实验在普通用户下操作:

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再统计行数

小结:2>&1与&> 的差距
&> 是重定向输出, 所以需要说明重定向到哪里
2>&1 没有重定向,还是find的输出指令 用管道符转为输入

linux系统输入输出管理
linux系统输入输出管理
####输入重定向####

cat >file <<EOF

hello

WORLD

EOF

####vim的常用功能##

1,vim的模式

命令模式

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



插入模式

  对文件内容进行编辑



退出模式

  退出vim程序

2,命令模式

1) 调整vim的工作方式

在vim程序中

:set 调整参数

参数如下:

:set nu       ##在每一行前显示行号

:set nonu      ##取消行号显示

:set mouse=a    ##显示鼠标

:set cursorline   ##显示行线

linux系统输入输出管理

注意:

在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源

如果要永久保存vim的工作方式需要编辑(添加或删除)vim的配置文件:/etc/vimrc

2 ) 字符的搜索

  /关键字

  n向下匹配

  N向上匹配

3)字符的管理

y

  yl     ##复制一个字母<C-F12>

  y3l    ##复制3个字母

  yw     ##复制一个单词

  y3w    ##复制3个单词

  yy     ##复制1行

  y3y    ##复制3行

d

  dl     ##删除一个字母

  d3l    ##删除3个字母

  dw     ##删除1个单词

  d3w    ##删除3个单词

  dd     ##删除1行

  d3d    ##删除3行

c

  cl     ##剪切1个字母

  c3l    ##剪切3个字母

  cw     ##剪切1个单词

  c3w    ##剪切3个单词

  cc     ##剪切1行

  c3c    ##剪切3行***"注意***:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴"



  p      ##粘贴

  u      ##撤销

 ctrl+r    ##恢复撤销

4)vim可视化模式

 ctrl + v   ##在这个模式下可以选择区域操作批量添加字符

        ctrl + v 选中要加入字符所在的列--->按大写的I--->加入字符--->按【esc】 

5)字符的替换

 :%s/要替换的字符/替换成的字符/g

 :%s/:/@/g     ##替换全文的:为@

 :1,5s/:/@/g    ##替换1-5行的:为@

注意:
%s标示所有的行

g标示所有的列
linux系统输入输出管理
linux系统输入输出管理
linux系统输入输出管理
6)vim 的分屏功能

  ctrl+w s    ##上下分屏

  ctrl+w v    ##左右分屏

  ctrl+w c    ##关闭光标所在屏幕

  ctrl+w 上下左右   ##光标移动到指定屏幕

  :sp file2    ##同时编辑当前文件和file2

linux系统输入输出管理

7)在命令模式下光标的移动

 gg    ##光标移动到文件的第一行

 G     ##光标移动到文件的最后

 :数字   ##光标移动到到指定的行

#####插入模式######
1
)插入模式下光标的移动

i   ##光标所在位置插入

I   ##光标所在行行首插入

o   ##光标所在行下一行插入

O   ##光标所在行的上一行插入

a   ##光标所在字符的下一个字符插入

A   ##光标所在行的行尾插入

s   ##光标所在字符删除并插入

S   ##光标所在行删除并插入

####vim的退出模式#####

:q   ##退出,在文件内容没有被改变时使用

:wq   ##退出保存

:q!   ##强制退出不保存,在改变文件后不想保存时使用

:wq!  ##强制退出保存 在对只读文件编写时使用 

注意:
所编辑的只读文件必须是当前用户的文件
或者当前操作的用户是root