热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

详解linux系统输入输出管理和vim的常用功能

这篇文章主要介绍了linux系统输入输出管理和vim的常用功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

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

1.理解系统的输入输出重定向

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

2.管理输入输出的符号

##输出重定向

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

注意:

重定向会覆盖原文件内容

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

####find命令####

用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

常用选项:

-group<群组名称>:查找符合指定之群组名称的文件或目录;

-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;

-nouser:找出不属于本地主机用户识别码的文件或目录;

-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;

示例如下:

  

####管道的应用####

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的输出指令 用管道符转为输入

  

####输入重定向####

cat >file <

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

1,vim的模式

命令模式

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

插入模式

    对文件内容进行编辑

退出模式

    退出vim程序

2,命令模式

1) 调整vim的工作方式

在vim程序中

:set 调整参数

参数如下:

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

:set nonu           ##取消行号显示

:set mouse=a        ##显示鼠标

:set cursorline     ##显示行线

注意:

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

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

2 ) 字符的搜索

/关键字

    n向下匹配

    N向上匹配

3)字符的管理

y

    yl         ##复制一个字母

    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标示所有的列

  

6)vim 的分屏功能

ctrl+w s        ##上下分屏

    ctrl+w v        ##左右分屏

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

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

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

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

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

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

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

#####插入模式######

1

)插入模式下光标的移动

i      ##光标所在位置插入

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

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

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

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

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

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

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

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

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

:wq     ##退出保存

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

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

注意:

所编辑的只读文件必须是当前用户的文件

或者当前操作的用户是root

总结

以上所述是小编给大家介绍的linux系统输入输出管理和vim的常用功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


推荐阅读
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 近期,考虑到在Vim内部进行GDB调试、运行Python脚本和数据库连接等多样化需求,思考是否可以通过集成终端来简化这些操作,而非逐一编写Vim脚本来实现。通过研究发现,确实存在一种高效的方法——利用特定插件实现终端功能的整合。 ... [详细]
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • Linux网络安装指南
    本文详细介绍了如何通过网络安装Linux操作系统,包括必要的服务配置和常见问题解决方法,旨在帮助IT专业人士提高系统部署效率。 ... [详细]
  • 本文档详细介绍了在 Kubernetes 集群中部署 ETCD 数据库的过程,包括实验环境的准备、ETCD 证书的生成及配置、以及集群的启动与健康检查等关键步骤。 ... [详细]
  • 本文基于《Linux命令行与Shell脚本编程大全》第三版的第十一章内容,探讨了如何构建基本的Shell脚本,包括命令组合、脚本创建、消息显示、变量使用、输入输出重定向、管道、数学运算及脚本退出等方面的知识。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 本文详细介绍了 Python 中的条件语句和循环结构。主要内容包括:1. 分支语句(if...elif...else);2. 循环语句(for, while 及嵌套循环);3. 控制循环的语句(break, continue, else)。通过具体示例,帮助读者更好地理解和应用这些语句。 ... [详细]
author-avatar
草业学院16级草坪1班团支部s_b9w
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有