文件查找,查找目录或文件详解
分类:pc28.am神测网

文件查找(find卡塔 尔(阿拉伯语:قطر‎

探寻目录:find /(查找范围卡塔尔 -name '查找关键字' -type d
查找文件:find /(查找范围卡塔 尔(英语:State of Qatar) -name 查找关键字 -print

1 find

 

    简单的讲,正是实时搜索钦定的内容或标准。特点:最新、最快、最纯粹。

 

    用法:find [找出路线] [追寻条件] [找到后举行的动作]

假诺急需更进一层的垂询,能够参看Linux的下令详整。

    eg. find /etc/ -name "ipsec.conf" -print

此地摘抄如下:

2 常用查找方法

 

    -name 按文件名称查找,能够动用通配符,如* ? [ ] [^ ]

·find path -option [ -print ] [ -exec -ok command ] {} /;
#-print 将查找到的文书输出到标准输出
#-exec command {} /;     -----将查到的文书实行command操作,{} 和 /;之间有空格
#-ok 和-exec相符,只但是在操作前要询客商

    -iname    忽视文件名称大小写。

====================================================

    -regex    使用正则表明式的办法特别文件名

-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                      #大意有个别目录

3,遵照文件属主、属组查找

====================================================
$find ~ -name "*.txt" -print    #在$HOME中查.txt文件并体现
$find .   -name "*.txt" -print
$find .   -name "[A-Z]*" -pri26nbsp;   #对天造地设的文本使用cpio命令,将她们备份到磁带设备中
-prune                              #马虎某些目录

    -user    username    查找属主为username 的文件。

=====================================================
$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

    -group    groupname    查找属组为groupname的文件。

$find . -size 1000000c -print       #查长度大于1Mb的文件
$find . -size 100c        -print      # 查长度为100c的文本
$find . -size 10 -print             #查长度当前期作废10块的文书(1块=512字节卡塔 尔(阿拉伯语:قطر‎

    -uid        user ID        查找属主为内定UID号的文书。

$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

    -gid        group ID        查找属组为钦命GID号的文件。

======================================================

    -nouser                查找未有属主的文本。

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 {} /;

    -nogroup                查找未有属组的文本。

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这么些客户的公文

4,依据文件类型查找

查当前目录下的持有普通文书 

# find . -type f -exec ls -l {} /; 
-rw-r--r--    1 root     root        34928 2003-02-25 ./conf/httpd.conf 
-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_VECTOEnclave",最终打印出富有包罗"SYSCALL_VECTOPAJERO"的文件名

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)查找2002-11-30 16:36:37时纠正正的文书
# A=`find ./ -name "*php"` | ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

    -type    type

            -f    查找普通文书

            -d    查找目录

            -l    查找符号链接文件

            -s    查找套接字文件

            -b    查找块设备文件

            -c    查找字符设备文件

            -p    查找管道文件

5,依据文件大小查找

    -size        [ | - ] unit

    eg.    find /etc    -size 1M 查找/etc目录下大于1M 的文件

图片 1

6 依据时间来搜索

      -atime 访谈时间

     -ctime 更改状态的年华

     -mtime修正的年月    

    (1卡塔尔国以天为单位

        -mtime     n    查找n天从前改正过的文件,从n 1天起头算起    

        -mtime    -n    查找当前时刻此前的n天,n天之内的改动过的公文    

        -mtime    n    查找当前时间往前推第n 天改良过的文件

    (2卡塔 尔(阿拉伯语:قطر‎以分钟为单位

        用法与依天为单位相像

    eg.查找/etc 目录下7天之内访谈过的文件

    find /etc/ -atime -7

图片 2

7 基于权限查找

    -perm [ | - ] MODE

                 MODE    任性一个权力满足都足以。

            -    MODE    必得带有全体MODE权力的文件才得以。

    MODE    准确匹配权限为MODE的文件。

    eg. find /etc/ -perm -222    查找/etc权力必须含有全体222权力的文书

图片 3

图片 4

8 查找到文件后的拍卖动作

    - exec COMMAND { } ; 找到文件后对文件实施COMMAND命令。

    -OK     COMMAND { } ;找到文件后领会是还是不是对文本试行COMMAND命令。

    - print        输出到屏幕(暗中认可操作卡塔 尔(阿拉伯语:قطر‎。

    - ls            打字与印刷到显示屏上,相通于ls    -l

    - delete        删除操作,只可以删除文件。

    -fls filename    查找到的源委保留至filename文件中。

    Xargs         将前边结果分批次给前面包车型客车命令作为实施的参数。

    复制/etc 目录下全体以.conf谈起底的公文到/shell

图片 5

    分批对/etc 目录下全体以.conf最终的公文实行 ls 命令

图片 6

 

本文由pc28.am发布于pc28.am神测网,转载请注明出处:文件查找,查找目录或文件详解

上一篇:Windows系统大全,ISO下载教程 下一篇:没有了
猜你喜欢
热门排行
精彩图文