Linux的find与locate命令使用详解(转)

Linux的find与locate命令使用详解

find 命令
​ 直接在全文件系统上搜寻,功能强大,速度慢。

find   [path]   [-option]   [   -print  -exec   -ok   command ]   {} \;
 path:   #要执行查找的目录。
-option: #查找的具体方法。
-print: #find命令将匹配的文件输出到标准输出。
-exec:  #find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格。
-ok:    #和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
find / -name filename   #在根目录里面搜索文件名为filename的文件
find /etc -name *s*     #在目录里面搜索带有s的文件
find /etc -name *S      #在目录里面搜索以s结尾的文件
find /etc -name s*      #在目录里面搜索以s开头的文件find / -amin -10        #在系统中搜索最后10分钟访问的文件
find / -atime -2        #查找在系统中最后48小时访问的文件
find / -mmin -5         #查找在系统中最后5分钟修改过的文件
find / -mtime -1        #查找在系统中最后24小时修改过的文件
find / -ctime -1        #查找在系统中最后24小时被改变状态的文件find / -user username   #查找在系统中属于用户username的文件
find / -group groupname #groupname 查找在系统中属于groupname的文件
​
​
find / -empty           #查找在系统中为空的文件或者是文件夹
find / -inum 3          #查找inode号为3的文件
find / -type d          #查找为文件类型为文件夹的文件d为文件夹
                                f     #普通文件
                                d     #目录文件
                                l     #链接文件
                                b     #块设备文件
                                c     #字符设备文件
                                p     #管道文件
                                s     #socket文件

查找当前目录中所有c源文件的文件属性:

find ./ -name "*.c" -exec ls -l {} \;

locate 命令
​ 全盘寻找文件,文件名部分匹配,只要有包含该字符串的都罗列出来,这个指令查找速度很快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来更新。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。

where@ubuntu:~$ locate sources.list
/etc/apt/sources.list
/etc/apt/sources.list.d
/etc/apt/sources.list~
/usr/share/doc/apt/examples/sources.list
/usr/share/man/de/man5/sources.list.5.gz
/usr/share/man/es/man5/sources.list.5.gz
/usr/share/man/fr/man5/sources.list.5.gz
/usr/share/man/it/man5/sources.list.5.gz
/usr/share/man/ja/man5/sources.list.5.gz
/usr/share/man/man5/sources.list.5.gz
/usr/share/man/pl/man5/sources.list.5.gz
/usr/share/man/pt/man5/sources.list.5.gz
/var/lib/dpkg/info/python-pkg-resources.list
/var/lib/dpkg/info/python3-pkg-resources.list
马上创建的文件没办法使用locate查找到:

where@ubuntu:~$ touch newfile
where@ubuntu:~$ locate newfile
where@ubuntu:~$ 
如果想马上更新可以使用一下指令:

updatedb

原文链接:https://blog.csdn.net/qq769651718/article/details/79378846

你可能感兴趣的:(linux)