linux 查找并替换,vim全局替换命令
各位老铁们,大家好,今天由我来为大家分享linux 查找并替换,以及vim全局替换命令的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
linux 好用的命令
Linux运维人员必会的120个命令
跟老男孩学Linux运维:核心系统命令实战
前言
第1章 Linux命令行简介/ 1
1.1Linux命令行概述/ 1
1.2在Linux命令行下查看命令帮助/ 4
1.3Linux shutdown reboot halt/ 9
关机:
shutdown-h now
halt
init 0
第2章文件和目录操作命令/ 13
2.1pwd:显示当前所在的位置/ 13
2.2cd:切换目录/ 16
2.3tree:以树形结构显示目录下的内容/ 18
2.4mkdir:创建目录/ 22
2.5touch:创建空文件或改变文件的时间戳属性/ 27
2.6ls:显示目录下的内容及相关属性信息/ 30
2.7cp:复制文件或目录/ 39
2.8mv:移动或重命名文件/ 42
2.9rm:删除文件或目录/ 45
2.10rmdir:删除空目录/ 48
2.11ln:硬链接与软链接/ 49
2.12readlink:查看符号链接文件的内容/ 54
2.13find:查找目录下的文件/ 55
2.14xargs:将标准输入转换成命令行参数/ 68
2.15rename:重命名文件/ 71
2.16basename:显示文件名或目录名/ 72
2.17dirname:显示文件或目录路径/ 72
2.18chattr:改变文件的扩展属性/ 73
2.19lsattr:查看文件扩展属性/ 75
2.20file:显示文件的类型/ 76
2.21md5sum:计算和校验文件的MD5值/ 77
2.22chown:改变文件或目录的用户和用户组/ 80
2.23chmod:改变文件或目录权限/ 81
2.24chgrp:更改文件用户组/ 85
2.25umask:显示或设置权限掩码/ 86
2.26老男孩从新手成为技术大牛的心法/ 90
第3章文件过滤及内容编辑处理命令/ 91
3.1cat:合并文件或查看文件内容/ 91
3.2tac:反向显示文件内容/ 103
3.3more:分页显示文件内容/ 104
3.4less:分页显示文件内容/ 107
3.5head:显示文件内容头部/ 109
3.6tail:显示文件内容尾部/ 111
3.7tailf:跟踪日志文件/ 114
3.8cut:从文本中提取一段文字并输出/ 115
3.9split:分割文件/ 117
3.10paste:合并文件/ 118
3.11sort:文本排序/ 123
3.12join:按两个文件的相同字段合并/ 127
3.13uniq:去除重复行/ 129
3.14wc:统计文件的行数、单词数或字节数/ 131
3.15iconv:转换文件的编码格式/ 133
3.16dos2unix:将DOS格式文件转换成UNIX格式/ 134
3.17diff:比较两个文件的不同/ 135
3.18vimdiff:可视化比较工具/ 138
3.19rev:反向输出文件内容/ 139
3.20tr:替换或删除字符/ 140
3.21od:按不同进制显示文件/ 143
3.22tee:多重定向/ 145
3.23vi/vim:纯文本编辑器/ 147
3.24老男孩逆袭思想:做Linux运维的多个好处/ 152
第4章文本处理三剑客/ 153
4.1grep:文本过滤工具/ 153
4.2sed:字符流编辑器/ 159
4.3awk基础入门/ 165
第5章 Linux信息显示与搜索文件命令/ 176
5.1uname:显示系统信息/ 176
5.2hostname:显示或设置系统的主机名/ 178
5.3dmesg:系统启动异常诊断/ 179
5.4stat:显示文件或文件系统状态/ 181
5.5du:统计磁盘空间使用情况/ 183
5.6date:显示与设置系统时间/ 186
5.7echo:显示一行文本/ 190
5.8watch:监视命令执行情况/ 193
5.9which:显示命令的全路径/ 195
5.10whereis:显示命令及其相关文件全路径/ 196
5.11locate:快速定位文件路径/ 197
5.12updatedb:更新mlocate数据库/ 199
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视/ 200
第6章文件备份与压缩命令/ 201
6.1tar:打包备份/ 201
6.2gzip:压缩或解压文件/ 208
6.3zip:打包和压缩文件/ 211
6.4unzip:解压zip文件/ 212
6.5scp:远程文件复制/ 214
6.6rsync:文件同步工具/ 216
6.7老男孩逆袭思想:新手如何高效地提问/ 220
第7章 Linux用户管理及用户信息查询命令/ 222
7.1 useradd:创建用户/ 222
7.2usermod:修改用户信息/ 227
7.3userdel:删除用户/ 229
7.4groupadd:创建新的用户组/ 230
7.5groupdel:删除用户组/ 231
7.6passwd:修改用户密码/ 232
7.7chage:修改用户密码有效期/ 237
7.8chpasswd:批量更新用户密码/ 238
7.9su:切换用户/ 240
7.10visudo:编辑sudoers文件/ 242
7.11sudo:以另一个用户身份执行命令/ 244
7.12id:显示用户与用户组的信息/ 248
7.13w:显示已登录用户信息/ 249
7.14who:显示已登录用户信息/ 250
7.15users:显示已登录用户/ 252
7.16whoami:显示当前登录的用户名/ 253
7.17last:显示用户登录列表/ 253
7.18lastb:显示用户登录失败的记录/ 254
7.19lastlog:显示所有用户的最近登录记录/ 255
第8章 Linux磁盘与文件系统管理命令/ 257
8.1fdisk:磁盘分区工具/ 257
8.2partprobe:更新内核的硬盘分区表信息/ 265
8.3tune2fs:调整ext2/ext3/ext4文件系统参数/ 266
8.4parted:磁盘分区工具/ 268
8.5mkfs:创建Linux文件系统/ 272
8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息/ 274
8.7resize2fs:调整ext2/ext3/ext4文件系统大小/ 275
8.8fsck:检查并修复Linux文件系统/ 278
8.9dd:转换或复制文件/ 281
8.10mount:挂载文件系统/ 284
8.11umount:卸载文件系统/ 288
8.12df:报告文件系统磁盘空间的使用情况/ 289
8.13mkswap:创建交换分区/ 293
8.14swapon:激活交换分区/ 294
8.15swapoff:关闭交换分区/ 295
8.16sync:刷新文件系统缓冲区/ 296
第9章 Linux进程管理命令/ 298
9.1ps:查看进程/ 298
9.2pstree:显示进程状态树/ 305
9.3pgrep:查找匹配条件的进程/ 306
9.4kill:终止进程/ 307
9.5killall:通过进程名终止进程/ 310
9.6pkill:通过进程名终止进程/ 311
9.7top:实时显示系统中各个进程的资源占用状况/ 313
9.8nice:调整程序运行时的优先级/ 320
9.9renice:调整运行中的进程的优先级/ 323
9.10nohup:用户退出系统进程继续工作/ 324
9.11strace:跟踪进程的系统调用/ 325
9.12ltrace:跟踪进程调用库函数/ 332
9.13runlevel:输出当前运行级别/ 334
9.14init:初始化Linux进程/ 335
9.15service:管理系统服务/ 335
第10章 Linux网络管理命令/ 338
10.1ifconfig:配置或显示网络接口信息/ 338
10.2ifup:激活网络接口/ 343
ifup eth0
10.3ifdown:禁用网络接口/ 343
ifdown eth0
service network restart(/etc/init.d/network restart)激活整个网络,所有网卡。
10.4route:显示或管理路由表/ 344
10.5arp:管理系统的arp缓存/ 350
10.6ip:网络配置工具/ 351
10.7netstat:查看网络状态/ 358
10.8ss:查看网络状态/ 362
10.9ping:测试主机之间网络的连通性/ 363
10.10traceroute:追踪数据传输路由状况/ 366
10.11arping:发送arp请求/ 367
10.12telnet:远程登录主机/ 369
10.13nc:多功能网络工具/ 370
10.14ssh:安全地远程登录主机/ 373
10.15wget:命令行下载工具/ 376
10.16mailq:显示邮件传输队列/ 379
10.17mail:发送和接收邮件/ 381
10.18nslookup:域名查询工具/ 386
10.19dig:域名查询工具/ 389
10.20host:域名查询工具/ 393
10.21nmap:网络探测工具和安全/端口扫描器/ 394
10.22tcpdump:监听网络流量/ 398
第11章 Linux系统管理命令/ 407
11.1lsof:查看进程打开的文件/ 407
11.2uptime:显示系统的运行时间及负载/ 411
11.3free:查看系统内存信息/ 411
11.4iftop:动态显示网络接口流量信息/ 413
11.5vmstat:虚拟内存统计/ 415
11.6mpstat:CPU信息统计/ 419
11.7iostat:I/O信息统计/ 420
11.8iotop:动态显示磁盘I/O统计信息/ 423
11.9sar:收集系统信息/ 425
11.10chkconfig:管理开机服务/ 430
11.11ntsysv:管理开机服务/ 433
11.12 setup:系统管理工具/ 434
11.13ethtool:查询网卡参数/ 436
11.14mii-tool:管理网络接口的状态/ 437
11.19rpm:RPM包管理器/ 443
11.20yum:自动化RPM包管理工具/ 446
top命令
第12章 Linux系统常用内置命令/ 450
12.1Linux内置命令概述/ 450
12.2Linux内置命令简介/ 450
12.3Linux常用内置命令实例/ 452
Linux中vi的查找、替换、删除操作
vi查找替换命令详解
一、查找查找命令/patternEnter:向下查找pattern匹配字符串?patternEnter:向上查找pattern匹配字符串使用了查找命令之后,使用如下两个键快速查找:n:按照同一方向继续查找N:按照反方向查找字符串匹配pattern是需要匹配的字符串,例如:
1:/abcEnter #查找abc2:/ abc Enter #查找abc单词(注意前后的空格)
除此之外,pattern还可以使用一些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符。
1:/^abcEnter #查找以abc开始的行 2:/test$Enter #查找以abc结束的行 3://^testEnter #查找^tabc字符串
二、替换基本替换
1::s/vivian/sky/ #替换当前行第一个 vivian为 sky2::s/vivian/sky/g #替换当前行所有 vivian为 sky3::n,$s/vivian/sky/ #替换第 n行开始到最后一行中每一行的第一个 vivian为 sky4::n,$s/vivian/sky/g #替换第 n行开始到最后一行中每一行所有 vivian为 sky5:(n为数字,若 n为.,表示从当前行开始到最后一行)6: 7::%s/vivian/sky/ #(等同于:g/vivian/s//sky/)替换每一行的第一个 vivian为 sky8::%s/vivian/sky/g #(等同于:g/vivian/s//sky/g)替换每一行中所有 vivian为 sky
可以使用#或+作为分隔符,此时中间出现的/不会作为分隔符
1::s#vivian/#sky/# 替换当前行第一个 vivian/为 sky/2::%s+/oradata/apras/+/user01/apras1+(3:使用+来替换/):/oradata/apras/替换成/user01/apras1/
删除文本中的^M问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M,请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。使用命令:cat filename1| tr-d“^V^M” newfile;使用命令:sed-e“s/^V^M//” filename outputfilename需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:
1::%s/^V^M//2::%s/^M$//g
如果上述方法无用,则正确的解决办法是:
1: tr-d“/r” src dest2: tr-d“/015″ dest3: 4: strings AB
其它用法
1::s/str1/str2/ #用字符串 str2替换行中首次出现的字符串 str12::s/str1/str2/g #用字符串 str2替换行中所有出现的字符串 str13::.,$ s/str1/str2/g #用字符串 str2替换正文当前行到末尾所有出现的字符串 str14::1,$ s/str1/str2/g #用字符串 str2替换正文中所有出现的字符串 str15::g/str1/s//str2/g #功能同上
从上述替换命令可以看到:g放在命令末尾,表示对指定行的搜索字符串的每次出现进行替换;不加 g,表示只对指定行的搜索字符串的首次出现进行替换;g放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。也就是说命令的开始可以添加影响的行,如果为g表示对所有行;命令的结尾可以使用g来表示是否对每一行的所有字符串都有影响。三、简单的vim正则表达式规则在vim中有四种表达式规则:magic(/m):除了$.*^之外其他元字符都要加反斜杠nomagic(/M):除了$^之外其他元字符都要加反斜杠/v(即 very magic之意):任何元字符都不用加反斜杠/V(即 very nomagic之意):任何元字符都必须加反斜杠vim默认使用magic设置,这个设置也可以在正则表达式中通过/m/M/v/V开关临时切换。例如:
1://m.* #查找任意字符串2://M.* #查找字符串.*(点号后面跟个星号)3: 4://v(a.c){3}$ #查找行尾的abcaccadc5://m(a.c){3}$ #查找行尾的(abc){3}6://M(a.c){3}$ #查找行尾的(a.c){3}7://V(a.c){3}$ #查找任意位置的(a.c){3}$
推荐使用默认的magic设置,在这种情况下,常用的匹配有:
1://abc #查找以test开始的字符串 2:/abc/ #查找以test结束的字符串 3: 4:$ 匹配一行的结束 5: ^ 匹配一行的开始 6:/ 匹配一个单词的开始,例如//abcEnter:查找以abc开始的字符串 7:/ 匹配一个单词的结束,例如/abc/Enter:查找以abc结束的字符串 8: 9:* 匹配0或多次10:/+ 匹配1或多次11:/= 匹配0或1次12: 13:. 匹配除换行符以外任意字符 14:/a 匹配一个字符15:/d 匹配任一数字 16:/u 匹配任一大写字母17: 18: [] 匹配范围,如t[abcd]s匹配tas tbs tcs tds19:/{} 重复次数,如a/{3,5}匹配3~5个a20:/(/) 定义重复组,如a/(xy/)b匹配ab axyb axyxyb axyxyxyb...21:/| 或,如:for/|bar表示匹配for或者bar22: 23:/%20c 匹配第20列24:/%20l 匹配第20行
vi+文件名,可以创建一个文件
用cat+问价名,可以查看一个文件
用cut-f3+文件名,可以选择文件中的第3段字符
输入英文的冒号:然后输入wq可以保存文件内容并退出
输入英文的冒号:然后输入q可以放弃保存并退出
输入英文的冒号/然后输入一个字符串,可以查找该字符串
如果以上经验帮到您,麻烦在左下角给点个赞,谢谢!
用LinuxGrep替换快速定位文件内容linuxgrep替换
Linux Grep是Linux中一种文本搜索的工具,用于快速定位文件内容。它将给出的正则表达式应用于文本文件中的每一行,并返回匹配行的搜索结果。Grep不仅可以用于定位文件中的内容,还可以用于替换旧内容为新内容。
在实际应用中,Grep可以用来搜索指定目录中所有文件的特定字符串,按照指定字符串进行替换,查看内核日志或检查网络连接,并根据需要做出相应的修复。
要使用Linux Grep进行替换,可以使用以下命令:`grep-rl oldstring newstring`。其中,-r表示搜索子目录,-l表示列出文件名,oldstring是要查找的旧字符串,newstring是要替换的新字符串。因此,上述命令用于搜索和替换指定目录中的所有文件中的指定字符串。
此外,Linux Grep还具有很多特殊选项,可以帮助用户更精确地替换文件内容,如`–include`的限定文件搜索类型,`–exclude`的限定文件搜索类型,`–max-depth`的限定搜索深度,以及`–binary-files`的搜索非文本文件(二进制文件)等。
总的来说,Linux Grep是一款功能强大的文本搜索工具,它可以用于快速定位文件内容并替换旧内容成新内容,大大简化了系统操作流程。