Linux 如何从命令行查找文件

Linux 如何从命令行查找文件

不言而喻,所有好的Linux桌面环境都提供了在文件系统中查找文件夹和文件的能力。如果我们的默认桌面没有–因为它是Linux–我们总是可以得到一个应用程序来搜索我们的目录层次的一个气息。

但是,终端或命令行呢?如果我们碰巧经常在终端窗口工作,或者我们进行无GUI的Linux服务器,当我们需要找到一个文件时,我们该去哪里?幸运的是,Linux有我们需要的东西,可以直接在计算机中找到有关的文件。

这个命令就是 find。 一旦我们知道了它,我们就可以开始在我们的Bash脚本中实现这个命令,以了解它更多的吸引力。让我们开始学习这个命令,即 find ,这样我们就可以控制在Linux桌面和服务中寻找文件,而不需要GUI的要求。

查找命令在Linux中的用法

如果我们是Linux用户,那么我们就不能只依赖GUI来实现一些任务。因此,牢固掌握终端命令是非常重要的。每一个基于Linux的发行版都会执行命令来实现不同的管理任务。

即使Linux终端可以被定义为一个看起来很复杂的文本界面,但它实际上非常容易使用,很灵活,而且是一个相当有用的工具。命令可以很容易地从任何在线来源复制并粘贴到终端上,以实现若干操作。有几百条命令,但我们在本文中将重点讨论命令,即find。find命令用于根据用户指定的条件搜索、过滤或查找我们系统中的文件夹和文件,并对它们实现许多操作。

让我们看看如何使用find命令,它的语法,以及这个命令实现的许多操作。

在Linux中查找命令的句法

查找命令的语法提到如下。

find [path] [options] [expression]

上述语法的三个属性解释如下。

  • [path]: 它指定了开始搜索的目录。
  • [options]: 它指定了过滤标准。例如,通过日期、时间、权限或名称搜索一个文件夹/文件。
  • [expression]: 它指定了对文件实现的行动。

上述每个属性都是可选的,因为它可以根据需要来应用。

根据文件名查找文件

我们可以使用下面的命令根据文件名来查找文件: ****

$ find . -name MyFile1.txt

如何在Linux中从命令行查找文件?

在查找之后,上述命令中的点代表当前目录。如果我们不记得相同的文件名,通过利用 “iname “ 而不是 “name” ,搜索过程可以进一步简化和不区分大小写。

按类型查找文件

我们可以使用 “-type “ 标志和被称为描述符的字母,如 “s “ 代表插座,”I 代表符号链接,”d 代表目录,”f 代表文件,来按类型查找文件。

要找到每个目录,我们可以使用以下命令。

$ find . -type d

如何在Linux中从命令行查找文件?

要找到文件,我们可以使用以下命令。

$ find . -type f

如何在Linux中从命令行查找文件?

通过文件扩展名查找文件

要根据文件的模式,如 文件扩展名 来查找文件,如显示每个使用.txt的文件,我们可以使用以下命令。

$ find . -name *.txt

如何在Linux中从命令行查找文件?

使用.txt,每个文件都将显示其相关的目录。

查找和删除文件

要查找和删除文件,我们可以使用以下命令。

$ find . -iname MyFile1.txt -exec rm {} \;

如何在Linux中从命令行查找文件?

首先,上述命令找到该文件,然后将其删除。

要删除每个以.txt为扩展名的文件,我们可以使用下面的附加命令。

$ find . -name ".txt -delete

按文件大小查找文件

此外,find命令还可以根据文件的大小来寻找文件。我们可以简单地使用选项,即 “-size “ 和描述符,如 “G “ 表示千兆字节,”M 表示兆字节,”k 表示千字节, c 表示字节, b 表示512kb块。

$ find . -type f -size -1024c

如何在Linux中从命令行查找文件?

上述命令可以找到任何小于1024字节大小的文件。这个搜索过程还可以进一步完善。例如,如果我们希望找到每个小于1MB的文件,我们可以使用以下命令。

$ find . -type f -size 1M

如何在Linux中从命令行查找文件?

对于每个大于1的文件

$ find . -type f -size +1M

如何在Linux中从命令行查找文件?

另外,在以下附加命令的帮助下,可以定义一个尺寸范围。

$ find . -type f -size +1M -size 10M

通过权限查找文件

我们可以使用 “-perm “ 和权限代码来按权限查找文件。该命令如下。

$ find . -perm 664

如何在Linux中从命令行查找文件?

在文本文件中寻找文本

我们可以使用以下命令在系统中的两个或多个文本文件中搜索文本。

$ find . -text f -name * .txt -exec grep 'Hello' {} \;

如何在Linux中从命令行查找文件?

上面的命令是在文本文件中寻找 “Hello”。其结果是通过有 “Hello “的文本文件的文本字符串。

通过修改时间和日期查找文件

我们可以使用下面的命令根据最后的修改时间来查找文件。

$ find . -text f -iname * .txt -mmin +10

如何在Linux中从命令行查找文件?

该命令正在寻找一个最后一次被修改的文件,4分钟前,其中”-mmin “中的 “m “代表 “修改”。

$ find . -text f -iname * .txt -amin -10

如何在Linux中从命令行查找文件?

该命令是寻找4分钟前最后访问的文件,其中 “a “代表 “访问”。我们可以用”-mtime +4 “而不是 “mmin +4 “来使用4天前被修改的文件。

如何在Linux中查找文件?

文件系统是任何操作系统中最主要的东西,因为它以不同的格式保存文件夹和文件中的每个数据。在这篇文章中,我们将解释一些搜索文件的命令。

技巧1:定位

让我们从最常见的指令开始,即 Locate ,在我们的系统中根据文件名搜索文件。 locate “ 指令的 “-c “ 标志主要是为了获得系统中某个特定文件的计数数字。让我们从第一个”-c “选项开始,在 “new.sh “文件名的指令中使用它。它将返回5个文件的名称。

这里有一个选项,即 “locate “指令的”-n”,可以根据用户的选择在我们的终端窗口上显示某个特定文件的记录。我们需要在指令中指定数字来显示文件记录。当我们运行带有选项的指令时,即”-n “和1值,显示主目录下 “new.sh “文件搜索输出的一条记录。它将返回一条文件路径的记录。这个路径将被附加到我们的根目录或主目录。

当我们利用这个指令和”-n “选项的更新数字 “3 “来显示 “new.sh “文件的搜索输出时,它将在我们的shell窗口中返回总共3条记录。它还显示,该文件被定位在垃圾箱文件夹中。

在执行 “locate “命令时,我们收到了5条关于 “new.sh “文件的搜索记录,同时还有选项,即值为5的”-n”。在我们的目录中还有一个名称为 “new.sh.swp “的文件。在Ubuntu的文件系统的目录中也有确切的文件名,即 “var”。

在 “定位 “指令中,”-b “选项可以做到我们从我们的目录中搜索到相同的文件名。所以,我们需要用该文件名在一个倒置的逗号中运行。它提供了3条记录,因为确切的文件名已经被定位在仅仅3个位置。

另外,Linux的 “定位 “指令可以用来带来我们当前数据库的信息。我们需要用它的”-S “标志,它将给我们提供数据库路径,我们系统上的全部文件和目录,保存记录的字节,以及文件名内的字节。

技巧2:查找

查找 “指令可以用来查找我们Linux系统中的任何特定文件。同时,它还出现了几个选项,以显示不同的结果。最初的一个选项是”-name”,它可以使用文件的名称在双反逗号中找到一个文件。我们可以使用这个选项和一些目录的路径来寻找一个文件。如果我们不希望使用路径,我们可以用”. “符号保留它。它将显示3条有确切文件名的记录。

另外,我们还可以利用一个明确的路径来检查里面的文件。比如说。

假设我们希望为文件的”.sh “扩展名找到一个符号链接文件;我们需要在命令中使用”-L “标志、”-name “选项和路径。在名称规范中,”*”符号被用来寻找 “所有 “bash文件以及”.sh “扩展名。它将在屏幕上返回4条记录。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程