Linux基础-0001-文件查找:locate与find
2017-11-02 16:26
260 查看
一、文件查找
即为在文件系统上查找符合条件的文件文件查找方式,分为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/bash set -e [ -x /usr/bin/updatedb.mlocate ] || exit 0 if 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 fi fi ## LOCKFILE="/var/lib/mlocate/daily.lock" trap "rm -f $LOCKFILE" EXIT if [ -e "$LOCKFILE" ]; then echo >&2 "Warning: $LOCKFILE present, not running updatedb." exit 1 else 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
4000
中,数据库位置是在/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 ./shellfuncs 923121 4 -rwxr-xr-x 1 root root 745 Apr 4 2012 ./harc 923153 0 -rw-r--r-- 1 root mangguo 0 Nov 2 17:34 ./test.txt 923115 4 drwxr-xr-x 2 root root 4096 Nov 2 16:01 ./rc.d 923119 4 -rwxr-xr-x 1 root root 1383 Apr 4 2012 ./rc.d/ask_resources 923118 4 -rwxr-xr-x 1 root root 1088 Apr 4 2012 ./rc.d/ip-request-resp 923120 4 -rwxr-xr-x 1 root root 133 Apr 4 2012 ./rc.d/status 923117 4 -rwxr-xr-x 1 root root 1313 Apr 4 2012 ./rc.d/ip-request 923116 4 -rwxr-xr-x 1 root root 373 Apr 4 2012 ./rc.d/hb_takeover 923122 4 drwxr-xr-x 2 root root 4096 Nov 2 16:01 ./resource.d 923129 4 -rwxr-xr-x 1 root root 3424 Apr 4 2012 ./resource.d/ids 923132 4 -rwxr-xr-x 1 root root 1294 Apr 4 2012 ./resource.d/WAS 923143 4 -rwxr-xr-x 1 root root 951 Apr 4 2012 ./resource.d/ICP 923134 4 -rwxr-xr-x 1 root root 1166 Apr 4 2012 ./resource.d/WinPopup 923144 4 -rwxr-xr-x 1 root root 1091 Apr 4 2012 ./resource.d/LinuxSCSI 923137 4 -rwxr-xr-x 1 root root 666 Apr 4 2012 ./resource.d/Xinetd 923124 4 -rwxr-xr-x 1 root root 1165 Apr 4 2012 ./resource.d/IPv6addr 923127 4 -rwxr-xr-x 1 root root 1903 Apr 4 2012 ./resource.d/Filesystem 923128 4 -rwxr-xr-x 1 root root 1012 Apr 4 2012 ./resource.d/ServeRAID 923123 4 -rwxr-xr-x 1 root root 1825 Apr 4 2012 ./resource.d/IPaddr2 923125 4 -rwxr-xr-x 1 root root 828 Apr 4 2012 ./resource.d/apache 923130 4 -rwxr-xr-x 1 root root 805 Apr 4 2012 ./resource.d/AudibleAlarm 923133 4 -rwxr-xr-x 1 root root 790 Apr 4 2012 ./resource.d/LVM 923149 4 -rwxr-xr-x 1 root root 1391 Apr 4 2012 ./resource.d/IPsrcaddr 923131 4 -rwxr-xr-x 1 root root 1563 Apr 4 2012 ./resource.d/SendArp 923146 4 -rwxr-xr-x 1 root root 760 Apr 4 2012 ./resource.d/db2 923141 4 -rwxr-xr-x 1 root root 1125 Apr 4 2012 ./resource.d/MailTo 923151 4 -rwxr-xr-x 1 root root 2325 Apr 4 2012 ./resource.d/hto-mapfuncs 923139 4 -rwxr-xr-x 1 root root 742 Apr 4 2012 ./resource.d/portblock 923136 4 -rwxr-xr-x 1 root root 2926 Apr 4 2012 ./resource.d/OCF 923147 4 -rwxr-xr-x 1 root root 910 Apr 4 2012 ./resource.d/Delay 923135 4 -rwxr-xr-x 1 root root 2273 Apr 4 2012 ./resource.d/IPaddr 923126 4 -rwxr-xr-x 1 root root 1160 Apr 4 2012 ./resource.d/Raid1 923152 4 -rw-r--r-- 1 root root 692 Apr 4 2012 ./README.config
root@RealServer01:/etc/heartbeat# find . -group mangguo -ls 923153 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$ ll total 24 drwxrwxrwt 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 filelog drwxrwxrwt 2 root root 4096 Sep 7 11:40 .ICE-unix/ -rw-r--r-- 1 mangguo mangguo 24 Nov 2 17:46 issue drwx------ 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 issue mangguo@RealServer01:/tmp$ exit exit root@RealServer01:/home# userdel mangguo root@RealServer01:/home# ll /tmp total 24 drwxrwxrwt 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 filelog drwxrwxrwt 2 root root 4096 Sep 7 11:40 .ICE-unix/
-rw-r--r-- 1 1000 1000 24 Nov 2 17:46 issue drwx------ 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 mangguo id: mangguo: No such user root@RealServer01:/home# find /tmp -nouser -ls 1056795 4 -rw-r--r-- 1 1000 1000 24 Nov 2 17:46 /tmp/issue root@RealServer01:/home# find /tmp -nogroup -ls 1056795 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表示的区间是[NU
c759
M,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.txt 1056798 0 -rw-r--r-- 1 root root 0 Nov 3 15:13 /tmp/aa.txt root@RealServer01:/tmp# stat aa.txt File: `aa.txt' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fc00h/64512d Inode: 1056798 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-11-02 15:00:00.000000000 +0800 Modify: 2017-11-03 15:13:50.222133495 +0800 Change: 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 file Device: fc00h/64512d Inode: 1056799 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-11-02 14:59:00.000000000 +0800 Modify: 2017-11-03 15:14:21.006133549 +0800 Change: 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 file Device: fc00h/64512d Inode: 1056800 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-11-02 18:00:00.000000000 +0800 Modify: 2017-11-03 15:14:55.222129035 +0800 Change: 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 file Device: fc00h/64512d Inode: 1056801 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-11-03 18:00:00.000000000 +0800 Modify: 2017-11-03 15:15:14.746135262 +0800 Change: 2017-11-03 15:15:14.746135262 +0800 Birth: - root@RealServer01:/tmp# date Fri 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.txt root@RealServer01:/tmp# touch -a -t 201711011111.00 a.txt
当前时间
root@RealServer01:/tmp# date Fri 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 file Device: fc00h/64512d Inode: 1056797 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-11-01 11:11:00.000000000 +0800 Modify: 2017-11-03 14:58:43.574106114 +0800 Change: 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 file Device: fc00h/64512d Inode: 1056796 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-11-02 11:11:00.000000000 +0800 Modify: 2017-11-03 14:58:37.994105179 +0800 Change: 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.txt root@RealServer01:/tmp# find /tmp/ -atime 2 -ls 1056797 0 -rw-r--r-- 1 root root 0 Nov 3 14:58 /tmp/a.txt root@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 -ls 1056796 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.txt 1056801 0 -rw-r--r-- 1 root root 0 Nov 3 15:15 /tmp/testdir/dd.txt 1056798 0 -rw-r--r-- 1 root root 0 Nov 3 15:13 /tmp/testdir/aa.txt 1056800 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.txt 1056801 0 -rw-r--r-- 1 root root 0 Nov 3 15:15 /tmp/testdir/dd.txt 1056798 0 -rw-r--r-- 1 root root 0 Nov 3 15:13 /tmp/testdir/aa.txt 1056800 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# ll total 8 drwxr-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.txt root@RealServer01:/tmp/testdir# find -perm -600 -ls 1056796 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.txt 1056801 0 -rw-r--r-- 1 root root 0 Nov 3 15:15 ./dd.txt 1056798 0 -rw-r--r-- 1 root root 0 Nov 3 15:13 ./aa.txt root@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 -ls 393348 4 drwx------ 2 root 1000 4096 Nov 2 17:46 /var/lib/sudo/mangguo 393349 4 -rw------- 1 root 1000 40 Jan 1 1985 /var/lib/sudo/mangguo/tty1 394228 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 -ls 1056494 0 -rw-r--r-- 1 root root 0 Oct 30 16:37 /tmp/filelog root@RealServer01:/tmp# stat /tmp/filelog File: `/tmp/filelog' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fc00h/64512d Inode: 1056494 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-10-30 16:37:41.023955706 +0800 Modify: 2017-10-30 16:37:41.019955866 +0800 Change: 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 -ls 395807 8 -rw-r----- 1 syslog adm 5017 Oct 22 06:39 /var/log/auth.log.2.gz 393298 260 -rw-r----- 1 www-data adm 262415 Oct 22 06:39 /var/log/nginx/access.log.10.gz 396495 260 -rw-r----- 1 www-data adm 262415 Oct 22 06:39 /var/log/nginx/test/access.log.10.gz root@RealServer01:/var# stat /var/log/auth.log.2.gz File: `/var/log/auth.log.2.gz' Size: 5017 Blocks: 16 IO Block: 4096 regular file Device: fc00h/64512d Inode: 395807 Links: 1 Access: (0640/-rw-r-----) Uid: ( 101/ syslog) Gid: ( 4/ adm) Access: 2017-10-15 06:31:51.000000000 +0800 Modify: 2017-10-22 06:39:01.000000000 +0800 Change: 2017-10-29 06:32:18.028288002 +0800 Birth: - root@RealServer01:/var#
root@RealServer01:/var# date Fri 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.baseB 396507 4 -rw-r--r-- 1 root root 87 Nov 2 06:36 /var/cache/apt-xapian-index/index.1/spelling.baseB 396503 4 -rw-r--r-- 1 root root 76 Nov 2 06:36 /var/cache/apt-xapian-index/index.1/record.baseB 393372 4 -rw-r--r-- 1 root root 778 Nov 2 06:36 /var/cache/apt-xapian-index/index.1/termlist.baseB 393360 4 -rw-r--r-- 1 root root 14 Nov 2 06:36 /var/cache/apt-xapian-index/index.1/synonym.baseB 396466 4 -rw-r----- 1 mysql adm 20 Nov 2 06:36 /var/log/mysql.log.1.gz 394269 4 -rw-r----- 1 syslog adm 942 Nov 2 06:36 /var/log/syslog.2.gz 395518 4 -rw-r----- 1 mysql adm 20 Nov 2 06:36 /var/log/mysql/error.log.1.gz root@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 file Device: fc00h/64512d Inode: 395518 Links: 1 Access: (0640/-rw-r-----) Uid: ( 107/ mysql) Gid: ( 4/ adm) Access: 2017-11-02 06:36:29.000000000 +0800 Modify: 2017-11-02 06:36:29.000000000 +0800 Change: 2017-11-03 06:29:07.681191651 +0800 Birth: - root@RealServer01:/var# date Fri Nov 3 14:49:57 CST 2017 root@RealServer01:/var#
查找/var目录下三天内做过修改的文件
root@RealServer01:/tmp# find /tmp/ -ctime -3 -ls 1048580 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/issue root@RealServer01:/tmp# stat /tmp/ File: `/tmp/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fc00h/64512d Inode: 1048580 Links: 5 Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-11-03 10:47:07.385654536 +0800 Modify: 2017-11-03 10:39:01.961629062 +0800 Change: 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 file Device: fc00h/64512d Inode: 1056795 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ UNKNOWN) Gid: ( 1000/ UNKNOWN) Access: 2017-11-02 17:46:48.775823905 +0800 Modify: 2017-11-02 17:46:48.799824063 +0800 Change: 2017-11-02 17:46:48.799824063 +0800 Birth: - root@RealServer01:/tmp#
相关文章推荐
- Linux基础之文件查找工具:locate、find
- Linux的五个文件查找命令:find,locate,whereis,which,type
- Linux五个文件查找命令--which、whereis、find、locate和type
- linux中Find、whereis、locate、which查找文件命令总结
- Linux下which、whereis、locate、find 命令查找文件
- linux下查找文件命令:locate 和 find
- Linux命令:文件查找相关 Whereis、find和locate+updatedb
- Linux文件查找命令详解-which whereis find locate
- Linux-->基础知识-->linux 下查找文件的方法 find
- Linux文件查找: find, locate
- Linux基本功——五个查找文件的命令find,locate,whereis,which,type
- Linux基础(十一)--Linux文件查找命令Find详解
- 如何查找Linux文件 存放在哪(地点) locate find whereis which 命令
- Linux下which、whereis、locate、find 命令查找文件
- Linux内、外部命令的使用、文件权限、文件查找(find、locate、grep)
- linux 文件的查找 find which locate
- linux/unix 文件查找指令——whereis/locate/find
- 如何查找Linux文件 存放在哪(地点) locate find whereis which 命令
- Linux下which、whereis、locate、find 命令查找文件
- Linux 基础学习 文件查找命令 find 部分用法