【Linux】Linux系统下find指令详细用法与示例

Linux中的Find指令是Linux系统中很重要也是很棒的指令之一,功能非常得强大。下面我根据实例代码向大家分享find指令。由于博客上无法贴出Linux代码,我就在截图中体现出代码,以及效果。

我先自己创建了文件名的test.c的普通文件,我们用指令mkdir,以及ls查看已经创建了test.c.

现在我们查找它。

  1. 根据文件名或者正则表达式查找:-name   通过文件名字查找

    文件名:

1)find ./ -name test.c   查找文件名为test.c的文件

2)find 。/ -name ‘test.c*‘  查找文件名包括test的文件

正则表达式:

1)find 用 “!”来否定参数 .

find ./ ! -name ‘*.c‘ -print    查找文件名不为.c的文件,并打印出来。(实际后面的-print可要可不要,效果都会显示在屏幕上)

2)如果想匹配多个条件中的一个,可以使用-o参数。

-a  与条件

-o  或条件

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

2.根据文件大小查找

通过-size选项可以通过文件大小查找文件。

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

b——块(512字节); c——字节; w——字(2字节);

k——千字节 ; M——兆字节; G——吉字节。

1)find ~ -size +100k    查找比100k大的文件

2)find ~ -size -100k     查找比100k小的文件

3)find ~ -size  100k     查找大小为100k的文件

注意: – 指比给定尺寸小,+ 指比给定尺寸大。没有符号代表和给定尺寸完全一样大。

3.根据文件深度查找

使用mimdepth,maxdepth限定搜索指定目录的深度。

-depth:在查找文件时,首先先查找当前的目录中的文件,然后在其子目录中查找。

1)find ./  -name test   在root目录以及子目录下查找文件名为test的文件

2)find -maxdepth 2 -name test    在root目录以及深度为1的子目录中查找文件名为test的文件

3)find -mindepth 1 -maxdepth -name test    在深度为0的子目录以及深度为5的子目录中查找文件名为test的文件

4.根据文件权限查找文件

-perm 按照文件的权限来查找文件。

1)find -perm -g=w 找到具有组读权限的文件

5.根据文件类型查找文件。

-type  查找某一类型的文件。诸如:

文件类型   类型参数
 普通文件    f
 符号文件    l
 目录       d
 字符设备    c
 块设备     b
 套接字     s
 管道文件    p

1)find . -type d 查找类型为目录的文件

其他类型的文件就可以按照上述命令来查找了。

6.根据文件时间来查找

Linux文件系统中每一个文件都有三种时间戳

访问时间(-atime):用户最近一次访问文件的时间;

修改时间(-mtime):文件内容最后一次被修改的时间。

变化时间(-ctime):文件元数据(metadata,例如权限或所有权)最后一次改变的时间。

-atime,-mtime,-ctime作为时间参数,单位是天。可以使用+表示大于,-表示小于(和根据文件的大小查找中的+,-相同)。

1)find ./ -mtime -5   查找小于等于5天内修改过的文件

2)find ./ -mtime +2   查找大于2天前修改过的文件

3)find ./ -mtime 1   查找1天前,当天修改过的文件

4)find ./ -newer test.c   查找比test.c还要新的文件

时间: 2024-11-07 23:25:33

【Linux】Linux系统下find指令详细用法与示例的相关文章

Linux下nl命令详细用法

nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号,其默认的结果与 cat -n 有点不太一样,nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能. 1.命令格式: nl [选项]... [文件]... 2.命令参数: -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n): -b t :如果有空行,空的那一行不要列出行号(默认值): -n :列出行号表示的方法,主要有三种: -n

Linux中find、grep命令详细用法

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以

linux mint系统下编程相关环境配置

学习web开发,用到linux系统,在师兄的帮助下还算不是很费劲的把一些环境配置好了. 清单: skype ibus Google Chrome open-jdk-7.0 android-sdk ant github node.js rvm rvm.ruby rvm.rails yeoman RubyMine IntelliJ IDEA 注意:以下的命令行都是一行一行的在终端中执行 1. skype 和Chrome 在软件管理器中搜索skype,第一个,skype,点击安装. chrome 到h

Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6),然后在windows系统下访问此虚拟机的ip地址,却访问不了. 因为前段时间有知道过iptable的限制,所以在想是不是因为iptable限制了80端口呢! 所以在网上找了下iptable的命令,并且把tcp的80端口设置成允许任何IP都可以访问: iptables -I INPUT -p TCP

linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)

linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开的文件里 export ANDROID_HOME=/home/jason/Develop_SDK/android-sdk-linux_86 export PATH=$PATH:$ANDROID_HOME/tools 最新的SDK要改为:$PATH:$ANDROID_HOMOE/platform-tools 注意:“/home/jason/Develop_SDK

linux系统中‘find’的详细用法

"find"指令是linux系统下较为常用的指令,它常见的用法我们也需要掌握,下面主要是对'find'指令的常见用法作一下总结,希望能够对其他人有所帮助. 在linux系统下用"ls"指令查看目录如下: 1.find指令的一般格式: find [path...] -options [-print / -ecex / -ok] 其中:path表示要查找的目录路径 ~表示home目录                        .表示当前目录             

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

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

在Linux系统下mail命令的用法

在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test [email protected]r.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了.如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户. 2. 第二个例子: 三种常用格式发信 mail -s test [email protected]r.com #第一种方法,你可以把当前shell当成编辑器来用,编

Linux系统下Redis安装详细说明(二)

上一篇随笔,已经成功开启了Redis-server,客户端已经可以正常对redis进行正常操作. 但是,redis-server开启的同时,一个大大doc黑屏也在那里开启着,接下来就对讲解如何在Linux系统下让redis-server后台运行(相当于windows系统下以后台服务运行) (1)打开redis.conf配置文件,执行命令后如下图 #vim redis.conf (2)打开后,按下键盘I键,对redis.conf文件进行编辑 参数1:设置yes,是让redis-server以保护进