Linux的VMWare中Centos7文件查找(find-grep)和vim文本编辑器基操
一.find文件查找
grep 匹配字段 文件名 ——筛选文件
find查找
语法参数示例
格式:
find 查找范围 查找类型 参数
find / -name *.conf 按文件名查找
find / -size +100M 按文件大小查找+-表示大于、小于 单位:B K M G T P -o或 -and 和
find / -type f 按照类型查找,f:文件 d:目录 l:软连接
find / -inum 1333387 按照indoe编号查找
1、找出 /usr目录下以.conf或.gz结尾的文件名
find /usr -name *.conf -o -name *.gz
2、找出/root目录下大于等于50M的文件。
find /root -size +50M -o -size 50M
二.grep 查找 命令
grep 命令用于查找文件里符合条件的字符串。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
语法参数实例
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
-E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
-i 或 --ignore-case : 忽略字符大小写的差别。
-v 或 --revert-match : 显示不包含匹配文本的所有行。
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-w 或 --word-regexp : 只显示全字符合的列。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-c 或 --count : 计算符合样式的列数。
-a 或 --text : 不要忽略二进制的数据。
-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
案例
1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:
grep test *file
结果如下所示:
grep test test* #查找前缀有“test”的文件包含“test”字符串的文件
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
2、以递归的方式查找符合条件的文件。
查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,
$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi” 在#下包含“update”的文件
/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)
Rather than
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of
IO.) Rather than
3、反向查找。
前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。
查找文件名中包含 test 的文件中不包含test 的行,
grep -v test *test*
结果如下所示:
$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行
testfile1:helLinux!
testfile1:Linis a free Unix-type operating system.
testfile1:Lin
testfile_1:HELLO LINUX!
三.Shell-命令执行
getty——agetty、mgetty
1.分类
可执行程序(外部命令)
shell内部命令
shell脚本程序
函数
别名 设置alias 取消:unalias
2.内置命令
命令集成于shell以内,系统中无对应的可执行程序。
内部命令无需编译,可直接运行
help ——查看内置命令帮助
3.外部命令
命令位于shell之外,有独立的可执行程序
外部命令必须有shell编译后才能执行
4.查看命令类别
whereis ls 查看命令所对应的的可执行程序的位置及命令帮助文档位置
which ls 查看命令别名及可执行程序位置
type 查看命令为外部命令还是内部命令
wc:计数命令
ls -l /etc | grep ^d | wc -l ^表示一行开头位置
四.vi(vim)文本文件编辑器 光标移动 删除 替换 复制 重复 撤销 查找
1.)2种启动方式:
vi f1 编辑文本文件(f1存在)、创建(f1不存在),f1的路径可以是绝对路径,也可以是相对路径
vi vi创建临时文件,写命令执行时,将临时文件的内容写入制定的文件。当前目录下创建.swap文件
退出:按ESC键,然后按 :光标到最后一行,输入 q! 回车,系统丢失所有修改的内容退出。
或 按ESC键,然后按 :光标到屏幕底,输入exit回车,vi保存修改内容退出。
2.)2种工作模式
(1)命令模式:
识别单键或组合键命令,命令不显示,但vi会按照命令在光标位置执行。最简单的指令是移动光标,使用上、下、左、右箭头。
(2)插入模式:
添加文本内容。命令模式=>按A a I i O o 键,进入插入模式后,即可增加文字,键盘成为打字机。结束时按ESC键(键盘的最左上键),返回到命令模式。
3.命令模式功能
命令模式的功能较多,主要有光标移动、文本内容删除、文本内容修改替换,复制粘贴、重复撤销等
4.Vim 光标移动 以当前光标为起点。
单字符移动
上下左右箭头,h j k l,每次移动一个字符位置,前加数字可以跳多个字符。
字符块移动:
字符块可以是单词、句子、段落等
w(W) 每次向右移动一个块,前加数字可以跳多个字(W表示标准字——用空格隔开)。
b(B) 向左移动一个块(B表示标准字)。
注意:块之间的分割,符号、标点被认为是一个块。
( ) 句子 sentence
{ } 段落 paragraph
[[ ]] 小节 section
行移动
0 行首
$ 行尾
^ 第一个不为空的位置
n| 指定第n个位置,n为数字,若超过新行符位置,同$
回车 或 + 下一行行首
- 前一行行首
退格键 前一个字符
屏幕移动:
Ctrl+f(F) 正向跳一屏(向前翻)
Ctrl+b(B)反向跳一屏
Ctrl+D(d) 正向跳半屏
Ctrl+U (u)反向跳半屏
z+回车 光标行成为屏幕第一行
z+. 光标行成为屏幕中间行
z+- 光标行成为屏幕最后一行
H 屏幕第一行
M 屏中间行
L 屏幕底行
① --全文移动
gg 文件开头
G 文件末尾
nG 移动到第n行,n为数字
`` (2个反引号)光标回原位(最近一次编辑动作之前的位置)
'' (2个引号)光标回原位(最近一次编辑动作之前的位置)所在行的行首。
5.删除:
小x 删除光标字符。
大X 删除光标前字符。
d 删除,前可加数字,后要有字符对象。
dw dW db dB
dd 删除一行
d$ 删除到行尾
D 删除到行尾(d$的简式)
J 删除行尾的新行符(合并行)
6.修改替换:
r 单字符替换
R 多字符多位置替换,中间可光标移动,结束要用esc键。 屏幕末行会出现“--REPLACE--”字样。
c 替换(change),ESC结束,返回命令模式
cw 替换光标位右边的字符块,w表示字符块(同光标移动)
cW
cb
cB
cc 替换整行
~ 改变大小写
7.复制粘贴:
y 复制命令,前可加数字,后要有字符对象(参考d命令)
yw yW yb yB y$
yy 复制一行。简写 Y
p 粘贴到光标行的下一行
P 粘贴到光标行的上一行
8.重复和撤销:
u 撤销
. 重复
9.查找:
fchar 本行查找,向行尾查找char字符,char为单字符。
Fchar 本行查找,向行头查找char字符,char为单字符。
; 本行再次查找,正向
, 本行再次查找,逆向
/模式 全文正向查找
?模式 全文反向查找
n 顺向再次查找
N 逆向再次查找
10.显示信息 退出vim文本编辑
Ctrl+g 在屏幕底部显示按键时光标位信息,信息为当前行号+文件的总行数及当前行的百分比,列数。移动光标导致屏幕移动,则信息消失。
退出vi:
ZZ 保存退出
ZQ 不保存退出
11.命令行(末行)模式命令
调用集成的其它编辑器:又称命令行模式或末行模式
: 调用ex,结束调用ESC
ex行编辑器
ex是行编辑工具。是非常古老的行编辑器,是输出设备为打印终端时代的编辑器。
执行下列命令使用ex行编辑器:
ex file1
ex显示编辑的文件信息,包括文件名、行数和字符数,出现 :提示符,可以输入命令来对文件file1进行编辑。ex编辑器不能自动将文件内容显示在屏幕上。
Entering Ex mode. Type "visual" to go to Normal mode
:
输入: 1p 回车
系统将file1文件的第一行显示出来,p是打印的意思。我们可以发现,:提示符总在屏幕的最底端。
末行模式的可用命令
:wq 保存退出
:q! 不保存退出
:w filename 保存文件
:set number 显示行号
:set nonumber 不显示行号
:set nowrapscan 不做卷轴式查找
:数字 转到指定的行数
:set backup 编辑前,自动创建备份文件,创建到同目录下,且文件名+~
:1,3d 删除文档中的1-3行
:3,$d 从第三行删除到结尾。$表示尾行,.表示当前行。
:s/name/hello 当前行开始,查找name字段,将查到的第一匹配字段替换为hello,只替换一次。
:1,$ s/name/hello/g 替换指定字符
:1,$ s/hello/&abc/g 追加字符
:%s/hello/mello/g 全文替换
Linux的VMWare中Centos7文件查找(find-grep)和vim文本编辑器基操的更多相关文章
- Linux的VMWare中Centos7文件权限管理chown 和 chmod
文件管理 chown chmod 1./根目录下目录功能划分 /boot/ 存放系统启动程序菜单及核心 --可以单独使用文件系统 /etc/ 存放系统中所有配置文件 /bin/ ...
- Linux的VMWare中Centos7查看文件内容命令 (more-less-head-tail)
一.More分页查看文件 more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读, 而最基本的指令就是按空白键(space)就往下一页显示, 按 b 键就会往回(back)一页 ...
- Linux的VMWare中Centos7文件目录类命令
1.)ls命令简介 ls ---列出目前工作目录所含之文件及子目录 语法 ls [-alrtAFR] [name...] 参数 : -a 显示所有文件及目录 (ls内定将文件名或目录名称 ...
- Linux的VMWare中Centos7文件系统挂载和开启网卡及简单命令
一.路径 挂载磁盘/etc/fastab 开启网卡 vi .bash_profile ---更改PATH环境变量 可设置 mysql提示符 cd /etc/yum.rep ...
- Linux的VMWare中Centos7的安装
Windows平台下VMWare 14安装Centos 7 一.虚拟机硬件配置 1.选择创建新的虚拟机: 2.选择自定义(高级)进行自定义配置,单击下一步: 3.选择虚拟机硬件兼容性为默认,单击下一步 ...
- Linux的VMWare中Centos7用户和用户管理三个系统文件(/etc/passwd-shadow-group解读)和批量创建用户user及用户工作环境path
Linux 用户和用户组管理 用户工作环境PATH Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用 ...
- Linux的VMWare中Centos7磁盘分区管理 fdisk分区和制作文件系统格式化和开机自动挂载
一.硬盘的组成零件扇区 磁道 磁盘容量 磁盘分区 简介 硬盘由容量.柱面数.磁头数.扇区数 C/H/S, Cylinder, Head, Sector(柱面/磁头数/扇区数) 1.磁头数表示硬盘总共有 ...
- Linux输入输出重定向和文件查找值grep命令
Linux输入输出重定向和文件查找值grep命令 一.文件描述符Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2.Linux系统实际上有12个文件描述 ...
- [Linux] find文件查找和grep文件内容查找
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的: (1)find命令:根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时 ...
随机推荐
- 洛谷 P1131 [ZJOI2007]时态同步 树形DP
题目描述 分析 我们从根节点开始搜索,搜索到叶子节点,回溯的时候进行维护 先维护节点的所有子节点到该节点最大边权(边权为叶子节点到同时到达它所需要时间) 然后维护答案,答案为最大边权减去所有到子节点的 ...
- Freemarker 使用记录
1.数字超过1000时会有逗号 ,设置数据格式 <#setting number_format="#"> 2.数据叠加 求总计: 1)定义变量:<#assign ...
- Django之模型层第一篇:单表操作
Django之模型层第一篇:单表操作 一 ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数 ...
- 武汉百得思维Java面试总结
武汉百得思维Java面试总结 在一个愉快的下午,我们并不十分愉快地参加了宣讲会.那是国庆的前两天,大家正在为放假的愉悦所兴奋也在为找工作而紧张. 在听过一阵胡吹乱侃之后,大家都昏昏欲睡,于是终于迎来了 ...
- CVE-2020-0796 漏洞复现
漏洞介绍 2020年3月10日,微软在其官方SRC发布了CVE-2020-0796的安全公告(ADV200005,MicrosoftGuidance for Disabling SMBv3 Compr ...
- 万字长文,62道Java核心面试题,一次性打包送给积极向上的你
先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...
- Ethical Hacking - NETWORK PENETRATION TESTING(14)
MITM - ARP Poisoning Theory Man In The Middle Attacks - ARP Poisoning This is one of the most danger ...
- Python Ethical Hacking - Packet Sniffer(2)
Capturing passwords from any computer connected to the same network. ARP_SPOOF + PACKET_SNIFFER Ta ...
- ref和动态组件
ref--------指引 另一种获取表单值的方法 是Vue环境中一个内置的属性.它可以使用this.$refs可以快速拿到DOM对象.
- vue 应用 :关于 ElementUI 的 message 组件
我们知道,这个东西的基本用法是这样的: this.$message({ message: '恭喜你,这是一条成功消息', type: 'success' }); 但是我觉得这样还是有点麻烦,所以我决定 ...