Linux基础-0001-文件查找:locate与find
来源:互联网 发布:北京美工设计培训 编辑:程序博客网 时间:2024/06/17 15:14
一、文件查找
即为在文件系统上查找符合条件的文件
- 文件查找方式
文件查找方式,分为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
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#
- Linux基础-0001-文件查找:locate与find
- Linux之文件查找命令locate与find详解
- Linux文件查找命令之locate与find
- linux 文件的查找 find which locate
- linux常用命令-查找文件(find/locate)
- linux文件查找命令locate和find
- Linux文件查找利器 locate & find
- 文件查找之locate与find
- 文件查找locate、find
- linux 文件查询 (locate与find)
- 查找文件之find locate
- 12、文件查找locate、find
- linux下查找文件命令:locate 和 find
- linux中Find、whereis、locate、which查找文件命令总结
- linux中Find、whereis、locate、which查找文件命令总结
- linux中Find、whereis、locate、which查找文件命令详解
- Linux下which、whereis、locate、find 命令查找文件
- Linux下which、whereis、locate、find 命令查找文件
- 学习总结--JS中__proto__和prototype的关系以及原型链的理解
- Python_if 语句
- Spring定时任务的几种实现
- 傻瓜式学习webpack(一)——建立项目
- ubuntu和centos系统的下文件的压缩解压命令
- Linux基础-0001-文件查找:locate与find
- 多任务学习“Fine-grained Recognition in the Wild: A Multi-Task Domain Adaptation Approach”
- java作业
- Spring的Bean-singleton模式
- nginx 设置开机自启 (加入开机加载服务)
- ubuntu14.04设置SSH免密码登陆
- 英语纠音(一)
- 11.2 T3.tree(树形dp+期望)
- 1.4.7 汉明码