Linux查找目录或文件

教你几招在 Linux 中高效地查找目录 在 Linux 操作系统中,查找目录是一项常见的任务。无论是系统管理员还是普通用户,都可能需要查找特定的目录以执行各种操作,如导航文件系统、备份数据、删除文件等。Linux 提供了多种命令和工具来帮助我们在文件系统中快速找到目标目录。本文将介绍几种常用的方法和命令,帮助你在 Linux 中高效地查找目录。 阅读详情

查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -print

 

 

如果需要更进一步的了解,可以参看Linux的命令详解。

这里摘抄如下:

 

·find path -option [ -print ] [ -exec -ok command ] {} /;
#-print 将查找到的文件输出到标准输出
#-exec command {} /;     -----将查到的文件执行command操作,{} 和 /;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户

====================================================

-name filename             #查找名为filename的文件
-perm                       #按执行权限来查找
-user   username            #按文件属主来查找
-group groupname            #按组来查找
-mtime -n +n               #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime   -n +n              #按文件访问时间来查
-perm                        #按执行权限来查找
-user   username            #按文件属主来查找
-group groupname            #按组来查找
-mtime -n +n               #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime   -n +n              #按文件访问时间来查找文件,-n指n天以内,+n指n天以前 
-ctime   -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
-nogroup                    #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2              找文件,-n指n天以内,+n指n天以前 
-ctime   -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
-nogroup                    #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2              #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f        #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                     #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f        #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                     #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                      #查文件时不跨越文件系统mount点
-follow                     #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                   #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                      #查文件时不跨越文件系统mount点
-follow                     #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                       #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                      #忽略某个目录

====================================================
$find ~ -name "*.txt" -print    #在$HOME中查.txt文件并显示
$find .   -name "*.txt" -print
$find .   -name "[A-Z]*" -pri26nbsp;   #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                              #忽略某个目录

=====================================================
$find ~ -name "*.txt" -print    #在$HOME中查.txt文件并显示
$find .   -name "*.txt" -print
$find .   -name "[A-Z]*" -print #查以大写字母开头的文件
$find /etc -name "host*" -print #查以host开头的文件
$find . -name "[a-z][a-z][0--9][0--9].txt"   -print #查以两个小写字母和两个数字开头的txt文件
$find . -perm 755 -print
$find . -perm -007 -exec ls -l {} /; #查所有用户都可读写执行的文件同-perm 777
$find . -type d -print
$find . ! -type d -print 
$find . -type l -print

$find . -size +1000000c -print       #查长度大于1Mb的文件
$find . -size 100c        -print      # 查长度为100c的文件
$find . -size +10 -print             #查长度超过期作废10块的文件(1块=512字节)

$cd /
$find etc home apps   -depth -print | cpio -ivcdC65536 -o /dev/rmt0
$find /etc -name "passwd*" -exec grep "cnscn" {} /; #看是否存在cnscn用户
$find . -name "yao*" | xargs file
$find . -name "yao*" | xargs echo   "" > /tmp/core.log
$find . -name "yao*" | xargs chmod o-w

======================================================

find -name april*                      在当前目录下查找以april开始的文件
find -name april* fprint file        在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat   在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l           在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2                 在/home下查最近两天内改动过的文件
find /home   -atime -1                  查1天之内被存取过的文件
find /home -mmin   +60                  在/home下查60分钟前改动过的文件
find /home -amin +30                  查最近30分钟前被存取过的文件
find /home -newer tmp.txt             在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt            在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2                  列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn                列出/home目录内属于用户cnscn的文件或目录
find /home -uid +501                 列出/home目录内用户的识别码大于501的文件或目录
find /home -group cnscn              列出/home内组为cnscn的文件或目录
find /home -gid 501                   列出/home内组id为501的文件或目录
find /home -nouser                    列出/home内不属于本地用户的文件或目录
find /home -nogroup                   列出/home内不属于本地组的文件或目录
find /home   -name tmp.txt   -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层
find /home -name tmp.txt -mindepth 3 从第2层开始查
find /home -empty                     查找大小为0的文件或空目录
find /home -size +512k               查大于512k的文件
find /home -size -512k               查小于512k的文件
find /home -links +2                 查硬连接数大于2的文件或目录
find /home -perm 0700                查权限为700的文件或目录
find /tmp -name tmp.txt -exec cat {} /;
find /tmp -name tmp.txt -ok rm {} /;

find   / -amin   -10       # 查找在系统中最后10分钟访问的文件
find   / -atime -2         # 查找在系统中最后48小时访问的文件
find   / -empty              # 查找在系统中为空的文件或者文件夹
find   / -group cat        # 查找在系统中属于 groupcat的文件
find   / -mmin -5         # 查找在系统中最后5分钟里修改过的文件
find   / -mtime -1        #查找在系统中最后24小时里修改过的文件
find   / -nouser             #查找在系统中属于作废用户的文件
find   / -user   fred       #查找在系统中属于FRED这个用户的文件

查当前目录下的所有普通文件 
--------------------------------------------------------------------------------

# find . -type f -exec ls -l {} /; 
-rw-r--r--    1 root     root        34928 2003-02-25 ./conf/httpd.conf 
-rw-r--r--    1 root     root        12959 2003-02-25 ./conf/magic 
-rw-r--r--    1 root     root          180 2003-02-25 ./conf.d/README 
查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出


=================================================
在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:
$ find logs -type f -mtime +5 -exec -ok rm {} /;


=================================================
查询当天修改过的文件
[root@book class]# find ./ -mtime -1 -type f -exec ls -l {} /;


=================================================
查询文件并询问是否要显示
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} /; 
< ls ... ./classDB.inc.php > ? y
-rw-r--r--    1 cnscn    cnscn       13709 1月 12 12:22 ./classDB.inc.php
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} /; 
< ls ... ./classDB.inc.php > ? n
[root@book class]#

=================================================
查询并交给awk去处理
[root@book class]# who | awk '{print $1"/t"$2}'
cnscn   pts/0

=================================================
awk---grep---sed

[root@book class]# df -k | awk '{print $1}' | grep -v 'none' | sed s"///dev////g"
文件系统
sda2
sda1
[root@book class]# df -k | awk '{print $1}' | grep -v 'none'
文件系统
/dev/sda2
/dev/sda1


1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名

A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
B) grep SYSCALL_VECTOR /tmp/*.h | cut   -d':' -f1| uniq > filename
C) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} /; -print


2)find / -name filename -exec rm -rf {} /;
find / -name filename -ok rm -rf {} /;


3)比如要查找磁盘中大于3M的文件:
find . -size +3000k -exec ls -ld {} ;


4)将find出来的东西拷到另一个地方
find *.c -exec cp '{}' /tmp ';'

如果有特殊文件,可以用cpio,也可以用这样的语法:
find dir -name filename -print | cpio -pdv newdir


6)查找2004-11-30 16:36:37时更改过的文件
# A=`find ./ -name "*php"` | ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

linux 查找某个目录或文件的位置 find find  /  -name  1.txt : 在根目录下开始寻找1.txt find  /root  -name  *1.txt : 从root目录下开始寻找 带有名称1的txt文件   在root目录下,查找包含 QQQ 的文件 find  /root  -name "*" | xargs grep "QQQ"   注意:如果搜索的文件名称没有加上双引号,查到的文件个数可能有误,例如在某个文件目录.. 阅读详情

相关推荐

Bladed风电仿真软件新手必看:从界面操作到功率曲线计算的完整指南

本文为风电工程师提供Bladed仿真软件的完整入门指南,涵盖界面操作、功率曲线计算及动态仿真等核心功能。通过实战技巧和常见问题解决方案,帮助新手快速掌握这款全球领先的风电机组仿真工具,提升风电项目开发效率。

weixin_30839881的博客 101

Linux 查看目录和文件(shell中常见的基本命令)

另一个常用的选项是-l,可以用来查看文件的各种属性,如下所示,前进几个权限代表的意思可以看这里。cat命令会一次将所有的内容全部显示在屏幕上,因此当文件内容很多时,这样观看非常不好,输入cd命令,后面跟着一个路径名作为参数,就可以直接进入到另外一个子目录中去,例如。在linux上,这些文件被称为隐含文件,默认是不显示在目录下的,除非指定-a选项。ls是list的简化形式,ls的命令选项非常多,这里就不一一例举了,可以看这里。可以看到在每页的下方都会有个百分比,表示已显示内容占整个文件的比例,

ligare的博客 8万+

别再死磕DH参数了!用MATLAB Robotics Toolbox + SOLIDWORKS搞定六轴机械臂仿真(附避坑指南)

本文详细介绍了如何利用MATLAB Robotics Toolbox和SOLIDWORKS进行六轴机械臂仿真,避免常见的DH参数错误和模型导出问题。通过实战指南和避坑技巧,帮助工程师实现从三维建模到运动学仿真的无缝衔接,提升仿真效率和准确性。

weixin_27066963的博客 394

第三章 Linux文件目录查找

Find命令在Linux中搜索效果非常不错,不仅可以按照文件名搜索文件,还可以按照权限、时间、容量大小等来搜索文件,但是find命令它是通过递归式在硬盘中进行搜索的,如果指定的搜索范围过大,find命令就会消耗较大的系统资源,导致服务器压力过大。所以find命令搜索范围,不要指定太大。

葛柏的博客 2076

《使用R包ggtree进行进化树的绘制与美化》

都2023年了,才去使用Y叔早在2018年发表的进化树构建利器——ggtree。刚好最近在做基因家族分析,进化树的构建与美化确实有点麻烦,先前使用MEGA11进行了绘制,但图像简陋,于是导出了nwk文件,准备使用其他软件进行美化。这里,我使用ggtree包进行操作。

沉香best的博客 6894

宇瞳杯视讯镜头完成版(除公差/鬼像分析)

宇瞳杯视讯镜头完成版(除公差/鬼像分析)

weixin_72050316的博客 1048

linux 下查找文件及完整文件路径

我们知道在终端机模式当中,连续输入两次[tab]按键就能够知道使用者有多少指令可以下达。那你知不知道这些指令的完整文件名放在哪里?举例来说,ls 这个常用的指令放在哪里呢?就通过 which 或 type 来找寻吧!

zzzddujbhj的博客 1万+

Mac下Neo4j的安装、配置及Error汇总

Mac 配置 jdk环境(图文) 卸载jdk

Yale-曼陀罗 1642

在Linux系统中高效查找文件所在位置的方法

Linux操作系统以其强大的功能和灵活性而闻名,其文件系统结构也是其强大功能的一部分。在Linux中,文件和目录以树状结构组织,这使得查找特定文件或目录变得至关重要。无论是在系统管理、软件开发还是日常使用中,知道如何高效地查找文件位置都是一项基本技能。在Linux中查找文件位置是一项基本技能,对于系统管理员、开发人员和普通用户都非常重要。通过掌握本文介绍的查找文件的方法,读者可以更加高效地管理和使用Linux系统。希望本文能够帮助读者提高查找文件的效率,并在实践中应用所学知识。

weixin_70208651的博客 1万+

车辆重识别/再辨识数据集: Vehicle Re-ID Datasets Collection

车辆数据库 1.VERI-Wild: A Large Dataset and a New Method for Vehicle Re-Identification in the Wild (2019-CVPR) 数据库名称:VERI-Wild 论文:链接 数据库描述: 车辆图像由一个包含174个摄像机,拍摄范围覆盖超过200平方公里的市区CCTV系统拍摄。摄像机是24小时连续拍摄30天,其长时间的...

AI炼丹师 6856

EMB电子机械制动器夹紧力预估策略分析

本文探讨了电子机械制动器(EMB)夹紧力的四种预估方法:1)基于电机电流的方法简单经济但易受干扰;2)基于位置传感器的方法实时性好但依赖模型精度;3)直接力测量精度最高但成本较高;同时提出未来将结合AI和数字孪生技术提升预估精度。研究显示,准确的夹紧力预估对制动安全性、能效和舒适性至关重要,当前面临温度稳定性、参数漂移等技术挑战。随着智能算法的发展,EMB夹紧力预估将实现更高精度和可靠性。

m0_59012156的博客 850

linux 查找目录或文件

 查找目录:find /(查找范围) -name 查找关键字 -type d查找文件:find /(查找范围) -name 查找关键字 -print  如果需要更进一步的了解,可以参看Linux的命令详解。这里摘抄如下: ·find path -option [ -print ] [ -exec -ok command ] {} /;#-print 将查找到的文件输

相信自己能行,那就一定能行 56万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux查到目录,Linux查找目录或文件

查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -printLinux的命令详解。这里摘抄如下:基本语法:find [OPTION] [path...] [expression]示例find/user/bin/-namezip-print#查找zip文件find/etc/namei...

weixin_39838758的博客 379

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Linux如何查找大文件或目录总结

如何查找大文件?

qianghong000的博客 312

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Linux下如何查找文件或目录?

如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录或文件。语法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。语法:locate [-d ][--help][--version][范本样式...]

duanweifang的博客 2952

linux 查找某个目录或文件的位置 find

find / -name 1.txt : 在根目录下开始寻找1.txt find /root -name *1.txt : 从root目录下开始寻找 带有名称1的txt文件 在root目录下,查找包含 QQQ 的文件 find /root -name "*" | xargs grep "QQQ" 注意:如果搜索的文件名称没有加上双引号,查到的文件个数可能...

91奔跑的蜗牛 5万+

linux 查找目录或文件,linux 查找目录或文件详解

查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print如果需要更进一步的了解,可以参看Linux的命令详解。这里摘抄如下:·find path -option [ -print ] [ -exec -ok command ] {} /;#-print 将查找到的文件输出到标准输出#-exec comma...

weixin_32816563的博客 1209

在 Linux 中精准查找名为 `xxx` 的文件或目录路径

如何在Linux系统中精确查找特定名称的文件或目录? 本文介绍了两种高效方法: find命令:通用可靠,无需依赖,适合一次性查找。语法示例:sudo find / -name "xxx" 2>/dev/null,可精确匹配文件名或目录名,并支持类型筛选。 locate命令:查询速度快但需安装配置,适合频繁查找。使用locate -b '\xxx'实现精确匹配,需先运行sudo updatedb更新数据库。 关键区别在于: find实时搜索但速度较慢 locate基于数据库查询速度快

小李同学的博客 1109

在Linux下实现一个查找文件或目录的脚本

在Linux下编写bash脚本程序,利用深搜实现文件或目录绝对路径的查找

qq_64292712的博客 2337

linux根据关键字查找文件或目录

在根目录中查找包含Oracle关键字的文件或目录: find / -name 'oracle'

wdyliuxingfeiyang的博客 3413

linux 查找删除目录下文件,linux 命令 find与rm实现查找并删除目录或文件

504 find /Volumes/WD/data/data/sg3d/server -type d |grep .svn505 find /Volumes/WD/data/data/sg3d/server -type d |grep .svn | xargs rm -rf506 find /Volumes/WD/data/data/sg3d/server -type d |grep .sv...

weixin_29734123的博客 2242

linux 查找后删除目录,linux中find与rm实现查找并删除目录或文件

linux 下用find命令查找文件,rm命令删除文件。删除指定目录下指定文件find 要查找的目录名-name .svn |xargs rm -rf删除指定名称的文件或文件夹:find -type d | grep .svn$ | xargs rm -r分析:find -type d | grep .svn$ 通过此命令查找文件夹 过滤正则表达式中的目录| xargs rm -r 执行删除指...

weixin_33399354的博客 2399

重庆思庄技术分享——Linux下如何查找文件或目录

如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录或文件。语法:whereis [-bfmsu][-B ...][-M ...][-S ...][文件...]Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。语法:locate [-d ][--help][--version][范本样式...]

m0_61458430的博客 1419

linux递归查找删除文件,linux如何递归查找删除文件或目录?

本篇文章主要给大家介绍linux递归查找文件和linux递归删除文件或目录的方法。要实现linux递归查找并删除文件/目录的目的,我们可以使用下面的语法将find命令和rm命令一起使用。这里,末尾的+号表示允许同时读取多个目录。$ find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf...

weixin_32620855的博客 1974

linux 删除文件命令_linux如何递归查找删除文件或目录?

点击蓝字关注我们!每天获取最新的编程小知识!源 /php中文网 源 /www.php.cn本篇文章主要给大家介绍linux递归查找文件和linux递归删除文件或目录的方法。(查看原文请点击本文末尾左下角:要实现linux递归查找并删除文件/目录的目的,我们可以使用下面的语法将find命令和rm命令一起使用。这里,末尾的+号表示允许同时读取多个目录。$ find /start...

weixin_40007541的博客 660
上一篇: Linux下驱动开发常用头文件
BEYOND629310
博客等级 码龄8年 33粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值