【linux】02_管理输入输出、管道、vim的用法。

1. 管理输入输出

在系统中普通用户执行find /etc -name passwd,由于权限受限,会出现报错“Permission denied”
在这里插入图片描述

输出重定向

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

【注意1】>,2>,&>都会覆盖源文件内容。比如>file 表示清空file
用2>&1可以把错误输出转换成正确输出,编号由2变1,反之则不行。
在这里插入图片描述
在这里插入图片描述
正确结果重定向到file中,错误的没有重定向到file中。
在这里插入图片描述
在这里插入图片描述
错误结果重定向到file.err中,正确的结果没有重定向进去。
在这里插入图片描述
在这里插入图片描述
无论正确与否,把所有结果都重定向到file.all中。
在这里插入图片描述
清空file.all文件。
【注意2】>/dev/null 表示屏蔽正确内容输出 2>/dev/null表示屏蔽错误内容输出
在这里插入图片描述
在这里插入图片描述

输出追加

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

与输出重定向不同的是,输出追加只是把相应的输出字符放到文件末尾,并不会覆盖原文件已有内容。

输入重定向
【注意3】当输入end则表示输入结束,end可以为任意字母或数字。EOF也可以
在这里插入图片描述
在这里插入图片描述
也可以cat >。
把<<end这个命令可以应用到修改密码,密码可见,很方便。
在这里插入图片描述
常规修改用户student的密码,不可见。
在这里插入图片描述
用<<end命令修改student用户的密码可以看到自己修改的字符。
【注意4】passwd <<end //普通用户修改自己的密码需要写四行。第一行是当前密码,二三行是新密码以及确认新密码,最后一行是end。

2. 管道

作用:“|”管道的作用是把前一条命令的输出变成后一条命令的输入
【注意5】

  1. 管道只允许正确输出通过
  2. 通过管道的输出将会变成输入
  3. 如果需要保存输出内容,那么需要复制一份输出,命令时“tee”
 find /etc/ -name passwd | wc -l //看到结果为2。因为错误的输出不能通过管道

在这里插入图片描述

find /etc/ -name passwd 2>&1 | wc -l //看到结果为19。因为2>&1将错误输出转换成正确输出,加上本就正确的2行输出,一共19

在这里插入图片描述
find /etc/ -name passwd 2>&1 | tee file | wc -l //保存一份输出到法file中再统计行数在这里插入图片描述
但是我这个为什么是permission denied???????how to resolve?

3. 文本编辑器vim的使用

1. 三种常用模式

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

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

退出模式
		退出vim程序

2. 命令模式

- 命令模式下配置vim的工作方式

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

- 命令模式下字符的搜索

   /关键字
	n向下匹配
	N向上匹配

例如,在/etc/passwd文件中查找login这个关键字
在这里插入图片描述

- 命令模式下字符的管理

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			##恢复撤销

3. 可视化模式及批量修改字符

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

选中host1-host5,再进行y和p。
在这里插入图片描述

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

	注意:
	%s标示所有的行
	g标示所有的列

:%s/host/linux/g ##替换全文的host为linux
在这里插入图片描述
替换效果:
在这里插入图片描述
:2,6s/linux/host/g ##替换2-6行的linux为host
在这里插入图片描述
替换效果:
在这里插入图片描述
4. 分屏功能

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

同时编辑file文件和file2文件
在这里插入图片描述

5. 光标移动
- 命令模式下光标的移动

gg 		##光标移动到文件的第一行
G		##光标移动到文件的最后一行
:数字		##光标移动到到指定的行

- 插入模式下光标的移动

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

6. 退出模式

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

q:如何使vim一打开就有鼠标以及行号显示?
a:改vim的配置文件即可。
vim的配置文件为/etc/vimrc
设置行号显示是set nu
设置鼠标可用是set mouse=a
在上面的配置文件中添加这两句配值即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值