Linux基础-0001-文件查找:locate与find

来源:互联网 发布:北京美工设计培训 编辑:程序博客网 时间:2024/06/17 15:14

一、文件查找

即为在文件系统上查找符合条件的文件

  1. 文件查找方式

文件查找方式,分为locate和find两种主要方式

1.1 locate方式

locate的查找方式是非实时的,是提前将系统中相关数据抽取出来作为一个数据库索引。也叫作基于索引进行的非实时查找;

locate依赖于一个事前已经存在的数据库,也就是他依赖于一个索引工具,该命令在运行时需要后台索引的数据库作为支撑;

locate,在ubuntu 12.04,3.2.0-23-generic内核版本中,它依赖的updatedb准备数据库,其中准备的数据库数据在/var/lib/mlocate/mlocate.db中,系统会自动有定时任务对该数据进行更新,在/etc/cron.daily目录有一个名为mlocate的可执行shell脚本:

#! /bin/bashset -e[ -x /usr/bin/updatedb.mlocate ] || exit 0if which on_ac_power >/dev/null 2>&1; then    ON_BATTERY=0    on_ac_power >/dev/null 2>&1 || ON_BATTERY=$?    if [ "$ON_BATTERY" -eq 1 ]; then        exit 0    fifi##LOCKFILE="/var/lib/mlocate/daily.lock"trap "rm -f $LOCKFILE" EXITif [ -e "$LOCKFILE" ]; then    echo >&2 "Warning: $LOCKFILE present, not running updatedb."    exit 1else    touch "$LOCKFILE"fi### See ionice(1)if [ -x /usr/bin/ionice ] &&    /usr/bin/ionice -c3 true 2>/dev/null; then    IONICE="/usr/bin/ionice -c3"fi$IONICE /usr/bin/updatedb.mlocate


上述脚本就是crontab定时任务中每日定时任务的执行脚本。

也可以手工出发更新:sudo updatedb


总结:

①locate是一个读取数据库数据的查找工具,依赖于updatedb生成的数据;

②updatedb在ubuntu12.04中,数据库位置是在/var/lib/mlocate/mlocate.db;

③updatedb对数据的更新是每日更新一次,在/etc/cron.daily目录下的mlocate的shell脚本更新,可以④sudo updatedb方式进行手工更新;

⑤locate依赖于数据库,查询效率高,但是查询不具备实时性;

⑥更新数据库,索引构建过程需要遍历整个根文件系统,会相当消耗系统资源,不建议在系统繁忙的时候进行自动或者手动更新,避免系统宕机;

⑦工作特点:查找速度快;模糊查找,查找对象只要符合查找条件都会显示;非实时查找。


locate的man手册说明:

locate reads one or more databases prepared by updatedb(8) and writes file names matching at least one of the PATTERNs to standard output, one per line.

locate读取由updatedb准备的一个或者多个数据库,并将至少一个PATTERN匹配的文件名称写入标准输出,每行一个。

locate的用法:

locate [OPTION]... PATTERN...


1.2 find方式

search for files in a directory hierarchy,搜索目录层次结构中的文件

find的查找方式是实时的,根据我们指定的路径对每一个文件进行查找,是一种实时的查找。工作方式是通过遍历指定路径下的文件系统完成文件查找。

工作特点

查找速度相对于locate略慢;

精确查找,是根据文件的名称而不是路径进行查找;

实时查找,不依赖任何外部的数据资源;

使用规范

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

或者:

find [OPTION]... [查找路径][查找条件][处理动作]

查找路径:制定具体的目标路径,可以使用多个路径,默认为当前目录

查找条件:即为指定查找标准,可以根据文件名、大小、类型、权限等标准进行查找,默认查找条件为无条件即为制定路径下的所有文件

处理动作:指的是对符合条件的文件做什么操作,默认动作为输出至屏幕(标准输出)


①查找条件

根据文件名进行查找:

 -name “文件名称”:支持使用glob通配符机制,包括* ? [] [^]等

-iname "文件名称":不区分字母大小写,同样支持glob通配符机制

-regex "PATTEN":支持使用正则表达式,以PATTERM去匹配整个文件路径字符串,而不仅仅是文件名称;

直接执行find表示直接显示当前目录下的所有文件(包括目录下的文件),包括隐藏文件


根据属主、属组进行查找:

-user USERNAME:查找属主为指定用户的文件

-group GROUPNAME:查找属组为指定属组的文件

-uid USERID:查找属主为指定的UID号的文件

-gid GROUPID:查找属组为指定的GID号的文件

-nouser USERNAME:查找已经被删除的用户的文件即为没有属主的文件

-nogroup GROUPNAME:查找没有属组的文件


查找指定UID的某个路径下的文件:

root@RealServer01:/etc/heartbeat# find /home -uid 1000 -ls  5481    4 drwxr-xr-x   3 mangguo  mangguo      4096 Mar 19  2016 /home/mangguo  5485    4 drwx------   2 mangguo  mangguo      4096 Mar 17  2016 /home/mangguo/.cache  5486    0 -rw-r--r--   1 mangguo  mangguo         0 Mar 17  2016 /home/mangguo/.cache/motd.legal-displayed  5482    4 -rw-r--r--   1 mangguo  mangguo       220 Mar 17  2016 /home/mangguo/.bash_logout  5487    4 -rw-------   1 mangguo  mangguo        40 Mar 19  2016 /home/mangguo/.bash_history  5483    4 -rw-r--r--   1 mangguo  mangguo       675 Mar 17  2016 /home/mangguo/.profile  5484    4 -rw-r--r--   1 mangguo  mangguo      3486 Mar 17  2016 /home/mangguo/.bashrc

查找指定属主、属组的某个路径下的文件:

root@RealServer01:/etc/heartbeat# find . -user root -ls    923113    4 drwxr-xr-x   4 root     root         4096 Nov  2 17:34 .923114    4 -rw-r--r--   1 root     root         2082 Apr 27  2012 ./shellfuncs923121    4 -rwxr-xr-x   1 root     root          745 Apr  4  2012 ./harc923153    0 -rw-r--r--   1 root     mangguo         0 Nov  2 17:34 ./test.txt923115    4 drwxr-xr-x   2 root     root         4096 Nov  2 16:01 ./rc.d923119    4 -rwxr-xr-x   1 root     root         1383 Apr  4  2012 ./rc.d/ask_resources923118    4 -rwxr-xr-x   1 root     root         1088 Apr  4  2012 ./rc.d/ip-request-resp923120    4 -rwxr-xr-x   1 root     root          133 Apr  4  2012 ./rc.d/status923117    4 -rwxr-xr-x   1 root     root         1313 Apr  4  2012 ./rc.d/ip-request923116    4 -rwxr-xr-x   1 root     root          373 Apr  4  2012 ./rc.d/hb_takeover923122    4 drwxr-xr-x   2 root     root         4096 Nov  2 16:01 ./resource.d923129    4 -rwxr-xr-x   1 root     root         3424 Apr  4  2012 ./resource.d/ids923132    4 -rwxr-xr-x   1 root     root         1294 Apr  4  2012 ./resource.d/WAS923143    4 -rwxr-xr-x   1 root     root          951 Apr  4  2012 ./resource.d/ICP923134    4 -rwxr-xr-x   1 root     root         1166 Apr  4  2012 ./resource.d/WinPopup923144    4 -rwxr-xr-x   1 root     root         1091 Apr  4  2012 ./resource.d/LinuxSCSI923137    4 -rwxr-xr-x   1 root     root          666 Apr  4  2012 ./resource.d/Xinetd923124    4 -rwxr-xr-x   1 root     root         1165 Apr  4  2012 ./resource.d/IPv6addr923127    4 -rwxr-xr-x   1 root     root         1903 Apr  4  2012 ./resource.d/Filesystem923128    4 -rwxr-xr-x   1 root     root         1012 Apr  4  2012 ./resource.d/ServeRAID923123    4 -rwxr-xr-x   1 root     root         1825 Apr  4  2012 ./resource.d/IPaddr2923125    4 -rwxr-xr-x   1 root     root          828 Apr  4  2012 ./resource.d/apache923130    4 -rwxr-xr-x   1 root     root          805 Apr  4  2012 ./resource.d/AudibleAlarm923133    4 -rwxr-xr-x   1 root     root          790 Apr  4  2012 ./resource.d/LVM923149    4 -rwxr-xr-x   1 root     root         1391 Apr  4  2012 ./resource.d/IPsrcaddr923131    4 -rwxr-xr-x   1 root     root         1563 Apr  4  2012 ./resource.d/SendArp923146    4 -rwxr-xr-x   1 root     root          760 Apr  4  2012 ./resource.d/db2923141    4 -rwxr-xr-x   1 root     root         1125 Apr  4  2012 ./resource.d/MailTo923151    4 -rwxr-xr-x   1 root     root         2325 Apr  4  2012 ./resource.d/hto-mapfuncs923139    4 -rwxr-xr-x   1 root     root          742 Apr  4  2012 ./resource.d/portblock923136    4 -rwxr-xr-x   1 root     root         2926 Apr  4  2012 ./resource.d/OCF923147    4 -rwxr-xr-x   1 root     root          910 Apr  4  2012 ./resource.d/Delay923135    4 -rwxr-xr-x   1 root     root         2273 Apr  4  2012 ./resource.d/IPaddr923126    4 -rwxr-xr-x   1 root     root         1160 Apr  4  2012 ./resource.d/Raid1923152    4 -rw-r--r--   1 root     root          692 Apr  4  2012 ./README.config
root@RealServer01:/etc/heartbeat# find . -group mangguo -ls923153    0 -rw-r--r--   1 root     mangguo         0 Nov  2 17:34 ./test.txt


查找指定属组对应GID的某个路径下的文件:

root@RealServer01:/etc/heartbeat# find /home -uid 1000 -ls  5481    4 drwxr-xr-x   3 mangguo  mangguo      4096 Mar 19  2016 /home/mangguo  5485    4 drwx------   2 mangguo  mangguo      4096 Mar 17  2016 /home/mangguo/.cache  5486    0 -rw-r--r--   1 mangguo  mangguo         0 Mar 17  2016 /home/mangguo/.cache/motd.legal-displayed  5482    4 -rw-r--r--   1 mangguo  mangguo       220 Mar 17  2016 /home/mangguo/.bash_logout  5487    4 -rw-------   1 mangguo  mangguo        40 Mar 19  2016 /home/mangguo/.bash_history  5483    4 -rw-r--r--   1 mangguo  mangguo       675 Mar 17  2016 /home/mangguo/.profile  5484    4 -rw-r--r--   1 mangguo  mangguo      3486 Mar 17  2016 /home/mangguo/.bashrc

查找某个路径下无属主、属组的文件:

mangguo@RealServer01:/tmp$ lltotal 24drwxrwxrwt  5 root    root    4096 Nov  2 17:46 ./drwxr-xr-x 23 root    root    4096 Mar 17  2016 ../-rw-r--r--  1 root    root       0 Oct 30 16:37 filelogdrwxrwxrwt  2 root    root    4096 Sep  7 11:40 .ICE-unix/-rw-r--r--  1 mangguo mangguo   24 Nov  2 17:46 issuedrwx------  2 root    root    4096 Oct 26 15:54 ssh-ZYcjd58665/drwxrwxrwt  2 root    root    4096 Sep  7 11:40 .X11-unix/mangguo@RealServer01:/tmp$ ll  issue -rw-r--r-- 1 mangguo mangguo 24 Nov  2 17:46 issuemangguo@RealServer01:/tmp$ exitexitroot@RealServer01:/home# userdel mangguoroot@RealServer01:/home# ll /tmptotal 24drwxrwxrwt  5 root root 4096 Nov  2 17:46 ./drwxr-xr-x 23 root root 4096 Mar 17  2016 ../-rw-r--r--  1 root root    0 Oct 30 16:37 filelogdrwxrwxrwt  2 root root 4096 Sep  7 11:40 .ICE-unix/
-rw-r--r--  1 1000 1000   24 Nov  2 17:46 issuedrwx------  2 root root 4096 Oct 26 15:54 ssh-ZYcjd58665/drwxrwxrwt  2 root root 4096 Sep  7 11:40 .X11-unix/root@RealServer01:/home# id mangguoid: mangguo: No such userroot@RealServer01:/home# find /tmp -nouser -ls1056795    4 -rw-r--r--   1 1000     1000           24 Nov  2 17:46 /tmp/issueroot@RealServer01:/home# find /tmp -nogroup -ls1056795    4 -rw-r--r--   1 1000     1000           24 Nov  2 17:46 /tmp/issue 


根据文件类型查找:

-type TYPE,TYPE可以有如下选项:

f:普通文件

d:目录文件

l:符号链接文件

s:套接字文件

b:块设备文件

c:字符设备文件

p:管道文件


组合条件:

与:-a

或:-o

非:-not,!


根据文件大小进行查找:

-size [+|-]#UINIT,#表示具体一个数值,UNIT表示的是数值对应的单位,单位包括:k,M,G

find /home/ -size 3k -ls表示在/home/目录下查找(3-1,3]即为大于2并且小于等于3范围单位是k的文件。

find /home/ -size -3k -ls表示在/home/目录下查找[0,3-1]即为大于等于0并且小于等于2这个范围单位是k的文件。

find /home/ -size +3k -ls表示在/home/目录下查找(3,+无穷)即为大于3至正无穷这个范围单位是k的文件


根据时间戳:

以天为单位:

-atime [+|-][NUM],NUM表示的区间是[NUM,NUM+1),+表示的区间是[NUM+1,正无穷],-表示的区间是[0,NUM)


-atime 1表示的是大前天的这个时候的时刻开始,周期是一天的时候创建的文件,例如现在是2017.11.03 12:00,那么-atime 1表示的是一天前也就是

2017.11.02 12:00 - 2017.11.03 12:00这个时间段创建的文件。

root@RealServer01:/tmp# touch -a -t 201711021500.00 aa.txt root@RealServer01:/tmp# touch -a -t 201711021459.00 bb.txt   root@RealServer01:/tmp# touch -a -t 201711021800.00 cc.txt     root@RealServer01:/tmp# touch -a -t 201711031800.00 dd.txt root@RealServer01:/tmp# find /tmp/ -atime 1 -ls #查找时间段是[0,1)1056799    0 -rw-r--r--   1 root     root            0 Nov  3 15:14 /tmp/bb.txt1056798    0 -rw-r--r--   1 root     root            0 Nov  3 15:13 /tmp/aa.txtroot@RealServer01:/tmp# stat aa.txt   File: `aa.txt'  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fc00h/64512d    Inode: 1056798     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-11-02 15:00:00.000000000 +0800Modify: 2017-11-03 15:13:50.222133495 +0800Change: 2017-11-03 15:13:50.222133495 +0800 Birth: -root@RealServer01:/tmp# stat bb.txt     File: `bb.txt'  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fc00h/64512d    Inode: 1056799     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-11-02 14:59:00.000000000 +0800Modify: 2017-11-03 15:14:21.006133549 +0800Change: 2017-11-03 15:14:21.006133549 +0800 Birth: -root@RealServer01:/tmp# stat cc.txt     File: `cc.txt'  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fc00h/64512d    Inode: 1056800     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-11-02 18:00:00.000000000 +0800Modify: 2017-11-03 15:14:55.222129035 +0800Change: 2017-11-03 15:14:55.222129035 +0800 Birth: -root@RealServer01:/tmp# stat dd.txt     File: `dd.txt'  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fc00h/64512d    Inode: 1056801     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-11-03 18:00:00.000000000 +0800Modify: 2017-11-03 15:15:14.746135262 +0800Change: 2017-11-03 15:15:14.746135262 +0800 Birth: -root@RealServer01:/tmp# dateFri Nov  3 15:16:23 CST 2017
当前时间段是2017.11.03 15:16,四个文件的时间分别是:
aa.txt  2017-11-02 15:00:00
bb.txt   2017-11-02 14:59:00
cc.txt   2017-11-02 18:00:00
dd.txt   2017-11-03 18:00:00
使用find /tmp/ -atime 1 -ls,这就意味着该命令查找创建时间的范围是:
2017-11-02 15:16至 2017-11-03 15:16
命令后的查找结果是:aa.txt bb.txt


-mtime [+|-][数值]

-ctime [+|-][数值]

以分钟为单位:

-amin [+|-][数值]

-mmin [+|-][数值]

-cmin [+|-][数值]

创建两个文件并制定文件的atime时间
root@RealServer01:/tmp# touch -a -t 201711021111.00 b.txtroot@RealServer01:/tmp# touch -a -t 201711011111.00 a.txt

当前时间
root@RealServer01:/tmp# dateFri Nov  3 15:01:22 CST 2017



查看a.txt和b.txt的文件相关时间
root@RealServer01:/tmp# stat a.txt   File: `a.txt'  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fc00h/64512d    Inode: 1056797     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-11-01 11:11:00.000000000 +0800Modify: 2017-11-03 14:58:43.574106114 +0800Change: 2017-11-03 14:58:43.574106114 +0800 Birth: -root@RealServer01:/tmp# stat b.txt    File: `b.txt'  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fc00h/64512d    Inode: 1056796     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-11-02 11:11:00.000000000 +0800Modify: 2017-11-03 14:58:37.994105179 +0800Change: 2017-11-03 14:58:37.994105179 +0800 Birth: -root@RealServer01:/tmp# find /tmp/ -atime 1 -ls 1056796    0 -rw-r--r--   1 root     root            0 Nov  3 14:58 /tmp/b.txtroot@RealServer01:/tmp# find /tmp/ -atime 2 -ls1056797    0 -rw-r--r--   1 root     root            0 Nov  3 14:58 /tmp/a.txtroot@RealServer01:/tmp# 


根据权限查找

-perm [+|-]MODE

MODE精确权限匹配

+MODE表示任何一类(u,g,o)对象的权限中只有能有一位匹配到即可。例如:

find /tmp -perm +622 -ls表示的是:

在aaa bbb ccc分别表示user group other的权限,而+622的含义是:

属主有读权限

属主有写权限

属组有写权限

other有写权限

上述四个条件中只要满足其中一个,文件就会匹配成功进而打印显示出来

root@RealServer01:/tmp/testdir# find /tmp/testdir/ -perm +222 -ls1056796    4 drwxr-xr-x   2 root     root         4096 Nov  3 15:37 /tmp/testdir/1056799    0 -rw-r--r--   1 root     root            0 Nov  3 15:14 /tmp/testdir/bb.txt1056801    0 -rw-r--r--   1 root     root            0 Nov  3 15:15 /tmp/testdir/dd.txt1056798    0 -rw-r--r--   1 root     root            0 Nov  3 15:13 /tmp/testdir/aa.txt1056800    0 -rw-r--r--   1 root     root            0 Nov  3 15:14 /tmp/testdir/cc.txt

root@RealServer01:/tmp/testdir# find /tmp/testdir/ -perm 644 -ls #权限是rw_r_ _r_ _才会被匹配成功1056799    0 -rw-r--r--   1 root     root            0 Nov  3 15:14 /tmp/testdir/bb.txt1056801    0 -rw-r--r--   1 root     root            0 Nov  3 15:15 /tmp/testdir/dd.txt1056798    0 -rw-r--r--   1 root     root            0 Nov  3 15:13 /tmp/testdir/aa.txt1056800    0 -rw-r--r--   1 root     root            0 Nov  3 15:14 /tmp/testdir/cc.txt


-MODE表示每一类对象都必须同时拥有为其指定的权限标准,例如-perm -666,一个文件权限为766,该文件是可以匹配成功的,因为7是包含6的,6也包含6;文件权限是466就不能匹配成功,因为4不包含6。

root@RealServer01:/tmp/testdir# lltotal 8drwxr-xr-x 2 root root 4096 Nov  3 15:37 ./drwxrwxrwt 6 root root 4096 Nov  3 15:39 ../-rw-r--r-- 1 root root    0 Nov  3 15:13 aa.txt-rw-r--r-- 1 root root    0 Nov  3 15:14 bb.txt-r--r--r-- 1 root root    0 Nov  3 15:14 cc.txt-rw-r--r-- 1 root root    0 Nov  3 15:15 dd.txtroot@RealServer01:/tmp/testdir# find -perm -600 -ls1056796    4 drwxr-xr-x   2 root     root         4096 Nov  3 15:37 .1056799    0 -rw-r--r--   1 root     root            0 Nov  3 15:14 ./bb.txt1056801    0 -rw-r--r--   1 root     root            0 Nov  3 15:15 ./dd.txt1056798    0 -rw-r--r--   1 root     root            0 Nov  3 15:13 ./aa.txtroot@RealServer01:/tmp/testdir# 


处理动作

-print:默认的动作,输出至屏幕

-ls:类似于对查找到的文件执行“ls -l”命令

-delete:删除查找到的文件

-fls /path/to/somefile:查找到的所有文件的长格式信息保存到指定文件中

-ok COMMAND {} \; 对查找到的每个文件执行COMMAND中指定的命令;对每个文件执行命令之前,都会交互让用户确认;

-exec COMMAND {} \; 对查找到的每个文件之行COMMAND指定的命令;

不管是-ok还是-exec都要注意,咋COMMAND后面加上空格,然后再接上{} \;     #记住反斜杠与}之间有一个空格;

{}用于引用查找到的文件名称自身;


想要将查找到的文件进行某些处理动作,使用-ok 或者 -exec方式都存在一个问题:当查找到的文件过多,将每一个文件都作为一个个参数传递给COMMAND容易因为参数数量过多引起一些未知的问题,所以想要对查找到的文件之行某些命令,可以使用如下方式:

find | xargs COMMAND




find实战

查找/var目录下没有属主或者属组的文件

root@RealServer01:/home# find /var -nouser -o -nogroup -ls393348    4 drwx------   2 root     1000         4096 Nov  2 17:46 /var/lib/sudo/mangguo393349    4 -rw-------   1 root     1000           40 Jan  1  1985 /var/lib/sudo/mangguo/tty1394228    4 -rw-------   1 root     1000           40 Nov  2 17:46 /var/lib/sudo/mangguo/1
查找/var目录下文件名称是access开头,并且属主不是root的文件

root@RealServer01:/home# find /var \( -name access* \) -a \( -not -user root \)     /var/log/nginx/access.log.20.gz/var/log/nginx/access.log.35.gz/var/log/nginx/access.log.33.gz/var/log/nginx/access.log.25.gz/var/log/nginx/access.log.10.gz/var/log/nginx/access.log.34.gz/var/log/nginx/access.log.16.gz/var/log/nginx/access.log.5.gz/var/log/nginx/access.log.27.gz/var/log/nginx/access.log.1/var/log/nginx/access.log.6.gz/var/log/nginx/access.log.17.gz/var/log/nginx/access.log.38.gz/var/log/nginx/access.log.13.gz/var/log/nginx/access.log.22.gz/var/log/nginx/access.log.4.gz/var/log/nginx/access.log.24.gz/var/log/nginx/access.log.29.gz/var/log/nginx/access.log

查找/home目录下属主不是root并且文件名不是fstab的文件

root@RealServer01:/home# find /home \( -not -user root -a -not -name fstab \) -ls|more     5481    4 drwxr-xr-x   3 1000     1000         4096 Mar 19  2016 /home/mangguo  5485    4 drwx------   2 1000     1000         4096 Mar 17  2016 /home/mangguo/.cache  5486    0 -rw-r--r--   1 1000     1000            0 Mar 17  2016 /home/mangguo/.cache/motd.legal-displayed  5482    4 -rw-r--r--   1 1000     1000          220 Mar 17  2016 /home/mangguo/.bash_logout  5487    4 -rw-------   1 1000     1000          230 Nov  2 17:47 /home/mangguo/.bash_history  5483    4 -rw-r--r--   1 1000     1000          675 Mar 17  2016 /home/mangguo/.profile  5484    4 -rw-r--r--   1 1000     1000         3486 Mar 17  2016 /home/mangguo/.bashrc  6565    4 drwxr-xr-x   2 testuser testuser     4096 Nov  2 17:45 /home/testuser

查找/var目录下三天前做过修改(也就是至少三天没有动过)的文件

root@RealServer01:/tmp# find /tmp -ctime 3 -ls1056494    0 -rw-r--r--   1 root     root            0 Oct 30 16:37 /tmp/filelogroot@RealServer01:/tmp# stat  /tmp/filelog  File: `/tmp/filelog'  Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fc00h/64512d    Inode: 1056494     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-10-30 16:37:41.023955706 +0800Modify: 2017-10-30 16:37:41.019955866 +0800Change: 2017-10-30 16:37:41.019955866 +0800 Birth: -
root@RealServer01:/tmp# date Fri Nov  3 10:56:27 CST 2017
查找/var目录十二天前Modify的文件

root@RealServer01:/var# find /var/ -mtime 12 -ls395807    8 -rw-r-----   1 syslog   adm          5017 Oct 22 06:39 /var/log/auth.log.2.gz393298  260 -rw-r-----   1 www-data adm        262415 Oct 22 06:39 /var/log/nginx/access.log.10.gz396495  260 -rw-r-----   1 www-data adm        262415 Oct 22 06:39 /var/log/nginx/test/access.log.10.gzroot@RealServer01:/var# stat /var/log/auth.log.2.gz  File: `/var/log/auth.log.2.gz'  Size: 5017            Blocks: 16         IO Block: 4096   regular fileDevice: fc00h/64512d    Inode: 395807      Links: 1Access: (0640/-rw-r-----)  Uid: (  101/  syslog)   Gid: (    4/     adm)Access: 2017-10-15 06:31:51.000000000 +0800Modify: 2017-10-22 06:39:01.000000000 +0800Change: 2017-10-29 06:32:18.028288002 +0800 Birth: -root@RealServer01:/var# 

root@RealServer01:/var# dateFri Nov  3 14:48:39 CST 2017

查找/var目录下一天前Modify的文件

root@RealServer01:/var# find /var -mtime 1 -ls  393377    4 -rw-r--r--   1 root     root          769 Nov  2 06:36 /var/cache/apt-xapian-index/index.1/postlist.baseB396507    4 -rw-r--r--   1 root     root           87 Nov  2 06:36 /var/cache/apt-xapian-index/index.1/spelling.baseB396503    4 -rw-r--r--   1 root     root           76 Nov  2 06:36 /var/cache/apt-xapian-index/index.1/record.baseB393372    4 -rw-r--r--   1 root     root          778 Nov  2 06:36 /var/cache/apt-xapian-index/index.1/termlist.baseB393360    4 -rw-r--r--   1 root     root           14 Nov  2 06:36 /var/cache/apt-xapian-index/index.1/synonym.baseB396466    4 -rw-r-----   1 mysql    adm            20 Nov  2 06:36 /var/log/mysql.log.1.gz394269    4 -rw-r-----   1 syslog   adm           942 Nov  2 06:36 /var/log/syslog.2.gz395518    4 -rw-r-----   1 mysql    adm            20 Nov  2 06:36 /var/log/mysql/error.log.1.gzroot@RealServer01:/var# stat /var/log/mysql/error.log.1.gz  File: `/var/log/mysql/error.log.1.gz'  Size: 20              Blocks: 8          IO Block: 4096   regular fileDevice: fc00h/64512d    Inode: 395518      Links: 1Access: (0640/-rw-r-----)  Uid: (  107/   mysql)   Gid: (    4/     adm)Access: 2017-11-02 06:36:29.000000000 +0800Modify: 2017-11-02 06:36:29.000000000 +0800Change: 2017-11-03 06:29:07.681191651 +0800 Birth: -root@RealServer01:/var# dateFri Nov  3 14:49:57 CST 2017root@RealServer01:/var# 


查找/var目录下三天内做过修改的文件

root@RealServer01:/tmp# find /tmp/ -ctime -3 -ls1048580    4 drwxrwxrwt   5 root     root         4096 Nov  3 10:39 /tmp/1056795    4 -rw-r--r--   1 1000     1000           24 Nov  2 17:46 /tmp/issueroot@RealServer01:/tmp# stat /tmp/  File: `/tmp/'  Size: 4096            Blocks: 8          IO Block: 4096   directoryDevice: fc00h/64512d    Inode: 1048580     Links: 5Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2017-11-03 10:47:07.385654536 +0800Modify: 2017-11-03 10:39:01.961629062 +0800Change: 2017-11-03 10:39:01.961629062 +0800 Birth: -root@RealServer01:/tmp# stat /tmp/issue  File: `/tmp/issue'  Size: 24              Blocks: 8          IO Block: 4096   regular fileDevice: fc00h/64512d    Inode: 1056795     Links: 1Access: (0644/-rw-r--r--)  Uid: ( 1000/ UNKNOWN)   Gid: ( 1000/ UNKNOWN)Access: 2017-11-02 17:46:48.775823905 +0800Modify: 2017-11-02 17:46:48.799824063 +0800Change: 2017-11-02 17:46:48.799824063 +0800 Birth: -root@RealServer01:/tmp# 



原创粉丝点击