linux+查找文件7天,Linux文件查找find day14

1.find查找概述

2.find查找示例

一、find查找概述

1.什么是find

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

2.find命令的基本语法:

命令

路径

选项

表达式

动作

find

[path…]

[options]

[expression]

[action]

二、find查找示例

1.find如何查找文件:

find主要针对文件名称、类型、大小、修改时间等方式进行查找文件。

1)按名称查找

# 1.按照名称进行查找

[root@wyw ~]# find ./ -name "*ens32"

# 2.按照名称(不区分大小写)

[root@wyw ~]# find ./ -iname "*ens32"

2)按文件大小查找size

# 1.查找/etc/目录下大于5M的文件

[root@wyw ~]# find /etc/ -size +5M

# 2.查找/etc/目录下小于5M的文件

[root@wyw ~]# find /etc/ -size -5M

# 3.查找/etc/目录下等于5M的文件

[root@wyw ~]# #find /etc/ -size 5M

3)按文件类型查找-type

参数:

f 文件

d 目录

s socket套接字文件

l 链接文件

c 字符设备

b 块设备

# 1.查找当前目录下类型是文件的,并且名称跟ens32相关的都列出来

[root@wyw ~]# find /etc/ -type f -iname "ens32" |xargs ls -l

# 2.查找/etc/目录下类型是文件的,大小是大于5M,名称时以.bin结尾的

[root@wyw ~]# find /etc/ -type f -size +5M -name "*.bin"

# 3.查找/etc/目录下类型是文件的,名称是.repo结尾的

[root@wyw ~]# find /etc/ -type f -name "*.repo"

#4.查找/dev下的类型是块设备的,并名称是sda开头的

[root@wyw ~]# find /dev/ -type c -name "tty*"

4)按修改时间进行查找—-mtime

# 1.创建测试文件

[root@wyw ~]# for i in {1..31};do date -s 201908$i && touch file-$i;done

# 2.查找7天以前的时间

[root@wyw ~]# find ./ -iname "file-*" -mtime +7

# 3.查找最近7天的文件

[root@wyw ~]# find ./ -iname "file-*" -mtime -7

# 4.查找第7天文件

[root@wyw ~]# find ./ -iname "file-*" -mtime 7

# 5.本地文件保留最近7天的备份文件,备份服务器保留3个月的备份文件

[root@wyw ~]# find /backup/ -iname "*.bak" -mtime +7 -delete

[root@wyw ~]# find /backup/ -iname "*.bak" -mtime +180 -delete

5)按用户和组进行查找—-user -group -nouser -nogroup

#1.查找属主是Jack

[root@wyw ~]# find /home -user jack

# 2.查找属组是admin

[root@wyw ~]# find /home -group admin

# 3.查找属主是jacky,属组是jack

[root@wyw ~]# find /home/ -type d -user jacky group jack

# 4. 查找没有属主

[root@wyw ~]# find /home -nouser

# 5.查找没有属组

[root@wyw ~]# find /home -nogroup

# 6.查找没有属主或属组

[root@wyw ~]# find /-nouser -nogroup

2.find查找后的处理动作

查到一个文件后,需要对文件进行处理,find的默认动作是-print

动作

含义

-print

打印查找到的内容(默认)—ignore

-ls

以长格式显示的方式打印查找到内容---ignore |xargs ls -l

-

删除操作到的文件(删除目录,仅能删除空目录)---ignore|xargs delete rm -f

-ok

后面跟自定义 shell命令(会提示是否操作)---ignore

-exec

后面跟自定义 shell命令(标准写法 -exec \;)|xargs

[root@wyw ~]# time find ./ -type f -name "file*" | xargs rm -f {} \;

real 0m0.006s

user 0m0.002s

sys 0m0.005s

[root@wyw ~]# time find ./ -type f -name "file*" | xargs rm -f

real 0m0.116s

user 0m0.002s

sys 0m0.125s

# 查找/var/log/ 类型是文件的,并且名称是.log结尾的,并且7天以前 的,然后删除

[root@wyw ~]# find /var/log/ -type f -name "*.log" -mtime +7 -exec rm -f {} \;

[root@wyw ~]# find /var/log/ -type f -name "*.log" -mtime +7 -delete

[root@wyw ~]# find /var/log/ -type f -name "*.log" -mtime +7 | xargs rm -f

3.find 和grep 的连用

将find查询的文件结果,作为grep的参数

[root@wyw ~]# find /etc/ -type f | xargs grep "log_group" --color=auto

/etc/audit/auditd.conf:log_group = root

4.find逻辑运算符

符号

作用

-a

-o

-not|!

# 1.查找当前目录下,属主不是root的所有文件

[root@wyw ~]# find /home/ ! -user root -ls

[root@wyw ~]# find /home/ -not -user root -ls

# 2.查找当前目录下,属主属于Jack,并且大小大于1K的文件

[root@wyw ~]# find /home/ -type f -a -user jacky -a -szie +1k

# 3.查找当前目录下的属主为root,或者以wyw结尾的普通文件

[root@wyw ~]# find . -type f -a \( -user hdfs -o -name '*.wyw' \)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中,find命令用于查找文件和目录。它是一个非常有用的工具,可以根据不同的条件来搜索文件。与grep命令不同,find命令可以递归地搜索整个文件系统。 要使用find命令查找文件,可以使用以下语法: ``` find <路径> <选项> <表达式> ``` 其中,路径指定要搜索的目录或文件,选项用于指定搜索的条件,表达式用于指定要执行的操作。 以下是一些常用的选项和表达式: - `-amin -10`:查找在系统中最后10分钟内被访问过的文件。 - `-atime -2`:查找在系统中最后48小时内被访问过的文件。 - `-empty`:查找在系统中为空的文件文件夹。 - `-group cat`:查找属于group为cat的文件。 - `-mmin -5`:查找在系统中最后5分钟内被修改过的文件。 - `-mtime -1`:查找在系统中最后24小时内被修改过的文件。 - `-user fred`:查找属于用户fred的文件。 - `-size 10000c`:查找大于10000000字节的文件(c表示字节,w表示双字,k表示KB,M表示MB,G表示GB)。 - `-size -1000k`:查找小于1000KB的文件。 请根据您的需求选择合适的选项和表达式来使用find命令进行文件查找。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [linux下快速查找文件](https://blog.csdn.net/weixin_42199791/article/details/108726422)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Linux命令之查找文件find](https://blog.csdn.net/cnds123321/article/details/124970979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值