Skip to content Skip to main navigation Skip to footer

linux 如何查找一个目录文件

在linux下如何查找一个名字为“main.img”的目录呢?某些人会想到locate命令,这个命令是linux下最简单的也是最快速的目录或文件查找方式。 但是locate命令有时候会查找不到我们想要的文件或目录的位置。那么我们还有其他的方法来查找吗?当然有,我们可以使用find 命令。
locate和find命令的区别:
locate命令会从有updatedb预先生成的数据库中去查找, 而find命令这是通过递归方式去查询文件系统里的文件。
命令用法:

find 查找目录 选项 模式
find /dirpath -name "目录名"
find /dirpath -name "匹配字符"
find /dirpath -name "目录名” -print
find / -name "目录名"
 

示例
显示当前目录的所有文件和子目录

find
find .
find . -print
 

在根目录下查找mysql目录

find / -name "mysql"
 

命令输出:

/var/lock/subsys/mysql
/var/spool/mail/mysql
/usr/lib64/mysql
/usr/share/mysql
 

显示详细的文件或目录列表
使用-ls来列出查找到的文件或目录的详细信息

find / -name "mysql" -ls
 

命令输出:

950402    0 -rw-r--r--   1 root     root            0 Jul 31 18:14 /var/lock/subsys/mysql
950379    0 -rw-rw----   1 mysql    mail            0 Jul 31 18:14 /var/spool/mail/mysql
721554    4 drwxr-xr-x   2 root     root         4096 Dec 17  2012 /usr/lib64/mysql
721562    4 drwxr-xr-x  26 root     root         4096 Dec 17  2012 /usr/share/mysql
 

如何只列出目录文件:

find / -type d -name "mysql" -ls
 

命令输出:

721554    4 drwxr-xr-x   2 root     root         4096 Dec 17  2012 /usr/lib64/mysql
721562    4 drwxr-xr-x  26 root     root         4096 Dec 17  2012 /usr/share/mysql
 

如何不区分大小写去查找:
替换-name选项为-iname

find / -type d -iname "mysql" -ls
 

或者

find / -type d -iname "mysql"
 

模式”mysql”将会匹配”mysql”,”MYSQL”,”Mysql”,”mySQL”等
最后回到我们之前的问题,如何找到名为”main.img”的目录呢?
通过下面的其中一个命令:

find / -type d -iname "main.img" -ls
或
find / -type d -name "main.img" -ls
或
find / -type d -name "main.img"
 
0 Comments

There are no comments yet

Leave a comment

Your email address will not be published.