linux里面查找替换命令,LINUX 查找替换命令 总结

这篇博客详细介绍了Linux中常用的文件查找命令,包括find、locate、whereis和which,以及它们的使用实例。此外,还讲解了如何在文件中进行查找和替换操作,如在vim中替换行首空白字符,以及使用grep命令进行字符串查找。文章强调了find命令的强大功能和locate命令的高效性,同时提到了type命令用于区分命令类型。
摘要由CSDN通过智能技术生成

find /var/ -name "*.php" > /home/tmp  在/var/目录下查找 所有以.php后缀结尾的文件  结果很多,就 > 输出结果到/home/tmp 文件

grep -i "字符串" 文件      在指定文件中查找指定字符串的行, -i不区分大小写

grep -e "正则表达式" 文件  同上,不过是正则查找

find /var/log/ -type f -name "*.log" | xargs grep "Warning"  在/var/log/目录下查找所有后缀.log文件,并找到包含"Warning"的行

find -name '*html' | xargs perl -pi -e 's|www.111.com|www.222.com|g'      在当前目录下查找所有html文件,将其www.111.com替换为www.222.com

grep -r "root" ./      在当前目录下所有文件中,查找包含"root"词的文件

1. find-重点

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

find的使用格式如下:

$ find

- : 所要搜索的目录及其所有子目录。默认为当前目录。

- : 所要搜索的文件的特征。

- : 对搜索结果进行特定的处理。

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

find的使用实例:

$ find . -name 'my*'

搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

$ find . -name 'my*' -ls

搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

$ find . -type f -mmin -10

搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

其他查找参数:

find / -amin -10 # 查找在系统中最后10分钟访问的文件

find / -atime -2 # 查找在系统中最后48小时访问的文件

find / -empty # 查找在系统中为空的文件或者文件夹

find / -group cat # 查找在系统中属于 groupcat的文件

find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件

find / -mtime -1 #查找在系统中最后24小时里修改过的文件

find / -nouser #查找在系统中属于作废用户的文件

find / -user fred #查找在系统中属于FRED这个用户的文件

find [路径]

查找文件

-name 根据文件名查找文件

-iname 根据文件名查找文件,忽略大小写

-path 根据路径查找文件

-ipath 根据路径查找文件,忽略大小写

-amin 过去N分钟内访问过的文件

-atime 过去N天内访问过的文件

-cmin 过去N分钟内修改过的文件

-ctime 过去N天内修改过的文件

-anewer 比参照文件更晚被读取过的文件

-cnewer 比参照文件更晚被修改过的文件

-size 根据文件大小查找文件,单位b c w k M G

-type 根据文件类型查找文件。b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件

-user 按归属用户查找文件

-uid 按UID查找文件

-group 按归属群组查找文件

-gid 按GID查找文件

-empty 查找空文件

2. locate

locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

locate命令的使用实例:

$ locate /etc/sh

搜索etc目录下所有以sh开头的文件。

$ locate ~/m

搜索用户主目录下,所有以m开头的文件。

$ locate -i ~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

3. whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

whereis命令的使用实例:

$ whereis grep

4. which

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which命令的使用实例:

$ which grep

5. type

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

type命令的使用实例:

$ type cd

系统会提示,cd是shell的自带命令(build-in)。

$ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。

$ type -p grep

加上-p参数后,就相当于which命令。

复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]] ...

linux:vi替换命令

linux:vi替换命令 vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询 ...

linux 查找替换

esc:   命令模式与插入模式的切换 一.vi查找:    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找, 不过没关系,你在命令模式下敲斜杆( ...

vi/vim 查找替换命令

vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

linux:vi 替换命令

转自:http://www.cnblogs.com/afant/archive/2009/03/11/1408745.html :s/^.*$/\L&/100 ##将100行内的小写转换成大写 ...

Linux 查找文件命令 find whereis locate

Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

vi下的查找替换命令

1.查找 查找命令 /pattern:向下查找匹配的字符 ?pattern:向上查找匹配的字符 其中pattern是需要匹配的字符串,例如: /cd #全文查找cd / cd

vi查找替换命令详解

一.查找 查找命令 /pattern :向下查找pattern匹配字符串 ?pattern:向上查找pattern匹配字符串 使用了查找命令之后,使 ...

Linux查找字符串命令grep(转)

Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来. ...

随机推荐

POJ 1163 The Triangle(简单动态规划)

http://poj.org/problem?id=1163 The Triangle Time Limit: 1000MS   Memory Limit: 10000K Total Submissi ...

Oracle的使用

启动: 1.win+R ---> cmd  -----> sqlplus "/as sysdba"  //以sysdba身份登录(此时可以创建用户,分配权限等) win ...

Android EditText不弹出输入法焦点问题的总结

转自:http://mobile.51cto.com/aprogram-403138.htm 看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的 ...

PHP 编译问题PEAR package PHP_Archive not installed的解决

php 的编译时需要依赖pear package ,目前的问题错误"PEAR package PHP_Archive not installed",已经明显报出这个问题. 因此编译 ...

Archlinux 中安装 LyX

LyX 是 Latex 的 GUI 界面程序.使用效果类似 Office Word 和 wps.可直接生成 PDF 文件. 我使用的是 LyX + TexLive + XeTeX 组合.近期 Arch ...

【转载】使用python库--Graphviz为论文画出漂亮的示意图

原文: Drawing Graphs using Dot and Graphviz 1 License Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018 ...

牛客小白月赛12 J	月月查华华的手机(序列自动机)

---恢复内容开始--- 题目来源:https://ac.nowcoder.com/acm/contest/392/J 题意: 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机. ...

“编程利器”:VSCode

原先一直使用sublime text3,并且认为它是很好的编程利器. 但最近写代码时,发现很多代码还是提示的不够完整.我们知道,当代码名字很长时,还没有提醒,这是非常苦恼的一件事!同时它的调试功能也不 ...

YUI JS压缩Ant脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值