linux 如何查找一个目录文件

Linux admin 510℃ 0评论

在linux下如何查找一个名字为“main.img”的目录呢?某些人会想到locate命令,这个命令是linux下最简单的也是最快速的目录或文件查找方式。 但是locate命令有时候会查找不到我们想要的文件或目录的位置。那么我们还有其他的方法来查找吗?当然有,我们可以使用find 命令。

locate和find命令的区别:
locate命令会从有updatedb预先生成的数据库中去查找, 而find命令这是通过递归方式去查询文件系统里的文件。

命令用法:

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

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

1
2
3
find
find .
find . -print

在根目录下查找mysql目录

1
find / -name "mysql"

命令输出:

1
2
3
4
/var/lock/subsys/mysql
/var/spool/mail/mysql
/usr/lib64/mysql
/usr/share/mysql

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

1
find / -name "mysql" -ls

命令输出:

1
2
3
4
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

如何只列出目录文件:

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

命令输出:

1
2
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

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

或者

1
find / -type d -iname "mysql"

模式”mysql”将会匹配”mysql”,”MYSQL”,”Mysql”,”mySQL”等

最后回到我们之前的问题,如何找到名为”main.img”的目录呢?
通过下面的其中一个命令:

1
2
3
4
5
find / -type d -iname "main.img" -ls

find / -type d -name "main.img" -ls

find / -type d -name "main.img"

转载请注明:osetc.com » linux 如何查找一个目录文件

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址