find -exec命令 linux find的linux命令

2025-04-04 09:27 - 立有生活网

linux find命令详解

搜索etc目录下所有以sh开头的文件。

find命令可将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

find -exec命令 linux find的linux命令find -exec命令 linux find的linux命令


find -exec命令 linux find的linux命令


find 根据下列规则判断 path 和 expression,在命令列上个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。

扩展资料:

linux的其他类似find命令详解:grep

用于查找文件中符合字符串的那行。

e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]

参数说明:-a :将 binary 文件以 text 文件的方式搜寻数据

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。-c :计算找到 '搜寻字符串' 的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

参考资料来源:

参考资料来源:

linux中怎么查看文件是否存在?

1、find命令

(1)find是linux下用于查找文件的通用方法。

(2)find语法: find [指定查找目录] [查找规则] [查找完后执行的action]

(3)例如:find /tmp -name wa -type l ,是在/tmp下查找名为wa开头且类型为符号链接的文件。找到默认情况下,哪个命令只显示个匹配的可执行文件。要显示所有匹配的可执行文件,请使用-a以下命令的选项: 这是一个firefox 您可以一次搜索多个可执行文件,如下图所示。只显示找到的可执行文件的路径。在下面的例子中,只发现了“ps”可执行文件。就表示存在。

2、shell脚本

(1)在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。

(2)例子:编辑一个脚本判断文件是否存在。

vi t.sh

#!/bin/bash

if [ -e /temp/test.log ];then //这里是判断语句,-e表示进行比较结果为真则存在

echo "文件搜索用户主目录下,所有以m开头的文件,并且忽略大小写。存在"

else

fi

保存退出

执行:

sh t.sh

如何使用命令行在Linux中查找文件和文件夹

大多数人使用图形文件管理器在-newer文件Linux中查找文件,例如Gnome中的Nautilus,KDE中的Dolphin和Xfce中的Tar。但是,无论您使用什么桌面管理器,都有几种使用命令行在Linux中查找文件的方法。本文主要参考《Linux就该这么学》。

1.使用查找命令 “find”命令允许您搜索知道近似文件名的文件。该命令的最简单形式在当前目录中搜索文件,并递归地通过其与所提供的搜索条件匹配的子目录。您可以按名称,所有者,组,类型,权限,日期和其他条件搜索文件。 在提示符下键入以下命令将列出当前目录中的所有文件。 “find”后的点表示当前目录。

如果find没有找到符合条件的任何文件,则不会产生任何输出。 find命令有很多选项可用于完善搜索。有关find命令的更多信息,请man find在“终端”窗口中运行,然后按Enter键。

2.使用定位命令 locate命令比find命令更快,因为它使用了先前构建的数据库,而find命令通过所有实际目录和文件在实际系统中进行搜索。locate命令返回包含指定字符组的所有路径名的列表。 数据库从cron定期更新,但您也可以随时更新数据,以便您可以获得的结果。为此,请在提示符下键入以下命令: sudo updatedb 出现提示时输入密码。

locate命令的基本形式从文件系统中找到包含搜索条件全部或部分内容的所有文件。 locatemydata 例如,上面的命令发现了两个包含“mydata”的文件和一个包含“数据”的文件

如果要查找包含完全的搜索条件的所有文件或目录,请使用-blocate命令中的选项,如下所示。 locate-b' mydata' 上述命令中的反斜杠是一个globbing字符,它提供了将非特定文件名中的通配符扩展成一组特定文件名的方法。通配符是表达式被评估时可以被一个或多个字符替换的符号。最常见的通配符是问号(?),它表示单个字符,而asterisk()表示连续的字符串。在上面的例子中,反斜杠禁用“ mydata ”隐式替换“mydata”,所以最终只能包含“mydata”的结果。

mlocate命令是一个新的locate的实现。它索引整个文件系统,但搜索结果只包含当前用户可访问的文件。更新mlocate数据库时,它会在数据库中保留时间戳信息。这允许mlocate知道目录中的内容是否更改,而不再读取内容,并使数据库更新速度更快,对硬盘驱动器的要求也更低。 当您安装-gid n :寻找群组ID为n的文件mlocate时,/ usr / bin / locate二进制文件更改为指向mlocate。要安装mlocate,如果尚未包括在Linux发行版中,请在提示符下键入以下命令。 sudo apt-get install mlocate 注意:我们将在本文后面显示一条命令,允许您确定命令的可执行文件所在的位置(如果存在)。

有关locate或mlocate命令的详细信息,请键入man locate或man mlocate在“终端”窗口中,然后按Enter键。两个命令显示相同的帮助屏幕。

3.使用哪个命令 “which”命令返回发出命令时调用的可执行文件的路径。这在找到用于在桌面,面板或桌面管理器中的其他位置创建程序的快捷方式时可用于查找可执行文件的位置。例如,键入命令将which firefox显示下图中显示的结果。

注意:哪个命令只搜索当前用户的PATH变量。如果搜索只能作为普通用户使用的root用户的可执行文件,则不会显示任何结果。 有关哪个命令的更多信息,请在终端窗口中的命令提示符下键入“man which”(不带引号),然后按Enter键。

4.使用Whereis命令 whereis命令用于查找命令的二进制文件,源文件和手册页文件所在的位置。例如,whereis firefox在提示符下输入将显示如下图所示的结果

如果您只想要显示可执行文件的路径,而不是源和路径(man(页)),请使用该-b选项。例如,该命令whereis -b firefox将仅显示/usr/bin/firefox为结果。这很方便,因为您可能会比搜索该程序的源页面和手册页更频繁地搜索程序的可执行文件。您也可以仅搜索源文件(-s)或仅搜索手册页(-m)。 有关whereis命令的详细信息,请键入man whereis终端窗口,然后按Enter键。

5.了解Whereis命令与哪个命令之间的区别 whereis命令显示命令的二进制,源和手册页的位置,而哪个命令仅显示命令的二进制文件的位置。 whereis命令搜索二进制,源和man文件的特定目录列表,而哪个命令搜索当前用户的PATH环境变量中列出的目录。对于whereis命令,可以在命令的手册页的FILES部分中找到具体目录的列表。 当涉及默认显示的结果时,whereis命令显示它找到的所有内容,而哪个命令只显示找到的个可执行文件。您可以使用-a前面讨论过的选项来更改该命令。 因为whereis命令只使用硬编码到命令中的路径,所以您可能并不总是找到您要查找的内容。如果您正在搜索一个程序,则认为可能安装在whereis命令的手册页中未列出的目录中,您可能希望使用该-a选项以查找系统中所有出现的命令。

Linux常用搜索命令汇总

echo "文件不存在"

如何让迅速查找文件?

Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的作系统。Linux的基本思想有两点:,一切都是文件;第二,每个软件都有确定的用途。

下面,我们就来看看Linux常用搜索命令汇总。

1. find

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find命令可在使用、管理Linux系统中方便地查找所需要的指定文件。

find的使用格式如下:

$ find 指定目录 指定条件 指定动作

- 指定目录: 所要搜索的目录及其所有子目录。默认为当前目录。可以为一个目录列表,目录间用空格分隔。

- 指定条件: 所要搜索的文件的特征。

表达式

说明

-name文件

告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(和?)

-perm模式

匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号(-),表示采用除这个模式外的所有模式。

-type x

匹配所有类型为x的文件。x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。

-links n

匹配所有连接数为n的文件。

-user用户号

匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名。

-atime n

匹配所有在前n天内访问过的文件。

-mtime n

匹配所有在前n天内修改过的文件。

匹配所有修改时间比file文件更新的文件。

匹配所有大小为n 块的文件(512字节块,若k在n后,则为1K字节块)。

-print

显示整个文件路径和名称。一般来说,都要用-print,如果没有这个参数,则find命令进行所要求的搜索是没有显示结果的。

- 指定动作: 对搜索结果进行特定的处理。

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

find的使用实例:

$ find . -name 'my'

搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

$ find . -name 'my' -ls

搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

$ find . -type f -mmin -10

搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

1) 知道了某个文件的文件名,却不知道它存于哪个目录下,此时可通过查找命令找到该文件,命令如下:

# find / -name d.conf –print

2)根据部分文件名查找

当要查找某个文件时,不知道该文件的全名,只知道这个文件包含几个特定的字母,此时用查找命令也是可找到相应文件的。这时在给字查找文件名时通配符 “”、“?”。例如,还是查找文件“d.conf”,但仅记得该文件名包含“”字符串,可使用如下命令查找:

#find / –name 名称查找参数:-print

3)根据文件的特性查找

如果仅知道某个文件的大小、修改日期等特征也可使用find命令把该文件查找出来。例如,知道一个文件尺寸小于为0bytes,可使用如下命令查找:

#find /etc –size -0c –print

下面是以时间特征为查找条件的find命令函数的参数:

amin n 查找n分钟以前被访问过的所有文件。

atime n 查找n天以前被访问过的所有文件。

cmin n 查找n分钟以前文件状态被修改过的所有文件。

ctime n 查找n天以前文件状态被修改过的所有文件。

mmin n 查找n分钟以前文件内容被修改过的所有文件。

mtime n 查找n天以前文件内容被修改过的所有文件。

2. locate

locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含 有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到变动过的文件。为了避免这种情况,可 以在使用locate之前,先使用updatedb命令,手动更新数据库。

locate命令的使用实例:

$ locate /etc/sh

$ locate ~/m

搜索用户主目录下,所有以m开头的文件。

$ locate -i ~/m

3. whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

whereis命令的使用实例:

$ whereis grep

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which命令的使用实例:

$ which grep

5. type

type命令的使用实例:

$ type cd

系统会提示,cd是shell的自带命令(build-in)。

$ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。

$ type -p grep

加上-p参数后,就相当于which命令。

linux查找find命令linux查找find

-user name :寻找用户者名称为name的文件

linuxfind正则表达式?

1:find0?0?代表的是要查找的路径,意思是在0?这个路径下查找.bash的?匹配任意一个字符,这里0?匹配到了01和0s.在01和0s下查找文件,返回了010s.2:find0.在0.下查找,bash里.就是字符'.',因为没有0.这个文件,所以报上面的错误.3.find./-regex"0."在当前目录查找匹配正则0.的文件,-regex的正则"0."使用的是emacs的正则,匹配0后面跟一个字符.错误是在于-regex的正则表达式必须匹配整个路径,文件名前的路径"./"也需要匹配.可以这样写find./-regex"./0."

linuxfind-type的用法?

find-type按照文件类型

-typex查找类型为x的文件.

-xtypex与-type基本相同,但只查找符号链接文件。

而类型x可能为下列字符之一:

b:块设备文件;

c:字符设备文件;

d:目录文件;

p:命名管道;

f:普通文件;

l:符号链接文件;/home/oracle/product/10g/cfgtoollogs/dbca/zgz

硬盘安装linuxUbuntu时出现错误unabletofindamediumcontainingalivefile?

呵呵,这个我当初装的时候碰到过,安装的文件所在盘与你系统要装到的盘要不在一个分区,否则无法读取,我当时装的时候是吧Ubuntu文件放在了u盘里面,你按我说的再试试吧

linux中怎么用find查询文件内容

你好,find

语法:

[root@re两个方式:find命令或者shell脚本。dhat ~]# find 路径 参数

时间查找参数:

-atime n :将n24小时内存取过的的文件列出来

-ctime n :将n24小时内改变、新增的文件或者目录列出来

-mtime n :将n24小时内修改过的文件或者目录列出来

-newer file :把比file还要新的文件列出来

-group name :寻找群组名称为name的文件

-uid n :寻找拥有者ID为n的文件

-name file :寻找文件名为file的文件(可以使用通配符)

例 如: 从根目录开始查找名称是zgz的文件

[root@redhat ~]# find / -name zgz

/home/zgz

/home/zgz/zgz

/home/weblogic/bea/user_projects/domains/zgz

/home/oracle/product/10g/cfgtoollogs/emca/zgz

/hom参 数说明:e/oracle/oradata/zgz

查找名称中带有zgz的文件

[root@redhat ~]# find / -name 'zgz'

/home/zgz

/home/zgz/zgz1

/home/zgz/zgzdirzgz

/home/zgz/zgz

/home/zgz/zgzdir

/home/weblogic/bea/user_projects/domains/zgz

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00006

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00002

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00004

/home/weblogic/bea/user_projects/domains/zgz/zgz.log

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00008

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00005

当我们用whereis和locate无法查找到我们需要的文件时,可以使用find,但是find是在硬盘上遍历查找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用whereis和locate。

locate 是在数据库里查找,数据库大至每天更新一次。

whereis 可以找到可执行命令和man page

find 就是根据条件查找文件。

linux查找文件的命令greplinux查找文件的命令

4. which

linux查找一个中文件是否有该字符串?

。含有某个字符串Linux查找文件内容的常用命令方法从文件内容查找匹配指定字符串的行$grep"被查找的字符串"文件名从文件内容查找与正则表达式匹配的行$grep_e“正则表达式”文件名查找时不区分大小写:$grep_i"被查找的字符串"文件名查找匹配的行数:$grep-c"被查找的字符串"文件名从文件内容查找不匹配指定字符串的行$grep_v"被查找的字符串"文件名从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行find/-typef-name".log"|xargsgrep"ERROR"

linux判断文件是否存在?

1、find命令(1)find是linux下用于查找文件的通用方法。(2)find语法:find(3)例如:find/tmp-namewa-typel,是在/tmp下查找名为wa开头且类型为符号链接的文件。找到就表示存在。

mlocate命令不使用与标准locate命令相同的数据库文件。因此,您可能需要在提示符下键入以下命令手动创建数据库: sudo /etc/cron.daily/mlocate 在数据库手动创建数据库或从cron运行脚本之前,mlocate命令将不起作用。2、shell脚本(1)在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。(2)例子:编辑一个脚本判断文件是否存在。vit.sh#!/bin/bashif;then//这里是判断语句,-e表示进行比较结果为真则存在echo"文件存在"elseecho"文件不存在"fi保存退出执行:sht.sh

Linux下find命令和grep命令查找文件

要查找符合特定模式的文件,请使用-name参数。您可以使用文件名元字符(例如),但您应该将一个转义字符()放在每个字符之前或将它们括在引号中。 例如,如果要在Documents目录中找到以“pro”开头的所有文件,我们将使用该cd Documents/命令更改为Documents目录,然后键入以下命令: find . -name pro 列出以“pro”开头的当前目录中的所有文件。 注意:find命令默认为区分大小写。如果要搜索单词或短语不区分大小写,请使用-inamefind命令中的选项。这是-name命令的不区分大小写的版本。

在使用linux时,经常需要进行文件查-size n找。其中查找的命令主要有find和grep。

两个命令是有区的。

(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

一.find命令

基本格式:find path expression

1.按照文件名查找

(1)find / -name d.conf

在根目录下查找文件d.conf,表示在整个硬盘查找

(2)find /etc -name d.conf

在/etc目录下文件d.conf

(3)find /etc -name ' srm '

使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件

(4)find . -name 'srm'

表示当前目录下查找文件名开头是字符串‘srm’的文件

四通八达:交通网络的繁荣

在交通发达的国度里,形容交通便捷的成语不胜枚举,其中最广为人知的莫过于"四通八达"。这个形容词生动地刻画出一幅交通网络四通八达、畅达无阻的景象。 四通八达:交通网络的繁荣 此外,···

虎啸龙吟免费观看全集下载 虎啸龙吟免费高清

我要虎啸龙吟的百度云盘 链接: 虎啸龙吟免费观看全集下载 虎啸龙吟免费高清 虎啸龙吟免费观看全集下载 虎啸龙吟免费高清 虎啸龙吟免费观看全集下载 虎啸龙吟免费高清 提取码:eam3 《大军师司···

交通十四五规划(交通十四五规划编制方案)

大家好我是欣欣,交通十四五规划,关于交通十四五规划编制方案很多人还不知道,那么现在让我们一起来看看吧! 交通十四五规划(交通十四五规划编制方案) 交通十四五规划(交通十四五规划编制···