Linux输出重定向和vim的简单操作_qinwunan的博客-程序员秘密_linux vim 重定向

技术标签: linux  vim  

 unit4
1.管理输入输出


在linux系统中,正确输出的编号为1,错误输出编号为2


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

注意: >, 2> ,&>  都会覆盖源文件内容
>file                    ##清空file

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

注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后


| 管道,管道的作用是将前一条命令的输出变成管道后命令的输入

ls /bin | wc -l        ##统计ls /bin 命令输出的行数

系统中错误的输出是无法通过管道的。
用 2>&1 可以把错误的输出编号由2变成1
tee    复制输出到指定位置
date |tee file |wc -l    ###tee命令复制date命令的输出到file中,并统计输出行数


2.vim
2.1.vim 命令模式

在vim的命令模式下可以配置vim的工作方式
:set nu            ##行号添加
:set nonu        ##取消行号
:set mouse=a        ##添加鼠标选择
:set cursorline        ##行线显示

以上设定都是临时的,
永久设定方式
vim /etc/vimrc        ###此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才数不需要:


2.2.vim命令模式下关键字搜索
/关键字
n向下匹配
N向上匹配

2.3.vim命令模式下字符的管理
1.字符的复制
yl        ##复制一个字母
y3l        ##复制3个字母
yw        ##复制一个单词
y3w        ##复制3个单词
yy        ##复制一行
y3y        ##复制3行
p        ##复制完成后按“P”粘贴

2.字符的删除
dl        ##删除一个字母
d3l        ##删除3个字母
dw        ##删除一个单词
d3w        ##删除3个单词
dd        ##删除一行
d3d        ##删除3行

3.字符的剪切
cl        ##剪切一个字母
c3l        ##剪切3个字母
cw        ##剪切一个单词
c3w        ##剪切3个单词
cc        ##剪切一行
c3c        ##剪切3行
esc ---> p    ##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式

2.4.vim的可视化模式

在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符

可视模式下批量添加字符
*>> ctrl+v 选中要加入字符所在列
*>> 按“I”进入插入模式,写入要加入的字符
*>> 按esc

2.5.批量修改字符

:%s/原有字符/替换后字符        ##只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符/g     ##替换所有
:%s/^\ *//g            ##把全文行首的空格去掉,"^\ *"表示行首的空格

2.6.vim的分屏功能
ctrl+w s     ###上下分屏
ctrl+w v    ###左右分屏
ctrl+w c    ###关闭光标所在屏幕
ctrl+w 上下左右 ###光标移动到指定屏幕
:sp file2    ##同时编辑当前文件和file2
2.7.vim光标移动
在命令模式下
:数字        ##移动到指定的行
G        ##文件最后一行
gg        ##文件第一行

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

2.8.vim的退出模式
:q        ##当用vim打开文件但没有对字符作任何操作时可直接退出
:q!        ##当用vim打开文件并对字符作操作,放弃所有操作退出
:wq        ##保存退出
:wq!        ##强行保存退出,对超级用户及文件所有人生效

2.9.vim手册
vimtutor    ##vim的手册
:q        ##退出vimtutor


2.10.gedit

ctrl+n            ##在gedit中打开一个新的tab
ctrl+s            ##保存文件
ctrl+o            ##打开文件
ctrl+x            ##剪切字符
ctrl+v            ##粘贴字符
ctrl+c            ##复制字符
yelp help:gedit        ##gedit的图形手册




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qinwunan/article/details/68485725

智能推荐

文件打开,关闭,读,写fopen,fclose,fscanf,fprintf_laoda271的博客-程序员秘密_fopen,fscan,fprintf,fclose

#include #include #include void main(){FILE *fp;fp = fopen("c:\\tpm\\students.txt","r+");if(fp==NULL){printf("Fail to

小团队的前端代码规范_解忧杂货铺Q的博客-程序员秘密

前端代码规范文章目录前端代码规范1 前言2 命名规范1) 项目命名2 )目录命名3)`javaScript` 文件命名4)`CSS`,`less`文件命名5)HTML文件命名6) 如果使用`Vue`或者`React`技术栈,组件`Component`命名3 HTML1) 语法2) HTML5 doctype3) lang属性4) 字符编码5) IE兼容模式6) 引入CSS, JS7) 属性顺序8...

有趣的“模拟”计算机_strongerHuang的博客-程序员秘密

关注+星标公众号,不错过精彩内容来源 |安富莱电子我们都知道计算机是 0 和 1 数字信号进行计算,而今天为大家分享一个有趣的“模拟”计算机。模拟计算机是根据相似原理:用一种连续变化的模...

RK3288 USBcamera 相机预览左右镜像问题_lance·的博客-程序员秘密

目录  : framework\av\services\camera\libcameraservice\apil  diff --git a/services/camera/libcameraservice/api1/CameraClient.cpp b/services/camera/libcameraservice/api1/CameraClient.cppindex 6e91290cc....

SAS FUNCTIONS_qq1323362960的博客-程序员秘密

SAS FUNCTIONSExcerpted from SAS release 8.2 Online DocumentationJuly, 2004Arithmetic FunctionsABS(argument)returns absolute valueDIM(array-name)returns the number

MAP、SET、LIST、QUEUE、STACK的特点与用法?_lihoo747的博客-程序员秘密

大家好,我是IT修真院北京分院第27期的JAVA学员,一枚正直纯洁善良的java程序员。今天给大家分享一下,修真院官网Java任务1,深度思考中的知识点———MAP、SET、LIST、QUEUE、STACK的特点与用法 1.背景介绍MAPMap用于保存具有"映射关系"的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value。 ...

随便推点

Java构造器就是这么简单!_coder吹雪的博客-程序员秘密

前言理解构造器之前,首先我们需要了解Java中为什么要引入构造器,以及构造器的作用。在很久之前,程序员们编写C程序总会忘记初始化变量(这真的是一件琐碎但必须的事),C++引入了 构造器(constructor) 的概念,这是一个在创建对象时被自动调用的特殊方法。Java也采用了构造器。一、构造器的引入引入构造器帮助我们解决了哪些问题呢?假设我们每定义一个类都必须定义一个initialize()方法,该方法提醒你,每次使用对象之前都要执行一次该方法,这意味着用户每次都必须记得自己去调用此方法,这和上文

C语言extern关键字定义外部变量--Redis源码extern使用_unix21的博客-程序员秘密_extern declarations

在用C语言开发时,特别是在服务器端,内存的使用会成为系统性能的一个瓶颈,如频繁的分配和释放内存,会不断的增加系统的内存碎片,影响内核之后分配内存的效率,这个时候一个比较可行的做法是采用内存池,先分配好比较多的内存,然后在这个已经分配的内存里使用内存,这样就不需要内核过多的参与内存分配和释放的过程。内存池根据应用不同有多种实现的策略,如有些分配很大的内存,然后将内存分配成大小相等的块,并

10.机器学习sklearn-------手写数字识别实例_bxg1065283526的博客-程序员秘密_sklearn 手写数字特征选择

1.概念介绍:图像识别(Image Recognition)是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。 图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。机器学习领域一般将此类识别问题转化为分类问题。手写识别是常见的图像识别任务。计算机通过手写体图片来识别出图片中的字,与印刷字体不同的是,不同人的手写体风格迥异,大小不一, 造成了计算机对手...

修改oracle‘’字符集,修改Oracle字符集_黄海柳的博客-程序员秘密

新安装的数据库,导入数据之后,发现插入汉字部分是乱码。由于本地数据时正常显示的,没有乱码。因此断定是数据库字符集的问题。1、查看数据库的字符集:发现是西欧编码、8位(一个字节)、ISO标准8859P1编码。他的编码方案是适合欧洲大部分国家。又查询了一下本地数据库的编码格式,发现是ZHS16GBk编码格式。在这里解释一下字符集,Oracel最早支持的编码方案是US7ASCII。再解释一下Oracle...

ssh 免密码远程登录_dhl8325230的博客-程序员秘密

背景:公司有两台服务器A与B,经常会碰到代码中的配置文件不一致的情况...............,为了反面让两台服务器配置统一,所以需要写个shell脚本,用到的linux命令主要是scp1、在A上生成ssh的私钥和公钥【生成的目录在当当前目录下的.ssh目录下,.ssh 是隐藏文件】ssh-keygen -t rsa ##需要3次回车ssh-keygen -t rsa...

5/10博客_anseccsx的博客-程序员秘密

A代表0-9中的前五个,Z是后五个,还原下列乘试:                      AZA               *     AAZ             _______________                  AAAA               AAZZ            ZAA___________________________