find递归查找文件(linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件)

:暂无数据 2026-10-15 13:20:07 :0

find递归查找文件(linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件)

本篇文章给大家谈谈find递归查找文件,以及linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件

find ./ -name "*.log" -o -name "*.out"
其中-o是或者的意思,就是在当前目录下,查找以log或者out结尾的文件。
类似的还有-a,并且,查找同时满足多个条件的文件
-not,查找不满足条件的文件。
具体例子:
sudo find /etc -size +1M -exec echo {} \;
#在/etc目录下找文件大小在1M以上的文件并且显示,文件用换行符隔开。
sudo find /etc -size +1M | xargs echo
#达到-exec相同的功能但是用空格分开寻找到的文件。
#-exec后面的{} \;是不能少的。
find 紧跟的是指定开始寻找的绝对路径,我取当前路径。
find ./ -user 用户名
#find后面接的是开始寻找路径名,它会在这个路径下递归寻找。
#-user 指定用户名
find ./ -not -user 用户名
find ./ -not -name 文件名
find ./ -not -type 类型(一般文件f,目录d,字符文件c)
#寻找不匹配的文件。
find ./ -user 用户名 -o -type f
#寻找当前目录下用户你指定用户文件或者(-o)一般文件。
find ./ -size +1M -o -type d
#寻找当前目录下文件大于1M的文件或者是目录。
find ./ -size -1M -a -type f
#寻找当前目录下文件小于1M并且文件类型是一般文件的文件。

vs2010c++如何递归遍历目录并读取文件名

find(char * lpPath)
{
    char szFind;
    WIN32_FIND_DATA FindFileData;
    strcpy(szFind,lpPath);
    strcat(szFind,"\\*.*");
    HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
    if(INVALID_HANDLE_VALUE == hFind)    return;
    
    while(TRUE)
    {
        if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
        {
            if(FindFileData.cFileName!=’.’)
            {
                strcpy(szFile,lpPath);
                strcat(szFile,"\\");
                strcat(szFile,FindFileData.cFileName);
                find(szFile);
            }
        }
        else
        {
            cout 《《 FindFileData.cFileName;
        }
        if(!FindNextFile(hFind,&FindFileData))    break;
    }
    FindClose(hFind);
}

目录下所有文件内容中是否包含某个字符串

查找目录下的所有文件中是否含有某个字符串使用:find
.|xargs
grep
-ri
"IBM"。正则表达式一般用来描述文本模式的特殊用法,由普通字符以及特殊字符组成。
在linux下查找某目录下所有文件包含某字符串的命令:
1、从文件内容查找匹配指定字符串的行:
$
grep
"被查找的字符串"
文件名
。
2、从文件内容查找与正则表达式匹配的行:
$
grep
–e
“正则表达式”
文件名
。
3、查找时不区分大小写:
$
grep
–i
"被查找的字符串"
文件名
。
4、查找匹配的行数:
$
grep
-c
"被查找的字符串"
文件名
。
5、从文件内容查找不匹配指定字符串的行:
$
grep
–v
"被查找的字符串"
文件名
。
6、从根目录开始查找所有扩展名为.txt的文本文件,并找出包含"phpzixue.cn"的行
find
.
-type
f
-name
"*.txt"
|
xargs
grep
"phpzixue.cn"表示当前目录
-type
表示类型
f
表示普通文件
xargs
表示递归查找子目录
目标字符可带**等符号
可不带引号。

linux 怎样查看tomcat是安装在哪个文件夹

linux 查看tomcat安装在哪个文件夹有两种方式:

1、使用find命令

可以使用find命令来查看,具体命令为:find / tomcat。

find / tomcat是到根目录下寻找含有tomcat的文件或文件夹,但find命令效率相对较低。

2、使用locate命令

可以使用locate命令老查看,具体命令为:locate tomcat。

locate如果没有安装需要先yum install locate安装,然后locate tomcat命令就可以查出tomcat的位置。

locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时颤缓首的,而是以数据库的更新为准,一般是系统自己维护,也可以手工哪亏升级数据库


扩展资料

linux下locate命令的介绍:

1、locate语法

locate

2、locate 参数

-d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为茄数slocate.db,您可使用 这个参数另行指定。

--help  在线帮助。

--version  显示版本信息。

3、实例

查找passwd文件,输入以下命令:

locate passwd

Linux下有没有像everything一样快速搜索文件的工具

一:locate命令 如果没有安装,通过 dnf install mlocate -y进行安装,
locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。
即先运行:updatedb(无论在那个目录中均可,可以放在crontab中 )后在 /var/lib/slocate/ 下生成 slocate.db 数据库即可快速查找。在命令提示符下直接执行#updatedb 命令即可:
例如:查找相关字issue
$ locate issue
/etc/issue
/etc/issue.net
/usr/man/man5/issue.5
/usr/man/man5/issue.net.5
二:find命令:
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录 寻找条件 操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
该命令提供的寻找条件可以是一个用逻辑运算符not、and、or组成的复合条件。逻辑运算符and、or、not的含义为:
(1)and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条件都满足时,寻找条件才算满足。例如:
$ find –name ’tmp’ –xtype c -user ’inin’
该命令寻找三个给定条件都满足的所有文件。
(2)or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如:
$ find –name ’tmp’ –o –name ’mina*’
该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。
(3)not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件。例如:
$ find ! –name ’tmp’
该命令查询文件名不是’tmp’的所有文件。
需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“”来去除括号的意义。
例:$ find (–name ’tmp’ –xtype c -user ’inin’ )
寻找条件有以下选项:
首先,下列各个选项中的n值可以有三种输入方式,假设n为20,则:
+20 表示20以后(21,22,23等)
-20 表示20以前(19,18,17等)
20 表示正好是20
1. 以名称和文件属性查找。
- name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。
- lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[ ]。
-gid n 查找属于ID号为n的用户组的所有文件。
-uid n 查找属于ID号为n的用户的所有文件。
-group ’字串’ 查找属于用户组名为所给字串的所有的文件。
-user ’字串’ 查找属于用户名为所给字串的所有的文件。
-empty 查找大小为0的目录或文件。
-path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。
-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。
-size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为b,代表512字节的块。
-type x 查找类型为x的文件,x为下列字符之一:
b 块设备文件
c 字符设备文件
d 目录文件
p 命名管道(FIFO)
f 普通文件
l 符号链接文件(symbolic links)
s socket文件
-xtype x 与-type基本相同,但只查找符号链接文件。
2. 以时间为条件查找
- amin n 查找n分钟以前被访问过的所有文件。
- atime n 查找n天以前被访问过的所有文件。
- cmin n 查找n分钟以前文件状态被修改过的所有文件。
- ctime n 查找n天以前文件状态被修改过的所有文件。
- mmin n 查找n分钟以前文件内容被修改过的所有文件。
- mtime n 查找n天以前文件内容被修改过的所有文件。
3. 可执行的操作
- exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ ;”结束。
- ok 命令名称 { } 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。
- ls 详细列出所找到的所有文件。
- fprintf 文件名 将找到的文件名写入指定文件。
- print 在标准输出设备上显示查找出的文件名。
- printf 格式 格式的写法请参考有关C语言的书。
例1:查找当前目录中所有以main开头的文件,并显示这些文件的内容。
$ find . - name ‘main*’ - exec more {} ;
例2:删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。
$ find . (- name a.out - o - name ‘*.o’)
》 - atime +7 - exec rm {} ;
说明如下:
命令中的“.”表示当前目录,此时find将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。(和)表示括号(),其中的“”称为转义符。之所以这样写是由于对Shell而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。“- name a.out”是指要查找名为a.out的文件;“- name ‘*.o’”是指要查找所有名字以 .o结尾的文件。这两个- name之间的- o表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件,find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm(- exec rm{ };)。其中{ }代表当前查到的符合条件的文件名,;则是语法所要求的。上述命令中第一行的最后一个是续行符。当命令太长而在一行写不下时,可输入一个,之后系统将显示一个》,指示用户继续输入命令。

用linux指令实现在当前目录中递归查找包含字符串“string”的文件,但不搜索“.svn”目录

find * ! - name ‘*.svn’| xargs grep "string" ,更多关于find命令的联合使用,请参考书籍《Linux就该这么学》。

文章分享结束,find递归查找文件和linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件的答案你都知道了吗?欢迎再次光临本站哦!

find递归查找文件(linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件)

本文编辑:admin

更多文章:


find递归查找文件(linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件)

find递归查找文件(linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件)

本篇文章给大家谈谈find递归查找文件,以及linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月15日 13:20

pip下载官网(急!!python的pip怎么安装)

pip下载官网(急!!python的pip怎么安装)

各位老铁们好,相信很多人对pip下载官网都不是特别的了解,因此呢,今天就来为大家分享下关于pip下载官网以及急!!python的pip怎么安装的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 11:50

文本编辑器编辑的文档保存英文字母时用的(2003word中编辑英文,网上下载一段英文,遇到一个字母分2行,用格式刷也不管用)

文本编辑器编辑的文档保存英文字母时用的(2003word中编辑英文,网上下载一段英文,遇到一个字母分2行,用格式刷也不管用)

本篇文章给大家谈谈文本编辑器编辑的文档保存英文字母时用的,以及2003word中编辑英文,网上下载一段英文,遇到一个字母分2行,用格式刷也不管用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月15日 10:10

html查看器下载官网(华为html查看器在哪里)

html查看器下载官网(华为html查看器在哪里)

各位老铁们好,相信很多人对html查看器下载官网都不是特别的了解,因此呢,今天就来为大家分享下关于html查看器下载官网以及华为html查看器在哪里的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 09:50

caption 翻译(VBA中的“caption“应怎么翻译)

caption 翻译(VBA中的“caption“应怎么翻译)

其实caption 翻译的问题并不复杂,但是又很多的朋友都不太了解VBA中的“caption“应怎么翻译,因此呢,今天小编就来为大家分享caption 翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月15日 09:30

java运行环境未找到(Java运行环境未找到,win10系统)

java运行环境未找到(Java运行环境未找到,win10系统)

大家好,今天小编来为大家解答以下的问题,关于java运行环境未找到,Java运行环境未找到,win10系统这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 08:40

vertical merger(Vertical Merger是什么意思)

vertical merger(Vertical Merger是什么意思)

大家好,今天小编来为大家解答以下的问题,关于vertical merger,Vertical Merger是什么意思这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 07:10

socket啥意思(什么是socket接口>)

socket啥意思(什么是socket接口>)

各位老铁们好,相信很多人对socket啥意思都不是特别的了解,因此呢,今天就来为大家分享下关于socket啥意思以及什么是socket接口>的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 05:30

克鲁斯卡尔沃利斯检验(克鲁斯卡尔-沃利斯检验规范报告中位数从哪里看)

克鲁斯卡尔沃利斯检验(克鲁斯卡尔-沃利斯检验规范报告中位数从哪里看)

这篇文章给大家聊聊关于克鲁斯卡尔沃利斯检验,以及克鲁斯卡尔-沃利斯检验规范报告中位数从哪里看对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月15日 04:10

什么是编译什么是运行?对于*.lua文件,需要用什么软件程序打开

什么是编译什么是运行?对于*.lua文件,需要用什么软件程序打开

大家好,关于编译很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于什么是编译什么是运行的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月15日 02:50

最近更新

嘉兴seo合作新站如何快速优化?
2026-10-15 16:33:19 浏览:0
热门文章

sql server2008下载地址(如何下载SQL Server 2008 R2 SP2免费版)
2026-10-05 05:30:29 浏览:6
thinkpadx100eu盘启动(thinkpad x100e U盘启动 支持的写入方式是什么)
2026-09-01 14:20:01 浏览:6
标签列表