unix和linux中find命令的基础知识(附实例)

93 阅读3分钟

linux和unix中的最佳查找命令实例:-

find命令是linux和unix操作系统中经常使用的命令之一。find命令被unix/linux用户用来搜索目录和子目录中的特定文件。

我使用这个命令作为我的java编程开发的一部分,在linux操作系统中搜索日志和java文件。

在windows环境下,用户可以直接使用windows explore来搜索任何文件。但在Linux/Unix中,我们必须使用基于命令的选项来搜索文件。

大多数从事开发项目的人都需要了解查找命令的基本知识,因为他们需要搜索源代码文件以及发生错误的应用程序日志。

查找命令可以与grep和其他与文件有关的命令结合起来,在linux/unix中实现强大的搜索。

因此,我列出了一些我在软件项目开发中每天使用的查找命令。

unix和linux中的查找命令选项:--通常查找命令的语法是这样的:

find {directorytosearch} {options}

以下是find命令的选项:1.要在文件列表中搜索的文件名。2.指定要搜索文件名的目录或文件列表。3.文件或目录的类型

1.如何列出目录和子目录下的所有文件?

find . or find . -print
./directory2
./directory2/HelloWorld.java
./dir
./dir/file.txt
./kiran
./kiran/HelloWorld.java

代表当前目录和子目录中的所有文件。该命令在控制台显示目录和子目录中的所有文件。

2.如何在当前目录下用名称查找文件?

find . -name "HelloWorld.java"
./directory2/HelloWorld.java
./kiran/HelloWorld.java

在上述命令中,使用选项-name指定的文件名 "HelloWorld.java "在选项.指定的当前目录中被搜索到,并将文件名打印到控制台。

3.如何执行最后执行的查找命令

!find
find . -name HelloWorld.java
./directory2/HelloWorld.java
./kiran/HelloWorld.java

最后执行的命令通常保存在会话级别的缓存中,所以键入相同的命令是很耗时的工作。这个命令可以和任何Linux命令一起使用来执行最后指定的命令。

4.寻找所有为特定用户所拥有的文件?

$find /directory -user kiran
./directory2
./directory2/HelloWorld.java
./dir
./dir/file.txt
./kiran
./kiran/HelloWorld.java

通常,如果我们搜索不属于特定用户的文件,它会给用户输出 "文件名和权限被拒绝 "的信息。

5.如何使用忽略大小写的名称来搜索文件?

$ find . -iname helloworld.java
./directory2/HelloWorld.java
./kiran/HelloWorld.java

这里文件名的大小写被忽略,并显示所有忽略大小写的文件。

6.寻找最近一天内修改过的文件:

$ find . -mtime 0
./directory2
./directory2/HelloWorld.java
./kiran
./kiran/HelloWorld.java

这对于在过去24小时内修改的应用程序日志变化非常有用。这是我最喜欢的bash查找命令之一,可以知道最近一天内修改的文件。

7.如何在unix中找到过去10分钟内修改的文件?

这是用来搜索在过去10分钟内修改/创建的文件。这是我最喜欢的find命令之一,还有一些例子可以找到linux中10到20分钟内修改的文件。

find . -mmin +9 -mmin -21

8.如何只列出文件系统中的子目录和目录?

find . -type d
./directory2
./kiran
./kiran/subdir

9.如何查找当前目录下一级的子目录中的文件名?

find -maxdepth 2 -name "HelloWorld.java"
./directory2/HelloWorld.java
./kiran/HelloWorld.java

-maxdepth 2表示子目录,即第2级,如果我们想找到当前目录中的文件,我们必须在find命令中使用-maxdepth 1。

10.根据文件类型查找所有文件?

通常情况下,使用find命令,我们只搜索文件。使用find命令,通过提供-type选项,我们可以搜索目录和linux中的符号链接 1.在linux中查找普通文件

find . -type f
./directory2/HelloWorld.java
./kiran/HelloWorld.java

1.在linux中查找目录

find . -type d
./directory2
./dir
./kiran
./kiran/subdir

我希望你能通过例子了解find命令的基础知识。