首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据之脚踏实地学06--Linux中的搜索与Vim

还没关注?

快动动手指!

前言


在Linux的使用过程中,经常会碰到文件的搜索或文件内容的查询,如果你没有接触过find命令和grep命令,关于搜索或查询就很难推进了。还有另一个非常重要的操作,就是利用vim命令对文件进行编辑。在本期内容的分享中,会详细讲解如上三个命令的介绍。

文件搜索命令


命令名称:find

英文含义:find

功能描述:查找系统内的任何文件(包括命令)或目录

语法:find [搜索的目标路径] [选项] [搜寻的关键词]

选项:

-name:按文件或目录的名称查找(精确查找),如需模糊匹配,需使用通配符。两个最常用的通配符:*(匹配任意字符);?(匹配单个字符)

-size:按文件或目录的大小查找,+表示查询大于指定size的文件或目录;-表示查询小于指定size的文件或目录

-user:根据文件或目录的所有者查找

-type:根据文件的类型查找

-ctime:(change)表示文件的属性(如权限)被修改过

-atime:(access)表示文件修浏览过

-mtime:(modify)表示文件的内容被修改过

[-cmin][-amin] [-mmin],上面三个以天为单位,而这里的三个为分钟为单位。注意:减号-,表示指定的时长之内,加号+,表示超过指定的时长

【连接符 】

1、当查询条件包含多个时:-a(and)表示逻辑与, -o(or)表示逻辑或/

2、当查询结果用于其他命令时:find …… -exec 命令 {} \;

其中,{}表示find查询的结果,\表示转义符,即保留原始的字符内容,;表示结束。需要注意的是,{}与\之间有一个空格

在连接符中,除了可以使用exec,还可以使用ok,两者的区别在于ok会出现询问确认的过程。

接下来通过示例来演示find命令的用法,例如在Linux系统的/root/Test目录下包含普通文件、压缩文件和目录。

【示例1】:按名称查询出AI.java文件(精确查询)

【示例2】:按名称查询所有.jpg文件(模糊查询)

【示例3】:查询超过3M的文件

【示例4】:删除创建/修改日期在一天前的文件

【示例5】:查询500K以上的jpg文件

文件内容子串的搜索命令


命令名称:grep

英文含义:grep

功能描述:返回文件中搜寻到的子串所对应的行

语法:grep [-eEniwv] [指定子串] [源文件]

选项:

-e(regexp):按照正则表达式匹配对应的行内容

-E(extended regexp):按照扩展的正则表达式匹配对应的行内容

-n(number):显示行号

-i(ignore case):忽略大小写

-w(word):精确匹配某个单词

-v(invert):返回非匹配的行

正则表达式几乎在所有的编程语言中都会涉及,而且表示方式也几乎相同,如果对正则表达式不是很熟悉的,不妨可以看看这篇文章《从零开始学Python--数值计算及正则表达式》。

【示例1】:查询包含字母one的内容

【示例2】:查询含单词one的内容

【示例3】:查询以k字母开头的内容

【示例4】:查询单词内部含ran的内容

文件编辑命令


在Linux系统中经常需要编辑配置文件或者编写Shell脚本,每一次操作都需要借助于vim命令。利用vim命令编辑或新建一个文件时,后续会进入三种模式,即命令模式、输入模式和底线命令模式。如下图所示,展示了三种模式之间的转换方式:

命令模式是指在使用vim后,敲击键盘的动作会被Vim识别为命令,如字母i表示切换至输入模式,英文冒号:表示进入底线命令模式;

输入模式是指可以往文件中进行常规的编辑,如写入新内容、修改内容、删除内容等;

底线命令模式是指在vim的最底下输入其他vim能够识别的命令,如显示行号:set nu、向下搜索子串/、向上搜索子串?等;

命令模式下的常用组合键


【插入命令】

i:在当前光标位置开始插入

a:在当前光标的下一个位置开始插入

I:在当前行的行首开始插入

A:在当前行的行末开始插入

o:在当前行的下一行开始插入(会另起一行)

O:在当前行的上一行开始插入(会另起一行)

【退出命令--需提前按Esc键】

:q:不保存退出

:wq:保存退出

:q!:强制不保存退出--针对:q无法退出的情况

:wq!:强制保存退出 -- 针对:wq无法退出的情况

复制命令

yy:复制光标所在行

3yy:复制光标及以下的三行

粘贴命令

p:在当前行的下方粘贴

P:在当前行的上方粘贴

删除或剪切命令

dd:剪切光标所在行

3dd:剪切光标及以下的三行

【光标定位命令】

G:定位到最后一行

H:定位到第一行

5 Shift+g:定位到指定的行

光标位置移动命令

h:向左移动光标

j:向下移动光标

k:向上移动光标

l:向右移动光标

结语


OK,关于Linux中的搜索和Vim的使用就分享到这里,如果你有任何问题,欢迎在公众号的留言区域表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

Test文件夹的下载地址:

链接:https://pan.baidu.com/s/1nocVT4AAdlD2NxBZhAOdvg

提取码:yuqm

下一篇
举报
领券