如何在基于Linux的系统上查找目录

时间:2020-01-09 10:40:13  来源:igfitidea点击:

在Debian Linux中,如何找到一个名为project.images的目录。
还告诉我,locate命令是在Linux上查找文件和目录位置的最简单,最快的方法。
但是locate命令对我来说不起作用。
如何仅使用命令行选项查找project.images目录?

您需要使用find命令。
它用于在Linux或类Unix系统上查找文件。

locate命令将搜索由updatedb生成的文件的预建数据库。

find命令将在活动文件系统中搜索符合搜索条件的文件。

如何在Linux上查找目录

find命令的语法为:

find /where/to/look/up criteria action

或者

find /dir/path/look/up criteria action

或者

find /dir/path/look/up -name "dir-name-here"

或者

find /dir/path/look/up -name "pattern"

或者

find /dir/path/look/up -name "dir-name-here" -print

或者

find /dir/path/look/up -name "dir-name-here"

或者

find / -name "dir-name-here"

或者

find / -type d -name "dir-name-here"

或者

find / -type d -name "dir-name-here" 2>/dev/null

Linux查找目录命令

以下示例将显示当前目录和所有子目录中的所有文件:

find 
find .
find . -print

查找目录

要在/(根)文件系统中找到一个名为apt的目录,请执行:

Alert:当搜索/(root)文件系统时,您需要以root用户身份运行find命令。

find / -type d -name "apt" 
sudo find / -type d -name "apt"

输出示例:

/var/log/apt
/var/lib/apt
/var/cache/apt
/etc/apt
/etc/logrotate.d/apt
/etc/cron.daily/apt

在Linux上处理权限被拒绝的错误消息

查找将为您没有读取权限的每个目录/文件显示一条错误消息

为了避免这些消息,在每个命令的末尾追加2>/dev/null

find /where/to/look/ criteria action 2>/dev/null
sudo find / -type d -name "apt" 2>/dev/null

如何在Linux上找到名为Documents的目录?

执行以下命令以在$HOME目录中搜索Documents目录:

$ find $HOME -type d -name Documents

输出示例:

/home/Hyman/Documents

获取文件/目录的详细列表

传递-ls以ls命令输出格式列出当前文件:

find  / -name "apt" -ls

输出示例:

4719035    4 drwxr-xr-x   2 root     root         4096 Aug 22 06:25 /var/log/apt
4718597    4 drwxr-xr-x   5 root     root         4096 Aug  4 13:46 /var/lib/apt
4718601    4 drwxr-xr-x   3 root     root         4096 Aug  8 09:37 /var/cache/apt
917524    4 drwxr-xr-x   6 root     root         4096 Jun 18 02:28 /etc/apt
917721    4 -rw-r--r--   1 root     root          173 Apr 15  2011 /etc/logrotate.d/apt
918762   16 -rwxr-xr-x   1 root     root        14985 Mar 14 12:48 /etc/cron.daily/apt

如何只列出目录?

只需找到目录并跳过文件名即可通过-type d选项,如下所示:

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

输出示例:

4719035    4 drwxr-xr-x   2 root     root         4096 Aug 22 06:25 /var/log/apt
4718597    4 drwxr-xr-x   5 root     root         4096 Aug  4 13:46 /var/lib/apt
4718601    4 drwxr-xr-x   3 root     root         4096 Aug  8 09:37 /var/cache/apt
917524    4 drwxr-xr-x   6 root     root         4096 Jun 18 02:28 /etc/apt

如何执行不区分大小写的搜索?

如下将-name选项替换为-iname:

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

或者

find  / -type d -iname "apt"

apt模式与目录名称apt,APT,Apt,apT等匹配。

如何找到名为project.images的目录?

执行以下任一命令:

find  / -type d -iname "project.images" -ls

或者

find  / -type d -name "project.images" -ls

或者

find  / -type d -name "project.images"

也可以如下使用通配符:

find  / -type d -name "project.*"
find  /dir/to/search/ -type d -name "project.image??"

关于locate命令的说明

要搜索确切命名为project.images的文件/目录(不是* project.images *),请执行:

locate -b '\project.images'