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是一款功能强大的文本搜索工具,它可以用于快速定位文件内容并替换旧内容成新内容,大大简化了系统操作流程。

阅读剩余
THE END