查找:数据库
locate 关键字spa
注意: 此命令须要预先创建数据库,数据库默认一天更新一次。因此若是刚刚创建的新文件,通常是不会被locate到的。.net
若是须要用locate查找刚刚创建的新文件,须要更新数据库——更新数据库须要用命令updatedb索引
另外,locate命令搜索的是整个系统下的关键字。
get
find 查找位置 查找参数date
查找位置:目录名称搜索
若是是整个目录文件,则用/遍历
若是是当前目录文件,则用.权限
查找参数:
下载
find . -name *关键字*
find / -name *.后缀名
find / -perm 777 注意:777实际上是16禁止数,二进制为011101110111,表明文件权限。
find / -type d
d 目录
l 连接
find . -name "*a" -exec ls -l {} \;
显示全部以a开头的文件的详细信息。红色部分为固定格式。
[neil@localhost ~]$ find -name "kd"
[neil@localhost ~]$ find -name "kd*"
./下载/kd05.ppt.gz
[neil@localhost ~]$ ^C
[neil@localhost ~]$ find . -name "kd*"
./下载/kd05.ppt.gz
[neil@localhost ~]$
find命令搜索的是名字参数是通配符,而不是关键字,因此之输入“kd”没法获得含有“kd”串的文件。
在不输入查找位置的状况下,应该是查找了整个系统目录,第二次输入的命令在获得了一条记录以后一直在运行为中止。
在Ctrl+C结束以后,加入当前位置符号“.”,迅速获得结果并完成结束。
[neil@localhost ~]$ find . -name "kd*" -exec ls -l {} \;
-rw-rw-r--. 1 neil neil 2537229 10月 19 16:54 ./下载/kd05.ppt.gz
[neil@localhost ~]$ find . -name "kd*" -exec touch {} \;
[neil@localhost ~]$ find . -name "kd*" -exec ls -l {} \;
-rw-rw-r--. 1 neil neil 2537229 1月 18 14:20 ./下载/kd05.ppt.gz
上面分别实验了find与ls -l、touch两条命令分别结合。
后先将kd开头的文件显示详细信息,注意其文件创建更新时间。
以后将kd开头的文件进行更新。
最后再次将kd开头的文件显示详细信息,注意其文件创建更新时间。发现先后时间已经不一样了,说明第二个命令也是有效的。以此类推,咱们之后还能够将find与rm等命令结合使用。
find
-name
-perm
-user 查找某用户的文件
-group
-ctime
-type
-size
——————————————————————————————————————————————
find命令比locate命令速度要慢。缘由就死locate是遍历的数据库,至关于遍历文件索引,因此快速;可是updatedb是须要一些时间的。
find命令就是通常的遍历文件系统,因此稍慢些。