linux find 命令 find-name模糊查找

各位老铁们,大家好,今天由我来为大家分享linux find 命令,以及find-name模糊查找的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

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

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"

linux查找文件夹位置命令

linux系统下查找文件夹位置命令是什么呢?下面是具体介绍:

linux系统下查找文件夹位置命令是:find。

查找目录:find/(查找范围)-name查找关键字-type d

查找文件:find/(查找范围)-name查找关键字-print

拓展资料:

find命令详解:

·find path-option [-print ] [-exec-ok command ]{}/;

#-print将查找到的文件输出到标准输出

#-exec command{}/;-----将查到的文件执行command操作,{}和/;之间有空格

#-ok和-exec相同,只不过在操作前要询用户

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

-perm:#按执行权限来查找

-user username:#按文件属主来查找

-group groupname:#按组来查找

-mtime-n+n:#按文件更改时间来查找文件,-n指n天以内,+n指n天以前

-atime-n+n:#按文件访问时间来查

-perm:#按执行权限来查找

-user username:#按文件属主来查找

-group groupname:#按组来查找

-mtime-n+n:#按文件更改时间来查找文件,-n指n天以内,+n指n天以前

-atime-n+n:#按文件访问时间来查找文件,-n指n天以内,+n指n天以前

-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:#忽略某个目录

linux查找字符串命令

使用linux中的命令查找字符串有几种方式,具体介绍如下:

1、set命令能够显示出当前shell下的所有全局参量定义以及它的值;

2、查找并删除当前目录下小文件:

具体命令是:

find.-type f-size-10k-exec rm{}\;

说明:.2cto.com

-type f查找文件

-size-10k,

小于10k的,+是表示要求系统只列出大于指定大小的文件,若是使用-则代表要求系统列出小于指定大小的文件。

3、遍历文件夹grep一个字符串,其具体格式为

find.-name*c| xargs grep strings

在当前文件夹下的所有c文件中查找字符串“string”

4、在某个目录下文件中查找某字符串,一般格式是:

grep-r youcode dir

例如:查找home下文件中查找hello,具体命令是

grep-r hello/home

例如:在当前所有目录下文件中查找hello,不区分大小写,具体命令是:

grep-ir hello..2cto.com

从文件内容中查找匹配指定字符串的行,具体格式为:

$ grep被查找的字符串文件名

从文件内容中查找与正则表达式匹配的行,具体格式为:

$ grep–e“正则表达式”文件名

查找时不区分大小写,具体格式为:

$ grep–i被查找的字符串文件名

查找匹配的行数,具体格式为:

.2cto.com

$ grep-c被查找的字符串文件名

从文件内容中查找不匹配指定字符串的行,具体格式为:

$ grep–v被查找的字符串文件名

阅读剩余
THE END