iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux如何通过find命令查找东西
  • 576
分享到

linux如何通过find命令查找东西

2023-06-16 03:06:54 576人浏览 薄情痞子
摘要

小编给大家分享一下linux如何通过find命令查找东西,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!选择起点使用 find,你可以选择一个起点或从你所在的位置开

小编给大家分享一下linux如何通过find命令查找东西,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

选择起点

使用 find,你可以选择一个起点或从你所在的位置开始。要选择的搜索的起点,请在单词 find 后输入它。例如,find /usrfind ./bin 将在 /usr 目录或当前位置下的 bin 目录开始搜索,而 find ~ 将在你的主目录中开始搜索,即使你当前位于当前文件系统中的其他位置。

选择你要找的

最常用的搜索策略之一是按名称搜索文件。这需要使用 -name 选项。

默认情况下,find 会显示找到的文件的完整路径。如果你在命令中添加 -print,你会看到同样的结果。如果你想查看与文件相关的详细信息—-例如:文件的长度、权限等,你需要在你的 find 命令的末尾添加 -ls 参数。

$ find ~/bin -name tryme/home/shs/bin/tryme$ find ~/bin -name tryme -print/home/shs/bin/tryme$ find ~/bin -name tryme -ls   917528   4 -rwx------   1 shs    shs   139 Apr  8  2019 /home/shs/bin/tryme

你也可以使用子字符串来查找文件。例如,如果你将上面示例中的 tryme 替换为 try*,你将会找到所有名称以 try 开头的文件。(LCTT 译注:如果要使用通配符 * ,请将搜索字符串放到单引号或双引号内,以避免通配符被 shell 所解释)

按名称查找文件可能是 find 命令最典型的用法,不过还有很多其他的方式来查找文件,并且有这样做的需要。下面的部分展示了如何使用其他可用的方式。

此外,当按文件大小、组、索引节点等条件来搜索文件时,你需要确认找到的文件与你要查找的文件是否相匹配。使用 -ls 选项来显示细节是非常有用。

通过大小查找文件

按大小查找文件需要使用 -size 选项并且对相应规范使用一点技巧。例如,如果你指定 -size 189b,你将找到 189 个块大小的文件,而不是 189 个字节。(LCTT 译注:如果不跟上单位,默认单位是 b。一个块是 512 个字节大小,不足或正好 512 个字节将占据一个块。)对于字节,你需要使用 --size 189c(字符)。而且,如果你指定 --size 200w ,你将会找到 200 个“Word”的文件——以“双字节增量”为单位的字,而不是“我们互相谈论的那些事情”中的单词。你还可以通过以千字节(k)、兆字节(M)和千兆字节(G)为单位提供大小来查找文件。(LCTT 译注:乃至还有 TP

大多数情况下,Linux 用户会搜索比选定大小要大的文件。例如,要查找大于 1 千兆字节的文件,你可以使用这样的命令,其中 +1G 表示“大于 1 千兆字节”:

$ find -size +1G -ls 2>/dev/null  787715 1053976 -rw-rw-r-- 1 shs  shs  1079263432 Dec 21  2018 ./backup.zip  801834 1052556 -rw-rw-r-- 1 shs  shs  1077809525 Dec 21  2018 ./2019/hold.zip

通过索引节点号查找文件

你可以通过用于维护文件元数据(即除文件内容和文件名之外的所有内容)的索引节点来查找文件。

$ find -inum 919674 -ls 2>/dev/null  919674  4 -rw-rw-r--  1 shs  shs   512 Dec 27 15:25 ./bin/my.log

查找具有特定文件所有者或组的文件

按所有者或组查找文件也非常简单。这里我们使用 sudo 来解决权限问题。

$ sudo find /home -user nemo -name "*.png" -ls 1705219  4 drwxr-xr-x  2 nemo nemo  4096 Jan 28 08:50 /home/nemo/Pictures/me.png

在下面这个命令中,我们寻找一个被称为 admins 的多用户组拥有的文件。

# find /tmp -group admins -ls   262199      4 -rwxr-x---   1 dory     admins         27 Feb 16 18:57 /tmp/testscript

查找没有所有者或组的文件

你可以使用如下命令所示的 -nouser 选项来查找不属于当前系统上的任何用户的文件。

# find /tmp -nouser -ls262204 4 -rwx------ 1 1016 1016 17 Feb 17 16:42 /tmp/hello

请注意,该列表显示了旧用户的 UID 和 GID,这清楚地表明该用户未在系统上定义。这种命令将查找帐户已从系统中删除的用户创建在主目录之外的文件,或者在用户帐户被删除后而未被删除的主目录中创建的文件。类似地,-nogroup 选项也会找到这样的文件,尤其是当这些用户是相关组的唯一成员时。

按上次更新时间查找文件

在此命令中,我们在特定用户的主目录中查找过去 24 小时内更新过的文件。sudo 用于搜索另一个用户的主目录。

$ sudo find /home/nemo -mtime -1/home/nemo/home/nemo/snap/cheat/home/nemo/tryme

按上次更改权限的时间查找文件

-ctime 选项可以帮助你查找在某个参考时间范围内状态(如权限)发生更改的文件。以下是查找在最后一天内权限发生更改的文件的示例:

$ find . -ctime -1 -ls   787987   4 -rwxr-xr-x   1 shs   shs     189 Feb 11 07:31 ./tryme

请记住,显示的日期和时间只反映了对文件内容进行的最后更新。你需要使用像 stat 这样的命令来查看与文件相关联的三个状态(文件创建、修改和状态更改)。

按上次访问的时间查找文件

在这个命令中,我们使用 -atime 选项查找在过去两天内访问过的本地 pdf 文件。

$ find -name "*.pdf" -atime -2./Wingding_Invites.pdf

根据文件相对于另一个文件的时间来查找文件

你可以使用 -newer 选项来查找比其他文件更新的文件。

$ find . -newer dig1 -ls   786434     68 drwxr-xr-x  67 shs      shs         69632 Feb 16 19:05 .  1064442      4 drwxr-xr-x   5 shs      shs          4096 Feb 16 11:06 ./snap/cheat   791846      4 -rw-rw-r--   1 shs      shs           649 Feb 13 14:26 ./dig

没有相应的 -older 选项,但是你可以用 ! -newer (即更旧)得到类似的结果,它们基本上一样。

按类型查找文件

通过文件类型找到一个文件,你有很多选项——常规文件、目录、块和字符文件等等。以下是文件类型选项列表:

b      块特殊文件(缓冲的)c      字符特殊文件(无缓冲的)d      目录p      命名管道(FIFO)f      常规文件l      符号链接s      套接字

这里有一个寻找符号链接的例子:

$ find . -type l -ls   805717   0 lrwxrwxrwx   1 shs    shs    11 Apr 10  2019 ./volcano -> volcano.pdf   918552   0 lrwxrwxrwx   1 shs    shs     1 Jun 16  2018 ./letter -> pers/letter2mom

限制查找的深度

-mindepth-maxdepth 选项控制在文件系统中搜索的深度(从当前位置或起始点开始)。

$ find -maxdepth 3 -name "*loop"./bin/save/oldloop./bin/long-loop./private/loop

查找空文件

在这个命令中,我们寻找空文件,但不进入目录及其子目录。

$ find . -maxdepth 2 -empty -type f -ls   917517      0 -rw-rw-r--   1 shs   shs      0 Sep 23 11:00 ./complaints/newfile   792050      0 -rw-rw-r--   1 shs   shs      0 Oct  4 19:02 ./junk

按权限查找文件

你可以使用 -perm 选项查找具有特定权限集的文件。在下面的示例中,我们只查找常规文件(-type f),以避免看到符号链接,默认情况下符号链接被赋予了这种权限,即使它们所引用的文件是受限的。

$ find -perm 777 -type f -lsfind: ‘./.dbus’: Permission denied   798748      4 -rwxrwxrwx   1 shs      shs            15 Mar 28  2019 ./runme

使用查找来帮助你删除文件

如果使用如下命令,你可以使用 find 命令定位并删除文件:

$ find . -name runme -exec rm {} \;

{} 代表根据搜索条件找到的每个文件的名称。

一个非常有用的选项是将 -exec 替换为 -ok。当你这样做时,find 会在删除任何文件之前要求确认。

$ find . -name runme -ok rm -rf {} \;< rm ... ./bin/runme > ?

删除文件并不是 -ok-exec 能为你做的唯一事情。例如,你可以复制、重命名或移动文件。

以上是“linux如何通过find命令查找东西”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: linux如何通过find命令查找东西

本文链接: https://www.lsjlt.com/news/282182.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux如何通过find命令查找东西
    小编给大家分享一下linux如何通过find命令查找东西,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!选择起点使用 find,你可以选择一个起点或从你所在的位置开...
    99+
    2023-06-16
  • linux中如何使用find查找命令
    linux中如何使用find查找命令,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.命令格式:find pathname -options [-print -exec -...
    99+
    2023-06-10
  • Linux的查找命令locate与find怎么用
    这篇文章主要介绍“Linux的查找命令locate与find怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux的查找命令locate与find怎么用”文章能帮助大家解决问题。locate...
    99+
    2023-06-27
  • Shell查找命令find和grep如何使用
    本文小编为大家详细介绍“Shell查找命令find和grep如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Shell查找命令find和grep如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第一节...
    99+
    2023-07-05
  • 如何使用find命令查找Linux中的隐藏文件
    这篇文章主要介绍“如何使用find命令查找Linux中的隐藏文件”,在日常操作中,相信很多人在如何使用find命令查找Linux中的隐藏文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用find命令查...
    99+
    2023-06-12
  • 怎么用Linux的find命令查找文件名
    要使用Linux的find命令来查找文件名,你可以按照以下步骤操作: 打开终端窗口,输入以下命令来使用find命令: find ...
    99+
    2023-10-25
    linux
  • 利用Linux Find命令快速查找文件方法
    目录一、find 命令基本使用方法二、find 命令进阶用法在茫茫的linux系统种我们如何快速的查找文件呢?对于系统文件基本上是有固定的位置的,但是有些软件安装文件是有自定义位置的,不熟悉的运维人员交接后我们需要重新适...
    99+
    2022-12-08
    LinuxFind命令查找文件位置 LinuxFind命令查找文件 LinuxFind命令用法 Find命令使用
  • 如何在CentOS中使用find命令查找文件
    要在CentOS中使用find命令查找文件,可以按照以下步骤操作: 打开终端窗口,输入以下命令来查找文件: find /path...
    99+
    2024-04-02
  • linux find命令如何实现模糊查询
    Linux的find命令可以使用通配符来实现模糊查询。通配符是一种特殊字符,可以匹配文件名中的任意字符。例如,要在当前目录及其子目录...
    99+
    2023-08-25
    linux
  • Linux如何通过sar命令查看网卡流量
    这篇文章主要介绍了Linux如何通过sar命令查看网卡流量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。sar(System Activity Reporter系统活动情况报...
    99+
    2023-06-09
  • 如何通过find命令寻找文件并拷贝到一个指定目录
    小编给大家分享一下如何通过find命令寻找文件并拷贝到一个指定目录,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!将通过find命令找到的文件拷贝到一个新的目录中 有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到...
    99+
    2023-06-13
  • navicat怎么通过命令查找表信息
    通过 navicat 命令行查找表信息:使用 show tables 命令,可选指定数据库名称。输出包含 tables_in_database_name 列,其中列出表名。示例:show...
    99+
    2024-04-24
    navicat
  • Linux find命令快速查找中病毒文件教程
    这篇文章主要介绍“Linux find命令快速查找中病毒文件教程”,在日常操作中,相信很多人在Linux find命令快速查找中病毒文件教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux find命...
    99+
    2023-06-13
  • Linux中find命令如何使用
    这期内容当中小编将会给大家带来有关Linux中find命令如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。//find [搜索范围] [搜索条件]// 大小写touch...
    99+
    2023-06-05
  • Linux中如何使用find命令
    小编给大家分享一下Linux中如何使用find命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!find的基本语法格式:   &nb...
    99+
    2023-06-13
  • 如何使用Linux find命令中-path -prune命令
    这篇文章主要介绍“如何使用Linux find命令中-path -prune命令”,在日常操作中,相信很多人在如何使用Linux find命令中-path -prune命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-13
  • linux find命令将查找到的文件批量删除方法
    目录linux find命令将查找到的文件批量删除Linux中find三种删除方式,常用于crontab定时任务和shell脚本0、按文件类型查找1、按文件名查找2、按文件时间属性查找3、按指定目录深度查找4、排除指定子...
    99+
    2022-12-08
    linuxfind删除文件 linuxfind命令用法 linuxfind命令
  • Java如何通过jstack命令查询日志
    目录1 首先要清楚线程的状态1.1 线程状态变迁图:1.2 各状态说明:1.3 对于jstack日志,我们要着重关注如下关键信息1.4 Waiting on monitor entr...
    99+
    2023-03-21
    java jstack命令查询日志 java查询日志 jstack日志
  • Linux如何通过autojump命令减少cd命令的使用
    小编给大家分享一下Linux如何通过autojump命令减少cd命令的使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux如何通过autojump命令减少...
    99+
    2023-06-09
  • linux系统中如何使用find命令
    linux系统中如何使用find命令,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在当前目录和子目录下查找文件MyCProgram.c # find . -na...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作