问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux中find命令的使用方法有哪些

发布网友 发布时间:2022-02-26 09:38

我来回答

4个回答

懂视网 时间:2022-02-26 13:59

Linux中find的使用法?

操作系统:centos7

软件版本 :find4.6

设备型号:ThinkPad E15

find命令用于查找指定目录下的文件,同时也可以调用其它命令执行相应的操作。

find语法格式:find  路径名称   选项       

find命令选项:

-name 按照文件名查找文件。  “名称”

-perm 按照文件权限来查找文件。666 777 等

-user 按照文件属主来查找文件

-group 按照文件所属的组来查找文件

-mtime  -n  / +n 按照文件的更改时间来查找文件,

- n 表示文件更改时间距现在n天以内

+ n 表示文件更改时间距现在n天以前

-type 查找某一类型的文件

b - 块设备文件

d - 目录

c - 字符设备文件

p - 管道文件

l- 符号链接文件

f - 普通文件

-size n  查找符合指定的文件大小的文件

-exec    对匹配的文件执行该参数所给出的其他linux命令, 相应命令的形式为' 命令 {} ;,注意{ }和 ;之间的空格,{}代表查到的内容


例1:查找当前目录下所有的TXT格式的文件

[root@xuegod63 ~]# touch a.txt xuegod.txt

[root@xuegod63 ~]#  find . -name "*.txt"

。。。

./a.txt

./xuegod.txt


2、按照更改时间或访问时间等查找文件

如果希望按照更改时间来查找文件,可以使用mtime,atime或ctime选项

mtime:  文件最后一次修改的时间

atime:  最后一次访问时间

ctime:  文件的最后一次变化时间,也就是修改时间

例1:在root目录下查找更改时间在1天以内,被黑客修改的文件

[root@xuegod63 ~]# find /root/ -mtime -1

对查找内容执行相应命令

-exec    这个选项参数后面可以跟自定义的SHELL命令,格式如下:


例2:把查找到的文件复制到一个指定的目录

[root@xuegod63 ~]# touch {1,2,3}.back

[root@xuegod63 mnt]# find /root -name "*.txt" -exec cp {} /opt  ;


例3:查找多个类型文件

find命令中比较符的使用:

-a  and 并且

-o  or  或者

+  超过

-   低于

[root@xuegod63 ~]# touch a.pdf back.sh

[root@xuegod63 ~]# find ./ -name "*.sh" -o -name "*.pdf"

[root@xuegod63 ~]# find /etc -size +20k -a -size -50k | wc -l

22

[root@xuegod63 ~]# find /etc -size +20k  | wc -l

49


例4:  按权限查找:-perm

[root@xuegod63 ~]# find /bin/ -perm 755   # 等于0755权限的文件或目录

[root@xuegod63 ~]# find /bin/ -perm  -644 #-perm -644  至少有644权限的文件或目录


例5:查找的目录深度:

-maxdepth 1  #只查找目录第一层的文件和目录

如:查找/bin目录下权限等于644的文件

[root@xuegod63 ~]# find /etc/ -maxdepth 1 -perm 644 | more

总结:find命令使用方法和参数

find命令选项:

-name 按照文件名查找文件。  “名称”

-perm 按照文件权限来查找文件。666 777 等

-user 按照文件属主来查找文件

-group 按照文件所属的组来查找文件

-mtime  -n  / +n 按照文件的更改时间来查找文件,

- n 表示文件更改时间距现在n天以内

+ n 表示文件更改时间距现在n天以前

-type 查找某一类型的文件

b - 块设备文件

d - 目录

c - 字符设备文件

p - 管道文件

l- 符号链接文件

f - 普通文件

-size n  查找符合指定的文件大小的文件

-exec    对匹配的文件执行该参数所给出的其他linux命令, 相应命令的形式为' 命令 {} ;,注意{ }和 ;之间的空格,{}代表查到的内容

热心网友 时间:2022-02-26 11:07

find命令的参数及使用命令:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
#-print 将查找到的文件输出到标准输出
#-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户
例:find . -name .svn | xargs rm -rf
====================================================
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查GIN: 0px">
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio %; #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录

=====================================================
$find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示
$find . -name "*.txt" -print
$find . -name "[A-Z]*" -print #查以大写字母开头的文件
$find /etc -name "host*" -print #查以host开头的文件
$find . -name "[a-z][a-z][0–9][0–9].txt" -print #查以两个小写字母和两个数字开头的txt文件
$find . -perm 755 -print
$find . -perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777
$find . -type d -print
$find . ! -type d -print
$find . -type l -print
$find . -size +1000000c -print #查长度大于1Mb的文件
$find . -size 100c -print # 查长度为100c的文件
$find . -size +10 -print #查长度超过期作废10块的文件(1块=512字节)
$cd /
$find etc home apps -depth -print | cpio -ivcdC65536 -o /dev/rmt0
$find /etc -name "passwd*" -exec grep "cnscn" {} \; #看是否存在cnscn用户
$find . -name "yao*" | xargs file
$find . -name "yao*" | xargs echo "" > /tmp/core.log
$find . -name "yao*" | xargs chmod o-w
======================================================
find -name april* 在当前目录下查找以april开始的文件
find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2 在/home下查最近两天内改动过的文件
find /home -atime -1 查1天之内被存取过的文件
find /home -mmin +60 在/home下查60分钟前改动过的文件
find /home -amin +30 查最近30分钟前被存取过的文件
find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录
find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录
find /home -group cnscn 列出/home内组为cnscn的文件或目录
find /home -gid 501 列出/home内组id为501的文件或目录
find /home -nouser 列出/home内不属于本地用户的文件或目录
find /home -nogroup 列出/home内不属于本地组的文件或目录
find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层
find /home -name tmp.txt -mindepth 3 从第2层开始查
find /home -empty 查找大小为0的文件或空目录
find /home -size +512k 查大于512k的文件
find /home -size -512k 查小于512k的文件
find /home -links +2 查硬连接数大于2的文件或目录
find /home -perm 0700 查权限为700的文件或目录
find /tmp -name tmp.txt -exec cat {} \;
find /tmp -name tmp.txt -ok rm {} \;
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 . -type f -exec ls -l {} \;

-rw-r–r– 1 root root 12959 2003-02-25 ./conf/magic
-rw-r–r– 1 root root 180 2003-02-25 ./conf.d/README
查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出
=================================================
在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:
$ find logs -type f -mtime +5 -exec -ok rm {} \;
=================================================
查询当天修改过的文件
[root@book class]# find ./ -mtime -1 -type f -exec ls -l {} \;
=================================================
查询文件并询问是否要显示
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls … ./classDB.inc.php > ? y
-rw-r–r– 1 cnscn cnscn 13709 1月 12 12:22 ./classDB.inc.php
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls … ./classDB.inc.php > ? n
[root@book class]#
=================================================
查询并交给awk去处理
[root@book class]# who | awk ’{print $1"\t"$2}’
cnscn pts/0
=================================================
awk—grep—sed
[root@book class]# df -k | awk ‘{print $1}’ | grep -v ’none’ | sed s"/\/dev\///g"
文件系统
sda2
sda1
[root@book class]# df -k | awk ‘{print $1}’ | grep -v ’none’
文件系统
/dev/sda2
/dev/sda1

1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名
A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
B) grep SYSCALL_VECTOR /tmp/*.h | cut -d’:' -f1| uniq > filename
C) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print
2)find / -name filename -exec rm -rf {} \;
find / -name filename -ok rm -rf {} \;
3)比如要查找磁盘中大于3M的文件:
find . -size +3000k -exec ls -ld {} ;
4)将find出来的东西拷到另一个地方
find *.c -exec cp ‘{}’ /tmp ‘;’
如果有特殊文件,可以用cpio,也可以用这样的语法:
find dir -name filename -print | cpio -pdv newdir
6)查找2004-11-30 16:36:37时更改过的文件
# A=`find ./ -name "*php"` | ls -l –full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

热心网友 时间:2022-02-26 12:25

find

语法:

[root@redhat ~]# find 路径 参数

参 数说明:

时间查找参数:

-atime n :将n*24小时内存取过的的文件列出来

-ctime n :将n*24小时内改变、新增的文件或者目录列出来

-mtime n :将n*24小时内修改过的文件或者目录列出来

-newer file :把比file还要新的文件列出来

名称查找参数:

-gid n :寻找群组ID为n的文件

-group name :寻找群组名称为name的文件

-uid n :寻找拥有者ID为n的文件

-user name :寻找用户者名称为name的文件

-name file :寻找文件名为file的文件(可以使用通配符)

例 如: 从根目录开始查找名称是zgz的文件

[root@redhat ~]# find / -name zgz

/home/zgz

/home/zgz/zgz

/home/weblogic/bea/user_projects/domains/zgz

/home/oracle/proct/10g/cfgtoollogs/dbca/zgz

/home/oracle/proct/10g/cfgtoollogs/emca/zgz

/home/oracle/oradata/zgz

查找名称中带有zgz的文件

[root@redhat ~]# find / -name '*zgz*'

/home/zgz

/home/zgz/zgz1

/home/zgz/zgzdirzgz

/home/zgz/zgz

/home/zgz/zgzdir

/home/weblogic/bea/user_projects/domains/zgz

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00006

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00002

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00004

/home/weblogic/bea/user_projects/domains/zgz/zgz.log

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00008

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00005

当我们用whereis和locate无法查找到我们需要的文件时,可以使用find,但是find是在硬盘上遍历查找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用whereis和locate。

locate 是在数据库里查找,数据库大至每天更新一次。

whereis 可以找到可执行命令和man page

find 就是根据条件查找文件。

热心网友 时间:2022-02-26 14:00

Linux
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
语法格式:
find path -option [ -print ] [ -exec -ok command ] {} \;
参数说明:
find根据下列规则判断path和expression,在命令列上第一个-(),!之前的部分为path,之后的部分是expression。如果path是空字串则使用目前路径,如果expression是空字串则使用-print为预设expression。
expression中可使用的选项有二三十个,在此只介绍常用的部分。
-mount,-xedv:只检查和指定目录在同一个文件系统下的文件,避免列出其他文件系统中的文件;
-amin n:在过去n分钟内被读取过;
-anewer file:比文件file更晚被读取过的文件;
-atime n:在过去n天内被读取过的文件;
-cmin n:在过去n分钟内被修改过;
-cnewer file:比文件file更新的文件;
-ctime n:在过去n天内被修改过的文件;
-empty:空的文件-gid n or -group name:gid是n或是group名称是name;
-ipath p,-path p:路径名称符合p的文件,ipath会忽略大小写;
-name name,-iname name:文件名称符合name的文件,iname会忽略大小写;
-size n:文件大小是n单位,b代表512位元组的区块,c表示字元数,k表示kilo bytes,w是二个位元组。
-type c:文件类型是C的文件。
linux中find的用法

linux中find的用法:Linuxfind命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为想要查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find根据规则判断path和expression,在命令列上第一个-(),!之前...

Linux命令之find的高级用法

1. 删除超时且空的文件夹:在当前目录下,使用`find -type d -empty -ctime +6 -exec rm {} \;`,可查找并移除超过6天且为空的文件夹。2. 查找特定大小的文件:在根目录下,`find -type f -size +1000M`,能定位大于1GB的文件。3. 查找特定权限的文件:在当前目录,`find -type f -...

linux命令find

1. find / -name "*.txt" -print:此命令用于在根目录及其子目录中查找所有扩展名为".txt"的文件,并将结果输出。2. find / -name "[A-Z]*" -print:查找文件名以大写字母开头的文件,不论大小写。3. find /etc -name "host*" -print:在/etc目录中搜索文件名以"host"开头的文件。4...

Linux中find命令用法全汇总,看完就没有不会用的!

第一部分:基本名称查找 在当前目录查找test.c:find . -name "test.c"在/home目录查找test:find /home -name "test"忽略大小写查找test:find /home -iname "test"查找test目录:find / -type d -name "test"查找当前目录中的test.PHP文件:find . -name "test.PHP"查找目录中的所有php文...

linux使用find命令查找指定文件linux查找某文件命令

`$ find /hoem -name file.txt`上面的命令将会在/hoem目录下搜索文件,将找到名字为file.txt的文件打印出来。find命令也可以查找某个指定类型的文件,比如查找/home目录下所有以*.pdf结尾的文件,可以运行:`$ find /home -name “*.pdf”`以上就介绍了如何使用linux的find命令查找指定...

linux的find命令详解

1、语法:find path -option [ -print ] [ -exec | -ok command {} \]path : find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print:find命令将匹配的文件输出到标准输出。-exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为command { } ;...

Linux中查找文件夹的命令

Linux中查找文件夹的命令是find命令。Linux-文件搜索命令find的操作使用方法如下:1、全盘搜索,也可以指定目录搜索。find 搜索目录 -name 目标名字,find / -name file 2、这样搜索看到的都是file的完全匹配,区分大小写的,可以用-iname不区分大小写,find / -iname file。这样我们就可以多查找到大写...

Linux中find命令使用示例

在Linux中,find命令是极其关键的命令行工具,它能根据预设条件精准搜索文件和目录。本文通过实例演示了38个find命令的使用方法,从基础到高级,分为五个部分:1. 基础查找:如在当前目录中查找"linux265.txt",在/home目录下查找,以及忽略大小写和查找特定类型的文件。2. 权限查找:例如查找具有特定权限...

linux 文件查找和检索find命令

find命令高级查找 find ./ -type d -exec shell命令 {} \;例如:查找指定目录,并列出该目录中文件详细信息。另一种写法:find ./ -type d -ok shell命令 {} \;ok会询问是否执行指定的shell命令,所以ok比exec要安全一些!2. 查找到后,通过管道执行指定shell命令 find ./ -type d | xargs...

Linux系统find命令详解

find命令的使用方式灵活,基本语法为find [path...] [expression],其中[path...]指定搜索路径,[expression]则是匹配条件。默认情况下,find会在当前目录及其子目录中查找所有文件。通过选项如-maxdepth和-mindepth,用户可以控制搜索的目录深度。在匹配条件方面,find支持多种选项。例如,-name用于按文件...

linux的find命令用法 linux基本命令的使用 find命令的使用 linux find命令找文件 linux系统find命令 linuxfind命令详解 linux find用法 linux常用的20个命令 linux tail命令
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
锦州市那里有印刷厂? 微信免押还有年龄限制? 微信多少分以上可以免押金租借 nwcnwc软件特点 生产nwc是什么意思? nwc是什么区块链? 断供有多严重?断供等于白送银行"一套房" 我用360卸载了一个软件,却发现不知怎么的原本文件夹中的其他软件也一... 如何把360软件管家里软件卸载里的文件删除但文件还在? 请问,我在360软件管理里卸载了游戏,为什么D盘里的文件夹还在啊? 注册域名拥有邮箱? CMD的find命令怎么用? 如何使用自己的域名来注册邮箱 Linux find命令怎么用? qq邮箱个性域名怎么申请? find命令的用法 如何隐藏自己的IP.不让别人从QQ里看出来我在哪里. 如何在自己的linux服务器上搭建网站 为什么我的QQ别人搜索不到?如果被屏蔽了,怎么解除? 如何让QQ好友看不到自己? Linux服务器怎么搭建网站以及安装wdcp管理系统 使用linux如何发布网页? 怎么隐藏自己的QQ动态,让其他人看不到? 如何在linux系统中制作网页 linux怎么搭建ASP的网站? 如何隐藏自己的QQIP地址 不让对方看见??? 怎么在linux搭建web服务器 怎么将自己的QQ隐藏,让人搜不到 如何在linux中搭建一个https的网站 怎么在linux服务器上建立网站 我通过QQ邮箱注册了新网的域名 命令提示符(DOS)下Find的用法 QQ邮箱注册的域名转出 linux find命令怎么用 注册免费域名不能使用qq邮箱吗 关于find命令的使用 怎么申请注册域名公司邮箱? find命令的常用操作? qq邮箱域名 QQ邮箱与163邮箱相比,那个更安全?注册域名用那个邮箱最好? 如何使用find命令查找文件? 关于QQ邮箱域名 unix中的find指令怎么用啊 unix中find命令的用法 linux中find命令的使用方法有哪些? CAD中Find命令的使用,求大神解答? 批处理文件中 find 命令的例子 find指令是linux中的功能最齐全的搜索指令,求用法! 怎么申请带有域名的邮箱呀? 怎么注册带有域名的邮箱?