当前位置: 澳门新濠3559 > 服务器运维 > 正文

本文结构如下,find命令在该文件系统中同样有效

时间:2019-11-08 03:17来源:服务器运维
ubuntu系统中文件和内容寻找命令小结,ubuntu内容搜索 本文章总计了ubuntu系统中文件和剧情找寻命令,如有find、locate、which、grep等公事与内容找出命令的介绍,有亟待的校友可参照本小

ubuntu系统中文件和内容寻找命令小结,ubuntu内容搜索

本文章总计了ubuntu系统中文件和剧情找寻命令,如有 find、locate、which、grep等公事与内容找出命令的介绍,有亟待的校友可参照本小说黄金时代.以文件名查找:  1. find 命令 

由于find具备强盛的效果,所以它的选项也非常多,个中绝大非常多抉择都值得大家花时间来打探一下。尽管系统中包涵网络文件系统( NFS),find命令在该文件系统中相通有效,只你全体相应的权力。 
在运行一个相当消耗费资金源的find命令时,很四人都赞同于把它位于后台施行,因为遍历三个大的文件系统恐怕会花费非常短的流年(这里是指30G字节以上的文件系统)。 
find命令的雷同格局为; 
find pathname -options [-print -exec -ok ...] 
如 
find / -name "filename" 
目的:在根目录“/”带头搜被喻为filename的文件,“filename”文件名能够分包通配符(*,?卡塔 尔(阿拉伯语:قطر‎,注意:filename是文本名字符串,可以带双引号,也可不带find命令功用强盛,它有超多采撷让您以差别的主意找寻文件,举例,通过日期,文件大小,权限,具有者等等。 
find命令的参数; 
pathname: find命令所查找的目录路线。举例用.来代表当前目录,用/来表示系统根目录。 
-print: find命令将卓绝的文件输出到正规输出。 
-exec: find命令对神工鬼斧的文件试行该参数所付出的shell命令。相应命令的款式为'command' { } ;,注意{ }和;之间的空格。 
-ok: 和-exec的效劳同样,只不过以意气风发种尤其安全的情势来进行该参数所付出的shell命令,在进行每一个发令早先,都会付出提醒,让顾客来规定是还是不是实行。 

3、find命令选项 

-name 
不成方圆文件名查找文件。 
-perm 
遵守文件权限来查找文件。 
-prune 
利用那大器晚成选项能够使find命令不在当前点名的目录中查找,假设同一时间采纳-depth选项,那么-prune将被find命令忽视。 
-user 
规行矩步文件属主来查找文件。 
-group 
安份守己文件所属的组来查找文件。 
-mtime -n +n 
根据文件的改动时间来查找文件, - n代表文件改过时间隔以往n天之内,+ n代表文件校订时间隔以后n天此前。find命令还也许有-atime和-ctime 选项,但它们都和-m time选项。 
-nogroup 
检索无有效所属组的公文,即该公文所属的组在/etc/groups中不设有。 
-nouser 
探求无有效属主的公文,即该公文的属主在/etc/passwd中子虚乌有。 
-newer file1 ! file2 
追寻校订时间比文件file1新但比文件file2旧的公文。 
-type 
寻觅某一门类的文书,诸如: 
b - 块设备文件。 
d - 目录。 
c - 字符设备文件。 
p - 管道文件。 
l - 符号链接文件。 
f - 普通文书。 
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。 
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中搜寻。 
-fstype:查找位于某一门类文件系统中的文件,那一个文件系统类型日常能够在配置文件/etc/fstab中找到,该配置文件中带有了本系统中关于文件系统的新闻。 
-mount:在查找文件时不当先文件系统mount点。 
-follow:若是find命令境遇符号链接文件,就追踪至链接所针没错文件。 
-cpio:对天造地设的文本使用cpio命令,将这个文件备份到磁带设备中。 

2. locate 命令 

locate filename 
locate命令其实是“find -name”的另黄金时代种写法,不过要比后面一个快得多,原因在于它不搜索具体目录,而是搜索四个数据库(/var/lib/locatedb卡塔 尔(阿拉伯语:قطر‎,那几个数据库中蕴涵本地全部文件新闻。Linux系统自动制造那一个数据库,并且每一天自动更新二回,所以接纳locate命令查不到最新变动过的文件。为了幸免这种场地,可以在动用locate此前,先接纳updatedb命令,手动更新数据库。 
locate命令的采用实例: 
  $ locate /etc/sh 
搜索etc目录下全数以sh开端的文书。 
  $ locate ~/m 
搜索顾客主目录下,全体以m初始的公文。 
  $ locate -i ~/m 
招来客商主目录下,全数以m起首的文书,并且忽视大小写。 

发觉带有字符串“filename”的公文名。那比find命令更易于。不过依据数据库(平时在晚上重新建构卡塔 尔(英语:State of Qatar),所以你不大概找到刚刚存到文件系统的文件。为了强制立时更新数据库,作为超级客户能够利用:updatedb& (中间未有空格卡塔尔 

3. which命令 

which executeable_name 
搜寻可实行文件,依据可推行文件的公文名。 
例如 which apache2 , 返回/usr/sbin/apache2 

二.以文件内容搜索 

  1. grep -n 字符串名字 /filepath/filename 
    回来包蕴该字符串的该行,能够是多行。且带有行数。 
  2. sudo gedit /filepath/filename 
    而后,用ctrl+F 去探索相应的字符串。 
  3. vi可能less命令能够查找相应的剧情 
    比方 vi /filepath/filename而后,输入 “/字符串” ,按下字母“n”到下二个神工鬼斧的字符串 
  4. 澳门新濠3559,tail命令 

翻看文件内容的特有方式

  1. 假如您只想看文件的前5行,能够采纳head命令,如: 
    head -5 /etc/passwd 
  2. 若是您想查看文件的后10行,可以动用tail命令,如: 
    tail -20 /etc/passwd 
    tail -f /var/log/messages 
    参数-f使tail不停地去读最新的开始和结果,那样有实时监视的功用 
    tail -f /var/log/messages 
    按Ctrl+C后,直接从剧本退出到晋升符下了 作品转发自

1、locate 

Linux下边专门的学问,有些命令能够大大升高功效。本文就向大家介绍find、grep命令,他哥俩能够算是必会的linux命令,笔者大约每日都要用到他俩。本文结构如下:

linux下find查找命令用法

那篇小说主要介绍了,Linux中find不感觉奇用法示例,需求的意中人能够参见下

Linux下find命令在目录结构中寻找文件,并实行钦定的操作。Linux下find命令提供了风姿洒脱对生机勃勃多的物色条件,功用很强盛。由于find具有强大的效应,所以它的选项也超级多,在那之中许多采撷都值得大家花时间来询问一下。纵然系统中饱含网络文件系统( NFS),find命令在该文件系统中雷同有效,只你富有相应的权柄。 在运作贰个那二个消耗财富的find命令时,相当多少人都趋势于把它身处后台实践,因为遍历八个大的文件系统可能会开销相当长的日子(这里是指30G字节以上的文件系统)。

1.命令格式:

find pathname -options [-print -exec -ok ...]

2.下令功用:

用来在文书树种查找文件,并作出相应的管理

3.限令参数:

pathname: find命令所查找的目录路线。比如用.来代表当前目录,用/来表示系统根目录。
-print: find命令将格外的文本输出到专门的学业输出。
-exec: find命令对鬼斧神工的文书进行该参数所提交的shell命令。相应命令的花样为'command' {  } ;,注意{   }和;之间的空格。
-ok: 和-exec的功效同样,只不过以大器晚成种尤其安全的格局来实行该参数所提交的shell命令,在实行每二个发令早前,都会提交提示,让客户来分明是或不是试行。

4.命令选项:

-name   依据文件名查找文件。
-perm   根据文件权限来查找文件。
-prune  使用这一选项能够使find命令不在当前点名的目录中查找,如若同一时间使用-depth选项,那么-prune将被find命令忽视。
-user   依据文件属主来查找文件。
-group  根据文件所属的组来查找文件。
-mtime -n +n  根据文件的改变时间来查找文件, - n代表文件校正时间隔今后n天之内,+ n代表文件修正时间隔未来n天在此以前。find命令还恐怕有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup  查找无有效所属组的文件,即该公文所属的组在/etc/groups中官样文章。
-nouser   查找无有效属主的文书,即该公文的属主在/etc/passwd中子虚乌有。
-newer file1 ! file2  查找更正时间比文件file1新但比文件file2旧的文书。
-type  查找某后生可畏品种的公文,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文书。
-size n:[c] 查找文件长度为n块的公文,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中寻觅。
-fstype:查找位于某一门类文件系统中的文件,这么些文件系统类型日常能够在陈设文件/etc/fstab中找到,该配置文件中蕴含了本系统中关于文件系统的新闻。
-mount:在查找文件时不当先文件系统mount点。
-follow:借使find命令境遇符号链接文件,就追踪至链接所针对的文本。
-cpio:对天造地设的文件使用cpio命令,将那一个文件备份到磁带设备中。

别的,下边多个的界别:

-amin n   查找系统中最终N分钟访问的文书
-atime n  查找系统中最终n*24钟头访谈的文书
-cmin n   查找系统中最终N秒钟被退换文件状态的公文
-ctime n  查找系统中最终n*24小时被改变文件状态的文书
-mmin n   查找系统中最终N分钟被转移文件数量的文件
-mtime n  查找系统中最终n*24时辰被转移文件数量的文书

5.选拔实例:

实例1:查找指如时期内修正过的文本

命令:
           find -atime -2

输出:

 

代码如下:

[[email protected] ~]# find -atime -2
.
./logs/monitor
./.bashrc
./.bash_profile
./.bash_history

 

 

说明:

超找48小时内改过过的公文

实例2:根据主要字查找

命令:

find . -name "*.log"

输出:

 

 

代码如下:

[[email protected] test]# find . -name "*.log"
./log_link.log
./log2014.log
./test4/log3-2.log
./test4/log3-3.log
./test4/log3-1.log
./log2013.log
./log2012.log
./log.log
./test5/log5-2.log
./test5/log5-3.log
./test5/log.log
./test5/log5-1.log
./test5/test3/log3-2.log
./test5/test3/log3-3.log
./test5/test3/log3-1.log
./test3/log3-2.log
./test3/log3-3.log
./test3/log3-1.log

 

说明:

在当前目录查找 以.log结尾的公文。 ". "代表当前目录

实例3:依据目录或文件的权杖来查找文件

命令:

find /opt/soft/test/ -perm 777

输出:

代码如下:

[[email protected] test]# find /opt/soft/test/ -perm 777
/opt/soft/test/log_link.log
/opt/soft/test/test4
/opt/soft/test/test5/test3
/opt/soft/test/test3

 

 

说明:

查找/opt/soft/test/目录下 权限为 777的文件

实例4:按类型查找

命令:

find . -type f -name "*.log"

输出:

 

代码如下:

[[email protected] test]# find . -type f -name "*.log"
./log2014.log
./test4/log3-2.log
./test4/log3-3.log
./test4/log3-1.log
./log2013.log
./log2012.log
./log.log
./test5/log5-2.log
./test5/log5-3.log
./test5/log.log
./test5/log5-1.log
./test5/test3/log3-2.log
./test5/test3/log3-3.log
./test5/test3/log3-1.log
./test3/log3-2.log
./test3/log3-3.log
./test3/log3-1.log
[[email protected] test]#

 

说明:

招来当目录,以.log结尾的平凡文书

实例5:查找当前怀有目录并排序

命令:

find . -type d | sort

输出:

 

代码如下:

[[email protected] test]# find . -type d | sort
.
./scf
./scf/bin
./scf/doc
./scf/lib
./scf/service
./scf/service/deploy
./scf/service/deploy/info
./scf/service/deploy/product
./test3
./test4
./test5
./test5/test3
[[email protected] test]#

 

实例6:按大小查找文件

命令:

find . -size +1000c -print

输出:

 

代码如下:

[[email protected] test]# find . -size +1000c -print
.
./test4
./scf
./scf/lib
./scf/service
./scf/service/deploy
./scf/service/deploy/product
./scf/service/deploy/info
./scf/doc
./scf/bin
./log2012.log
./test5
./test5/test3
./test3
[[email protected] test]#

 

说明:

招来当前目录大于1K的公文

  locate指令和find找出档案的效劳周围,但locate是经过update程序将硬盘中的全数档案和目录资料先创建一个目录数据库,在 试行loacte时向来找该索引,查询速度会不慢,索引数据库日常是由操作系统管理,但也足以一直下达update强迫系统当下改过索引数据库。


风流浪漫、Linux中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                #按文件访谈时间来查GIN: 0px">-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旧的文书
-mount                        #查文件时不超过文件系统mount点
-follow                       #万后生可畏碰着符号链接文件,就追踪链接所指的公文
-cpio                         #对神工鬼斧的文件使用cpio命令,将她们备份到磁带设备中

指令参数:

-prune                        #马虎某些目录

$find    ~    -name    "*.txt"    -print      #在$HOME中查.txt文件并展现
$find    .     -name    "*.txt"    -print
$find    .     -name    "[A-Z]*"    -pri26nbsp;     #对神工鬼斧的文书使用cpio命令,将她们备份到磁带设备中
-prune                                #大意某些目录 $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 /usr/include -name '*.h' -exec grep AF_INEF6 {} ; 因grep不恐怕递归找寻子目录,故可以和find相结合使用。 在/usr/include 全数子目录中的.h文件中找字串AF_INEF6
$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那几个客商的公文

-e   将免去在物色的限量之外。

-exec,find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command'
{  } \;,注意{   }和\;之间的空格   
find ./ -size 0 -exec rm {} \; 删除文件大小为零的文件
(还可以以这样做:rm -i `find ./ -size 0`  或 find ./ -size 0 |
xargs rm -f &)   
为了用ls -l命令列出所匹配到的文件,可以把ls
-l命令放在find命令的-exec选项中:find . -type f -exec ls -l {  }
\;   
在/logs目录中查找更改时间在5日以前的文件并删除它们:find /logs -type
f -mtime +5 -exec rm {  } \;

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

# 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

-1  假诺 是 1.则运营鹤壁格局。在张掖格局下,使用者不拜会到权限不能看出 的档案。那会始速度减慢,因为 locate 必得至实际的档案系统中获得档案的 权限资料。

  • -ok,和-exec的职能相像,只可是以大器晚成种越发安全的格局来推行该参数所付出的shell命令,在奉行每三个限令以前,都会付出提示,让顾客来规定是或不是实行。 
    find . -name "*.conf"  -mtime +5 -ok rm {  } ; 在当前目录中检索全体文件名以.LOG结尾、改过时间在5日上述的文书,并剔除它们,只可是在剔除之前先交由提醒

查当前目录下的富有普通文书,并在- e x e c选项中选用ls -l命令将它们列出

在/ l o g s目录中找找校订时间在5日以前的公文并剔除它们:

-f   将一定的档案系统清除在外,举例我们向来不到理要把 proc 档案系统中的档案 放在资料库中。

start_directory test  options  criteria_to_match  action_to_perform_on_results

$ find logs -type f -mtime +5 -exec    -ok    rm {} ;

询问当天涂改良的文本
[[email protected] class]# find    ./    -mtime    -1    -type f    -exec    ls -l    {}

-q  安静格局,不博览会示任何不当音讯。

  • -name 
    遵循文件名查找文件。 
    find /dir -name filename  在/dir目录及其子目录下边查找名称叫filename的文书 
    find . -name "*.c" 在当前目录及其子目录(用“.”表示卡塔尔国中查找任何扩大名叫“c”的文本
  • -perm 
    根据文件权限来查找文件。 
    find . -perm 755 –print 在当前目录下查找文件权限位为755的文本,即文件属主能够读、写、实践,其余顾客可以读、实施的文书
  • -prune 
    接收那豆蔻梢头选项可以使find命令不在当前钦定的目录中寻觅,假如同有时直接受-depth选项,那么-prune将被find命令忽视。 
    find /apps -path "/apps/bin" -prune -o –print 在/apps目录下查找文件,但不指望在/apps/bin目录下查找 
    find /usr/sam -path "/usr/sam/dir1" -prune -o –print 在/usr/sam目录下搜寻不在dir1子目录以内的具有文件
  • -user 
    规行矩步文件属主来查找文件。 
    find ~ -user sam –print 在$HOME目录中查找文件属主为sam的文本
  • -group 
    遵纪守法文件所属的组来查找文件。 
    find /apps -group gem –print 在/apps目录下寻觅归属gem顾客组的文件 
  • -mtime -n +n 
    依据文件的改造时间来查找文件, - n代表文件修改时间隔将来n天之内,+ n代表文件更正时间隔将来n天早先。 
    find / -mtime -5 –print 在系统根目录下搜寻改良时间在5日以内的文本 
    find /var/adm -mtime +3 –print 在/var/adm目录下搜索修正时间在3日在此之前的文本
  • -nogroup 
    找出无有效所属组的文件,即该公文所属的组在/etc/groups中空中楼阁。 
    find / –nogroup -print
  • -nouser 
    检索无有效属主的文件,即该公文的属主在/etc/passwd中不真实。 
    find /home -nouser –print
  • -newer file1 ! file2 
    招来校正时间比文件file1新但比文件file2旧的文书。
  • -type 
    寻找某豆蔻梢头品类的文本,诸如: 
    b - 块设备文件。 
    d - 目录。 
    c - 字符设备文件。 
    p - 管道文件。 
    l - 符号链接文件。 
    f - 普通文书。 
    find /etc -type d –print 在/etc目录下寻觅全数的目录 
    find . ! -type d –print 在当前目录下查找除目录以外的有所品种的文书 
    find /etc -type l –print 在/etc目录下寻觅全部的符号链接文件
  • -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。 
    find . -size +1000000c –print 在当前目录下查找文件长度超越1 M字节的文书 
    find /home/apache -size 100c –print 在/home/apache目录下查找文件长度正巧为100字节的公文 
    find . -size +10 –print 在当前目录下搜寻长度当先10块的公文(一块等于512字节卡塔尔
  • -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中找找。 
    find / -name "CON.FILE" -depth –print 它将率先相称全部的文本然后再进来子目录中查找 
  • -mount:在查找文件时不当先文件系统mount点。  
    find . -name "*.XC" -mount –print 从当前目录开端查找位于本文件系统汉语件名以XC结尾的文件(不进来别的文件系统卡塔尔

;

查询文件并精晓是或不是要展现
[[email protected] 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
[[email protected] class]# find    ./    -mtime    -1    -type f    -ok    ls -l    {} ;  
< ls ... ./classDB.inc.php > ? n
[[email protected] class]# =================================================
询问并交由awk去管理
[[email protected] class]# who    |    awk    '{print $1"t"$2}'
cnscn     pts/0 =================================================
awk---grep---sed [[email protected] class]# df    -k |    awk '{print $1}' |    grep    -v    'none' |    sed    s"//dev///g"
文件系统
sda2
sda1
[[email protected] class]# df    -k |    awk '{print $1}' |    grep    -v    'none'
文件系统
/dev/sda2
/dev/sda1

1)在/tmp中检索全体的*.h,并在这里些文件中寻觅“SYSCALL_VECTOLacrosse",最后打字与印刷出装有包括"SYSCALL_VECTO奥德赛"的文件名 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)查找二零零零-11-30 16:36:37时改过良的文书
# A=`find ./ -name "*php"` |    ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37

-n 至多突显 n个出口。

在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。

 


find . -type f
-print | xargs
file 查找系统中的每一个普通文件,然后使用xargs命令来[测试](http://lib.csdn.net/base/softwaretest)它们分别属于哪类文件

find / -name "core"
-print | xargs echo
"" &gt;/tmp/core.log 在整个系统中查找内存信息转储文件(core dump)
,然后把结果保存到/tmp/core.log 文件中:

find . -type f
-print | xargs grep
"hostname" 用grep命令在所有的普通文件中搜索hostname这个词

find ./ -mtime +3
-print|xargs rm -f –r 删除3天以前的所有东西 (find . -ctime +3 -exec
rm -rf {} \;)

find ./ -size 0 |
xargs rm -f & 删除文件大小为零的文件





grep
[OPTIONS] PATTERN [FILE...]   
grep [OPTIONS] [-e PATTERN | -f FILE]
[FILE...]



^  锚定行的开始
如:'^grep'匹配所有以grep开头的行。

$  锚定行的结束
如:'grep$'匹配所有以grep结尾的行。

.   匹配一个非换行符的字符
如:'gr.p'匹配gr后接一个任意字符,然后是p。

 .*一起用代表任意字符。


[^]  匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

..  标记匹配字符,如:'love',love被标记为1。

\&lt;  锚定单词的开始,如:'\&lt;grep'匹配包含以grep开头的单词的行。

\&gt;  锚定单词的结束,如'grep\&gt;'匹配包含以grep结尾的单词的行。




\w  匹配一个文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。

\W  w的反置形式,匹配一个非单词字符,如点号句号等。\W*则可匹配多个。

\b  单词锁定符,如:
'\bgrep\b'只匹配grep,即只能是grep这个单词,两边均为空格。

                           如果被\&lt;和\&gt;引用,就把表达式做为一个单词搜索。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 




ls -l | grep
'^a' 通过管道过滤ls
-l输出的内容,只显示以a开头的行。

grep 'test'
d* 显示所有以d开头的文件中包含test的行。

grep 'test' aa bb
cc 显示在aa,bb,cc文件中匹配test的行。

grep '[a-z]'
aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

grep 'w(es)t.*'
aa 如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(),找到就显示该行。如果用egrep或grep
-E,就不用""号进行转义,直接写成'w(es)t.*'就可以了。

grep -i pattern
files :不区分大小写地搜索。默认情况区分大小写

grep -l pattern
files :只列出匹配的文件名,

grep -L pattern
files :列出不匹配的文件名,

grep -w pattern
files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),

grep -C number
pattern files :匹配的上下文分别显示[number]行,

grep pattern1 |
pattern2 files :显示匹配 pattern1 或 pattern2 的行,

grep pattern1 files
| grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

二、linux下find命令的用法

  1. 主导用法:
          find / -name 文件名      find ver1.d ver2.d -name '*.c' -print    查找ver1.d,ver2.d *.c文件并打字与印刷      find . -type d -print 从当前目录查找,仅查找目录,找到后,打字与印刷路线名。可用以打字与印刷目录结构。
  2. 无不当查找:
          find / -name access_log 2 >/dev/null
  3. 按尺寸查找:
          find / -size 1500c (查找1,500字节大小的文书,c表示字节卡塔 尔(阿拉伯语:قطر‎
          find / -size +1500c (查找大于1,500字节大小的文书,+表示大于卡塔 尔(英语:State of Qatar)    
          find / -size +1500c (查找小于1,500字节大小的文本,-表示小于卡塔尔国    
  4. 按时间:
          find / -amin n 最后n分钟
          find / -atime n 最后n天
          find / -cmin n 最终n分钟改动状态
          find / -ctime n 最终n天改善状态
  5. 其它:
          find / -empty 空白文件、空白文件夹、未有子目录的文件夹
          find / -false 查找系统中老是错误的文本
          find / -fstype type 找存在于钦赐文件系统的公文,如type为ext2
          find / -gid n 组id为n的文件
          find / -group gname 组名为gname的文件
          find / -depth n 在某层钦赐目录中优先查找文件内容
          find / -maxdepth levels 在有些档案的次序目录中按依次减少格局查找
  6. 逻辑
          -and 条件与 -or 条件或
  7. 搜索字符串
          find . -name '*.html' -exec grep 'mailto:'{} 

那篇小说首要介绍了,Linux中find常见用法示例,须要的心上人能够仿效下 Linux下find命令在目录结构中搜索文件,并执...

-r 使用正式运算式 做寻觅的尺度。

 

-o 钦定资料仓库储存的称号。

转自:

-d 钦定资料库的门路

 

-h 显示援助新闻

-V 显示程式的本子新闻

动用实例:

  locate /etc/sh

2、find 

Linux下find命令在目录结构中找找文件,并推行内定的操作。Linux下find命令提供了后生可畏对风流倜傥多的寻找条件,效用很苍劲。由于find具备强有力的功力,选项也超多,纵然系统中带有网络文件系统( NFS),find命令在该文件系统中同样有效,具备相应的权限。 在运作一个可怜消耗财富的find命令时,很五个人都扶助于把它坐落后台实施,因为遍历三个大的文件系统可能会花销不短的日子(这里是指30G字节以上的文件系统)。

1.命令格式:

find pathname -options [-print -exec -ok ...]

2.指令作用:

用于在文件树中查找文件,并作出相应的管理 

3.指令参数:

pathname: find命令所查找的目录路线。例如用.来表示当前目录,用/来代表系统根目录。 

-print: find命令将万分的公文输出到正规输出。 

-exec: find命令对天造地设的文本实行该参数所付出的shell命令。相应命令的样式为'command' {  } ;,注意{   }和;之间的空格。 

-ok: 和-exec的效果与利益相近,只但是以意气风发种越发安全的方式来实行该参数所付出的shell命令,在举办每叁个指令在此之前,都会付出提醒,让客商来规定是还是不是实行。

  4.命令选项:

-name   依据文件名查找文件。

-perm   遵照文件权限来查找文件。

-prune  使用那意气风发选项能够使find命令不在当前点名的目录中寻找,借使还要选拔-depth选项,那么-prune将被find命令忽视。

-user   依据文件属主来查找文件。

-group  根据文件所属的组来查找文件。

-mtime -n +n  依据文件的改动时间来查找文件, - n代表文件纠正时间隔现在n天以内,+ n代表文件改革时间距今后n天之前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

-nogroup  查找无有效所属组的文本,即该公文所属的组在/etc/groups中不真实。

-nouser   查找无有效属主的文本,即该公文的属主在/etc/passwd中海市蜃楼。

-newer file1 ! file2  查找改正时间比文件file1新但比文件file2旧的公文。

-type  查找某后生可畏类别的文件,诸如:

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文书。

-size n:[c] 查找文件长度为n块的文书,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中搜寻。

-fstype:查找位于某风姿浪漫项目文件系统中的文件,那么些文件系统类型日常能够在安排文件/etc/fstab中找到,该配置文件中带有了本系统中关于文件系统的音信。

-mount:在查找文件时不当先文件系统mount点。

-follow:如果find命令碰到符号链接文件,就追踪至链接所针没有错文件。

-cpio:对神工鬼斧的文本使用cpio命令,将那几个文件备份到磁带设备中。

其它,下边多个的分化:

-amin n   查找系统中最后N分钟访谈的文本

-atime n  查找系统中最后n*24时辰访谈的公文

-cmin n   查找系统中末了N分钟被改造文件状态的文书

-ctime n  查找系统中最终n*24小时被改革文件状态的公文

-mmin n   查找系统中最终N分钟被改变文件数量的文本

-mtime n  查找系统中最终n*24时辰被改变文件数量的公文

 

 

追寻指准时间内改良过的文书  find -atime -2

依靠重大字查找  find . -name "*.log"   在当前目录查找 以.log结尾的公文。 ". "代表当前目录 

听从目录或文件的权能来查找文件  find /opt/soft/test/ -perm 777  查找/opt/soft/test/目录下 权限为 777的文书

按类型查找  find . -type f -name "*.log" 

搜寻当前有着目录并排序  find . -type d | sort

按大小查找文件  find . -size +1000c -print  查找当前目录大于1K的文件 

find之exec 

find是大家很常用的叁个Linux命令,不过大家常常查搜索来的并不仅仅是探访而已,还应该有越来越的操作,当时exec的效劳就显现出来了。

-exec  参数前边跟的是command命令,它的告大器晚成段落是以;为告竣标记的,所以那句得意忘形前面包车型地铁分行是不可缺失的,酌量到各种系统中分号会有两样的含义,所从前边加反斜杠。

运用find时,只要把想要的操作写在一个文本里,就足以用exec来合作find查找,好低价的。在有一点点操作系统中只同意-exec选项进行诸如l s或ls -l那样的吩咐。大超多客商使用那生龙活虎选项是为了索求旧文件并删除它们。建议在真的奉行rm命令删除文件此前,最佳先用ls命令看一下,确认它们是所要删除的公文。 exec选项前边跟随着所要实行的下令或脚本,然后是生龙活虎对儿{ },二个空格和二个,最终是贰个支行。为了使用exec选项,一定要同不常候采纳print选项。假设证Bellamy(Bellamy卡塔 尔(阿拉伯语:قطر‎下find命令,会发觉该命令只输出从脚下路径起的相对路线及文件名。

实例:

ls -l命令放在find命令的-exec选项中    find . -type f -exec ls -l {} ;   find命令相称到了当前目录下的具备普通文书,并在-exec选项中动用ls -l命令将它们列出。

在目录中检索修改时间在n日早前的文本并剔除它们   find . -type f -mtime +14 -exec rm {} ;  

在shell中用其余方式删除文件从前,应超过查六柱预测应的文本,一定要小心!当使用诸如mv或rm命令时,能够行使-exec选项的景德镇方式。它就要对每一个相称到的文件实行操作以前提醒您。

在目录中追寻改正时间在n日以前的文书并删除它们,在剔除早前先付给提示    find . -name "*.log" -mtime +5 -ok rm {} ;

  -exec中使用grep命令   find /etc -name "passwd*" -exec grep "root" {} ;

  查找文件移动到钦定目录     find . -name "*.log" -exec mv {} .. ;    删除后cd .. ll 能找到

  用exec选项实践cp命令   find . -name "*.log" -exec cp {} test3 ;   

     

 

编辑:服务器运维 本文来源:本文结构如下,find命令在该文件系统中同样有效

关键词: