4.Linux的文件搜索命令
1、文件搜索命令 which
语法:which [命令名称]
范例:$which ls 列出ls命令所在目录
[chanshuyi@localhost ~]$ which ls
alias ls='ls --color=auto'
/bin/ls
另外一个命令:whereis [名称名称],也可以列出命令所在目录。
[chanshuyi@localhost ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
他们的不同之处在于:Which提供命令的别名信息,Whereis提供命令的帮助信息。
如上面中的“alias ls ='ls --color=auto'”就是ls命令的别名信息,它表示我们按下ls命令就相当于执行“ls --color=auto”命令。
whereis中输出部分的文件ls.1.gz和ls.1p.gz是指ls这个命令的帮助文件。
2、文件搜索命令 find
语法:find [搜索路径] [选项] [搜索关键字]
[选项]
-name 按文件名查找(* 匹配任意字符,包括0个字符。? 匹配单个字符)
范例:
find /etc -name init 在/etc目录下查找名字为init的文件 find /etc -name init* 在/etc目录下查找所有以init开头的文件 find /etc -name init??? 在/etc目录下查找所有以init开头的,并且init后还有3个字符的文字 [chanshuyi@localhost Desktop]$ ls hello.txt linuxqq-v1.0.2-beta1.i386.rpm Screenshot.png test13 test.txt [chanshuyi@localhost Desktop]$ find . -name test\* <!-- 这里的星号要加右斜杠转移,否则会出错 --> ./test13 ./test13/testfile ./test.txt
-size 按文件大小查找(+ 表示大于指定大小,- 表示小于指定大小, = 表示刚好等于指定大小)
单位是block,1个block512Byte,即1KB=2Block,1KB等于两个数据块。
范例:
find / -size +2048 在根目录下查找大小大于100MB的文件 find / -size -2048 在根目录下查找大小小于100MB的文件 find / -size +2048 在根目录下查找大小刚好等于100MB的文件(一般不用,因为不可能刚好等于100MB)
-user 根据文件的所有者查找
范例:
find /home -user chan 在/home下查找所有者为chan的文件
-根据时间查找
一共有两组共6个选项,分别是:
ctime/atime/mtime 以天为单位
cmin/amin/mmin 以分钟为单位
c 表示change,指文件的属性(所有者、所属组、权限等)被修改过
a 表示accesss,表示被访问过
m表示modify,表示文件内容被修改过
其中还有 -表示之内,+表示超过
范例:
find . -mmin -120 在当前目录下查找120分钟内内容被修改过的文件 find . -mmin +60 在当前目录下超过60分钟之前内容被修改过的文件(即60分钟内被修改过的文件除外) find . -mtime -2 查找两天之内内容被修改过的文件 find . -atime -2 查找两天之内内容被访问过的文件
-type 按文件类型查找(f 表示二进制文件,L 表示软链接文件,D 表示目录)
范例:
find . -type f 查找目录下的所有二进制文件
-inum 根据i节点找(i节点是linux中文件的唯一标识)
范例:
//查找到hello.txt文件的i节点是781951 [chanshuyi@localhost Desktop]$ ls -i 781951 hello.txt 782880 Screenshot.png 782291 test.txt 782823 linuxqq-v1.0.2-beta1.i386.rpm 782587 test13 //根据i节点查找 [chanshuyi@localhost Desktop]$ find . -inum 781951 ./hello.txt
一般情况下用来查找一些文件名为特殊字符的文件,因为这些特殊文件名对于linux来说无法识别(比如“a b” 空间有空格)
3、find连接符
当我们既想以文件名又想用文件大小作为查询条件时,就需要用到find连接符了。
-a 逻辑与连接符,-o 逻辑或连接符,-exec 连接执行符, -ok 连接执行符(-ok与-exec的区别就是,ok在寻找到目标之后会询问你是否进行之前命令中设定的操作,而-exec则不会进行询问)
范例:
--【-exec连接符】找到hello.txt并直接显示它
[chanshuyi@localhost Desktop]$ find . -name hello.txt -exec cat {} \;
第一行
第二行
第三行
倒数第2行
Hello, I'm in centos system to write a introduce file to you.
--找到hello.txt后,询问用户是否进行对应操作,输入Y/N
[chanshuyi@localhost Desktop]$ find . -name hello.txt -ok cat {} \;
< cat ... ./hello.txt > ? y
第一行
第二行
第三行
倒数第2行
Hello, I'm in centos system to write a introduce file to you.
注:命令行里的“{}”表示查找到的对象,是起到一个指代的作用,后面的“\;”是固定的。
3、文件搜索指令 locate
语法:locate [搜索关键字]
范例:
[chanshuyi@localhost Desktop]$ locate hello.txt /home/chanshuyi/Desktop/hello.txt
Locate命令与find命令不同,locate查找是根据系统的文件目录数据库进行查找的,而find是直接去硬盘查找的。
因此locate对于刚刚创建的文件或目录会找不到。(因为系统文件目录数据库还未更新)。
你也可以用updatedb去手动更新系统的文件目录数据库。但locate命令一般只有在linux系统中存在,在其他类型的Unix系统中是不存在的。
注意:updatedb指令只有root用户才有权限操作。你可以用su命令切换到root用户下。
4、在文件中搜寻字符串匹配的行并输出 grep
语法:grep [指定字符串] [源文件]
范例:
grep ftp /etc/services 在services文件中搜寻ftp字段,并输出所在的行
下一篇:Linux学习笔记四:Linux的帮助命令
4.Linux的文件搜索命令的更多相关文章
- Linux的文件搜索命令(locate ,find,grep,find命令和)
刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...
- [Linux] 012 文件搜索命令
文件搜索命令:find 命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find [搜索范围] [匹配条件] 功能描述:文件搜索 范例: 在目录 /etc 中查找文件 ...
- Linux基本命令 文件搜索命令
1.文件搜索命令find ================================================================================== 命令名称 ...
- Linux 之 文件搜索命令
文件搜索命令 参考教程:[千峰教育] 文件搜索定位 grep: 作用:通用规则表达式分析程序,是一种强大的文本搜索工具, 它能使用正则表达式搜索文本,并把匹配的行打印出来. 格式:grep [选项] ...
- linux下文件搜索命令学习笔记
1. locate:按照文件名搜索文件 locate filename 与find在整个操作系统中遍历搜索不同,locate命令在/var/lib/mlocate这个后台数据库中按照文件名搜索,所以优 ...
- Linux 基础——文件搜索命令find
一.find命令的好处 有时会经常在目录下找文件或目录的具体存放在哪,但是该目录下的文件又很多不好找出.这时并不需要手动查看所有的文件,用find命令来帮助查找就行了.所以文件或目录一定归好类,存放有 ...
- Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)
1.文件搜索命令:locate [文件名] 在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少 例子:locate test.txt,就会显示文件名包含 test.txt的所 ...
- Linux文件搜索命令
文件搜索命令:locate locate 文件名 在后台数据库中按文件名搜索,搜索速度很快(比find命令要快得多) locate命令所搜索的后台数据库的位置:/var/bin/mlocate 支持模 ...
- linux常用命令:3文件搜索命令
文件搜索命令 1. 命令名:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find [搜索范围] [匹配条件] 功能描述:文件搜索 文件搜索类型 通过文件名搜索 -name ...
随机推荐
- 图片转换PDF
组件在我的文件里,需要的可以找找. public partial class MainForm : Form { private string srcFile, destFile; bool succ ...
- django-查询语句(一)
1.model 假设我们的model如下: 某个JobType下有很多Job. class JobType(models.Model): name = models.CharField(max_len ...
- Android 反射-换一种方式编程
Android 反射-换一种方式编程 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/59109933 本文出自[赵彦军的博客] 上一 ...
- linux 下maven安装
版本要求maven3.2.3 软件下载 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3 ...
- 关于zepto在chrome中触发两次的解决方案
复现条件:chrome 55+ 1.zepto tap的实现及double fire的原因 在监听DOM根节点的时候,touchStart后通过XY的坐标偏差,与tapTime的计时判断Tap/Lon ...
- bash之重定向
标准输入 stdin:代码为0,使用< 或 <& ...
- 徒手用Java来写个Web服务器和框架吧<第一章:NIO篇>
因为有个不会存在大量连接的小的Web服务器需求,不至于用上重量级服务器,于是自己动手写一个服务器. 同时也提供了一个简单的Web框架.能够简单的使用了. 大体的需求包括 能够处理HTTP协议. 能够提 ...
- WebGIS中自定义互联网地图局部注记的一种方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 前言 实际项目中我们经常会遇到这样一种场景:地图底图可能是互 ...
- 香港多IP站群服务器-搭建多IP代理服务器、游戏加速服务器
耀磊花楹qq82521463香港WK自营机房多IP服务器租用,多IP站群服务器,多IP多C段 站群服务器租用 耀磊数据拥有3万个自由香港IP以及独立AS号,是APNIC核心成员,机房通过BGP融合 多 ...
- Modbus软件开发实战指南 之 开发自己的Modbus Poll工具 - 1
在开发Modbus程序的过程中,也可以发现经常需要使用诸如Modbus Poll和Modbus Slave等辅助调试工具, 用于验证MODBUS通讯消息是否正确.但是,Modbus Poll和Modb ...