Linux系统常用命令(四)

帅比萌擦擦* 提交于 2020-03-22 17:50:50

3 月,跳不动了?>>>

查找:


locate 关键字

注意: 此命令需要预先建立数据库,数据库默认一天更新一次。所以如果刚刚建立的新文件,一般是不会被locate到的。

如果需要用locate查找刚刚建立的新文件,需要更新数据库——更新数据库需要用命令updatedb

另外,locate命令搜索的是整个系统下的关键字。


find 查找位置 查找参数

查找位置:目录名称

如果是整个目录文件,则用/

如果是当前目录文件,则用.


查找参数:

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命令就是一般的遍历文件系统,所以稍慢些。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!