剖析linux下Find指令

无论在何种系统下,都需要进行查找。Windows下进行查找我们已经轻车熟路了,但是linux下该如何进行查找呢?今天我就来讲讲如何进行查找。

通常情况下我们都是使用whereis和locate来进行查找的。但是如果遇到真的找不到的情况,就需要用find指令来进行查找了。但是使用find命令有一个缺点就是比较慢,因为whereis和locate都是利用数据库来查找数据的,速度相对来说是比较快的,但并没有实际查询硬盘,所以比较节省时间。在这些查找指令中,find可谓是十分强大的。find命令在目录结构中搜索文件,并执行指定的操作。即使系统中含有网络文件系统,find命令在该文件系统中同样有效。所以我们主要剖析find指令的用法。

首先我们来看看常用的whereis和locate是如何使用的呢?

  • whereis      寻找特定文件

    whereis [-bsmu] 文件或目录名

    参数剖析>>

    - b :只查找二进制文件

    - s  :只查找在说明文件manual路径下的文件

-m : 只查找source源文件 - u :查找不在上述三个选项中的其他特殊文件

使用示例:

  • locate

    locate [-ir] keyword

参数剖析>>

-i :忽略大小写

-r:后面可接正则表达式的显示方式

使用示例:

  • find

find  [path] [option] [action]

参数剖析:

  1. 根据文件名或正则表达式匹配搜索

    -name  filename:查找文件名为filename的文件

  2. 根据文件大小进行查找

-size  [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件

3.根据文件时间进行查找

-atime(上次访问这个文件的时间)、-ctime(文件的inode改变的时间)、-mtime(件的内容上一次发生改变的时候的时间)三种时间参数。以mtime为例:

-mtime  n:n为数字,意义为在n天之前的一天内被更改过的文件

-mtime  +n:列出在n天之前被更改过的文件名

-mtime  -n:列出在n天之内被更改过的文件名

4.根据文件类型搜索

find -type 文件类型

f :普通文件

l  :符号文件

d :目录文件

c :字符设备

b :块设备

s :套接字

p  :管道文件

5.进行条件限制查找

-a  与条件

-o  或条件

-not 非条件(此参数的功能类似于否定参数‘!’)

6.根据文件权限和文件所有人的查找

-perm  :按照文件权限查找

-user  :(或者是-uid n   n是用户账号的ID) 按照文件所有人查找

-group:(或者是-gid n   n是组名的ID)按照文件的所属组查找

find命令还有很多,相信在以后的学习中可以更深入的学习。

时间: 2024-12-14 17:12:25

剖析linux下Find指令的相关文章

<linux下sysctl指令详解>

Sysctl指令是对系统核心参数的设置: 用法: -a 参数列出系统中所有核心设置 当然了这些核心的设置都是文件,存放于/proc/sys/net目录下. 举个有代表性的例子: net.ipv4.icmp_echo_ignore_all = 0      把所有的点改为 / 就可以了.   [[email protected] net]# net.ipv4.icmp_echo_ignore_all = 0 [[email protected] net]# cd ipv4/ [[email pro

<Linux下echo指令>

echo这个命令我们最常见的还是在shell脚本中的使用,if语句,for语句,case语句....这些都不是对echo命令的全面了解.下面还有很多其他echo的参数: 来自本人的日常生活,和对资料查看总结. echo指令可以将参数输出到标准输出设备上,多个参数之间默认用空格分开,在输出完成后自动添加换行符. echo命令通常用于显示输出文本,该命令的语法格式如下所示: -n 不输出最后的换行符\n -e 对转义字符进行解释 -E 不对转义字符解释 主要就以上三个参数,其他的只了解,用的不多 -

Linux 下的指令

◆ ls指令 -a:列出目录下的所有文件,包括 . 开头的隐含文件 -d:将目录像文件一样显示,而不是死显示其下的文件,如:ls -d 指定目录 -o:显示文件除组信息外的详细信息 ◆ cd命令 ~ : 进入用户目录 _ : 返回最近访问目录 .. : 返回上级目录 ●时间相关:data显示 ◆cal指令 :用于显示公历(阳历)日历. cal 参数 月份 年份 -m : 显示星期一为一个星期的第一天 -3 : 显示一个月的月历 -j : 显示在当年中的第几天 -y : 显示当年分的日历 ◆mkd

【linux】linux下find指令的用法总结

前言: 先阐述下find指令是干嘛的,为什么要来研究他呢? find指令是Linux下一个很重要的操作,因为linux是一个"一切皆文件"的操作系统,find(查找文件)指令就尤为重要了,在windows操作系统下,我们查找一个文件可以直接在计算机中搜索文件,但是linux操作系统的文件是不带后缀的,同样,Linux下的find功能相对与windows来说,强大了很多. Linux下的查找指令有多个,下面我们主要讲下locate和find两个指令 locate指令是对其生成的数据库进行

Linux下find指令

Linux是一个“一切皆文件”的操作系统,find(查找文件)指令就尤为重要了.find命令在目录结构中搜索文件,并执行指定的操作. 1.命令格式: find pathname -options [-print -exec -ok ...] 2.命令功能: 用于在文件树中查找文件,并作出相应的处理. 3.命令参数: pathname:find命令所查找的目录路径. -print: find命令将匹配的文件输出到标准输出. ? -exec: find命令对匹配的文件执行该参数所给出的shell命令

linux下find指令的简单应用

Linux   find指令 先建立一个文件file: 1.与时间有关的选项: -atime(访问时间).-ctime(变化时间)和-mtime(修改时间):以-mtime为例作说明 -mtime n:n为数字,意义为在n天之前的一天内被变更过内容的文件: -mtime +n:列出在n天之前(不含n天本身)被变更过内容的文件: -mtime -n:列出在n天之内(含n天本身)被变更过内容的文件: -newer file: file为一个存在的文件,列出比file还要新的文件名 find ./ -

Linux 下查找指令

原文链接:http://www.cnblogs.com/sunleecn/archive/2011/11/01/2232210.html whereis <程序名称>查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B <目录> 在指定目录下查找二进制文件-M <目录> 在指定目录下查找帮助文件-S <目录> 在指定目录下查找源代码 locate <文件名称>在文件索引数据库中

linux下如果指令太长,怎么换行输入;怎么快速删除整行命令;怎么快速移动到命令最前或者最后

1.范例:如果指令串太长的话,如何使用两行来输出?[[email protected] ~]$ cp /var/spool/mail/root /etc/crontab \> /etc/fstab /root "\Enter" (\加键盘回车)即可实现 2.ctrl+u   ctrl+k   分别代表光标处往前和光标处往后删除 3.ctrl+a   ctrl+e   分别代表把管标移动到最前和最后

Linux下的指令:tail

tail指令常用来查看服务器中的日志信息. 有的时候,需要实时获取日志信息. 比如,我们向服务器发送了一个请求,此时日志有更新,而我们又想实时看到尾部更新的内容. 这时候可以使用指令: tail -f xxx.log 这个指令会呈现日志尾部(默认10行),并实时更新. 有的时候,服务器正在运行,不断地往日志文件里写日志,而我们又想分析之前的日志. 这时候贸然打开日志文件,可能会出现服务器崩溃的问题. 这时只需要将日志文件的尾部若干行写到另一个文件中即可: tail -n 1000 xxx.log