Linux输入与输出及vim
一、管理输入输出
1、输出
在Linux系统中,正确的输出编号为1,错误输出编号为2。
用普通用户student执行"find /etc -name passwd"命令,结果如下图:
因为studnet的权限问题,该命令输出为两部分:划线部分为正确输出,其余为错误输出。
在工作中有时只需要正确输出,有时只需要错误输出,所以用重定向输出来控制输出内容:
find /etc -name passwd >file,表示将正确输出导入file文件中,只显示错误输出;
find /etc -name passwd 2>file,表示将错误输出导入file文件中,只显示正确输出;
find /etc -name passwd &>file,表示将正确输出和错误输出全部定向输出至file文件,此时shell中不显示内容;
注意:>,2>,&>,都会覆盖原文件内容,所以>file命令可以清除file文件:
若不想在重定向时清除file文件的内容,则可用">>,2>>,&>>"来实现,表示在file文件尾部追加内容。
注意:echo表示输出命令,类似于C语言中printf命令。
2、| :管道,管道的作用是将前一条命令的输出当做后一条命令的输入:
ls命令为查看/bin目录中的内容,wc为统计个数,管道将ls命令的输入给wc命令统计个数,整体输出为1582。
注意:系统中错误的输出不能通过管道传递给下一条命令!!!!
图中find命令中的错误输出无法通过管道所以只能显示在shell中,而 正确的两条输出传递给了wc命令,输出为2,即图中左下角。
若要让错误输出通过管道,可以使用“2>&1”将错误输出转换为正确输出通过管道,如下:
3、tee:表示复制输出到指定位置。
date |tee file 命令表示将date命令的输出通过管道传递给tee并将输出复制保存于file文件中。
二、vim
1、vim异常退出:":q!"强行退出或者在vim命令模式下直接关掉shell。
具体如下:
图中画圈部分即为异常退出再进入时的按键选项。
2、在vim命令模式下可以配置vim的工作方式。
(1):set nu :添加行号
(2):set nonu :取消行号
(3):set mouse :添加鼠标选项,即可用鼠标移动光标
(4):set cursorline :设定行线
注意:以上的设定都为临时设定方式,即关掉当前shell重新打开,设定就会消失。
3、永久设定方式
4、vim命令模式下关键字搜索
(1)“/关键字”
输入“/关键字”后回车,会将关键字全部高亮,如图中set
n向下匹配;N向上匹配。
5、vim模式下字符管理
(1)字符的复制:
yl:复制一个字符;y3l:复制3个字符;yw :复制一个单词; y3w :复制3个单词;yy :复制光标所在行;
y3y:复制光标以下三行;p:复制完成后进入INSERT模式后在按p键进行粘贴。
(2)字符的删除:
dl:删除一个字母;d3l:删除3个字母;dw:删除一个单词;d3w:删除3个单词;dd:删除光标所在行;
d3d:删除光标以下三行;
(3)字符的剪切:
cl:剪切一个字母;c3l:剪切3个字母;cw:剪切一个单词;c3w:剪切三个单词;cc:剪切光标所在行;
c3c:剪切光标以下3行;esc--->p :剪切过后会立即进入INSERT模式,必须按esc键退出INSERT模式后才能按p键粘贴。
6、vim的可视化模式
在命令模式下按“ctrl+v”进入到可视模式,在可视模式下可以区域选择字符(用上下左右方向键选择)
可视模式下批量添加字符
*>> ctrl+v 选中要加入字符所在列
*>>
按“I”进入插入模式,写入要加入的字符
*>> 按esc
7、vim可视化模式下的批量修改字符
(1) :%s/原有字符/替换后字符 注意:只替换每一行中出现的第一个原有字符
由上图可知,该命令只替换每一行第一次出现的字符。
(2):%s/原有字符/替换后字符/g 替换所有出现的字符
对比可知,该命令将所有的“@”字符替换为了“#”字符。
(3):1,5s/原有字符/替换后字符/g :替换1-5行中出现的所有选定字符。
8、vim的分屏功能
ctrl+w s :上下分屏;ctrl+w v :左右分屏;ctrl+w c :关闭光标所在屏幕
ctrl+w 上下左右:光标移动到指定屏幕;:sp file2 :同时编辑当前文件和file2文件;vimdiff:比较两个文件的不同
注意:在分屏操作时,ctrl和w同时按,松开后再按其他键。
9、光标的移动
:数字 :光标移动到指定行
G:光标移动至文件最后一行;gg:光标移动至文件第一行
在插入模式下:
i :光标所在位置插入;I:光标所在行行首;a:光标所在字符的下一个位置;A:光标所在行行尾
o:光标所在行下一行;O:光标所在行上一行;s:删除光标所在字符插入;S:删除光标所在行插入
10、vim的退出模式
:q:当用vim打开文件但没有对字符作任何操作时可直接退出
:q!:当用vim打开文件并对字符作操作,放弃所有操作退出
:wq:保存退出
:wq!:强行保存退出,对超级用户及文件所有人生效
11、vim手册
vimtutor :打开vim手册
q:退出手册
12、gedit中的快捷键
ctrl n:在gedit中打开一个新的gedit;
ctrl c:复制字符;ctrl v:粘贴字符;ctrl x :剪切字符;
ctrl s:保存文件;ctrl o:打开文件;
yelp help:gedit:在shell中打开gedit图形手册。