今天我们来聊一下输入输出管理与vim
一 输入输出管理
1.输出管理
在Linux运维过程中,我们会需要管理输出的信息,或是储存到文件,或是调用部分信息
那我们举个例子:
在普通用户student下,利用find指令查看/etc 下文件
指令:find /etc/ -name passwd
会显示很多报错信息,这时如果需要分类储存到文件中,就需要用到输出重定向
find /etc/ -name passwd > file 重定向输出正确信息到file
find /etc/ -name passwd 2> file 重定向输出错误信息到file
find /etc/ -name passwd &> file 重定向输出所有输出到file
注意:重定向动作会覆盖原文件信息
-输出追加
追加输出会把定向的输出放到原文件,且不会覆盖原文件
find /etc/ -name passwd >> file
find /etc/ -name passwd 2>> file.err
find /etc/ -name passwd &>> file.all
2.输入管理
#管道
| 把第一条命令的正确输出变成第二条命令的输入
例:
ls /bin | wc -l 统计/bin中有多少文件
2>&1 将编号位2的错误输出转换成编号为1的正确输出
例:
find /etc -name passwd 2>&1 |wc -l 统计所有输出行数
tee 将输出复制一份到指定位置
例:
find /etc -name passwd 2>&1 | tee file | wc -l 统计所有输出行数并将输出复制到file
拓展:
让正确进file文件,错误进系统垃圾箱
find /etc -name passwd 2> /dev/null > file
二 vim管理
vim是从 vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
vim的工作模式包含:1.命令模式;2.插入模式;3.退出模式
1.命令模式
1)vim帮助
:help 或 vimtutor
例:
2)vim 工作参数设定
(临时设定:退出vim后会还原默认)
:set 参数信息
:set nu 显示行数
:set nonu 不显示行数
:set mouse=a 添加鼠标选择
:set cursorline 显示下划线
(永久设定)
root用户下,输入指令
vim /etc/vimrc
编辑文件输入
set nu
set mouse=a
set cursorline
3)字符管理
y 复制
yl 复制一个字母
y3l
yw 复制一个单词
y3w
yy 复制一整行
y3y
c 剪切
cl
c3l
cw
c3w
cc
c3c
小贴士:当用<c>做剪切动作后,vim会进入插入模式
如果需要粘贴那么要按<ESC>退出插入模式
然后按<p>粘贴
d 删除
dl
d3l
dw
d3w
dd
d3d
p 粘贴
u 撤销
ctrl+r 恢复
4)可视化模式
可视化模式的批量添加
ctrl+v 进入可视化模式
选中要添加字符所在列
按"I"进入插入模式
写入字符或进行操作
按<ESC>批量添加字符出现
5)字符的替换
:%s/原字符/替换后字符 每一行出现的第一个关键字
:%s/原字符/替换后字符/g 全文替换,s所有行,g表示所有列
:3,5s/原字符/替换后字符/g 替换第三行到第五行的关键字
:/lp/,/halt/s/sbin/hello/g 替换lp字符和halt字符之间的所有关键字
6)在vim中编写多个文件
vim file
:sp file1
例:
7)光标移动及字符搜索
光标的移动
:数字 光标移动到指定的行
<HOME> 光标移动到行首
<END> 光标移动到行尾
G 光标移动到最后一行
gg 光标移动到第一行
搜索字符
/关键字
n 向下匹配
N 向上匹配
2.插入模式
i 光标所在位置插入
I 光标所在行的行首插入
A 光标所在行行尾插入
a 光标所在字符的下个字符插入
s 删除光标所在字符插入
S 删除光标所在行插入
o 光标所在行的下一行插入
O 光标所在行的上一行插入
3.退出模式
:q 退出,在打开文件后没有对文件做任何修改时可使用
:wq 退出保存,在对文件修改后并保存内容时使用
:q! 强制退出,在对文件做修改后要放弃修改时使用
:wq! 强制退出保存,在对属于自己的文件或你时root用户时使用
注意:没有权限修改的文件不能强制退出保存
写在最后,如果大家喜欢linux运维方面的知识,欢迎关注本博主,会每周更新与linux运维相关的一些小知识,帮助大家入门
愿你与我一同成长!
往期:
ttps://blog.csdn.net/Stella_Pooter/article/details/82951345 Linux运维入门~1.虚拟机使用
https://blog.csdn.net/Stella_Pooter/article/details/82952307 Linux运维入门~2.命令行使用技巧
https://blog.csdn.net/Stella_Pooter/article/details/82960344 Linux运维入门~3.文件管理
Never say die