还没关注?
快动动手指!
前言
在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