Linux命令之find

简介: Linux命令之find

find 是 Linux 和类 Unix 系统中一个非常强大且灵活的命令行工具,用于在指定目录树中搜索满足特定条件的文件和目录。以下是一些 find 命令的基本用法和示例:

基本语法

find [path] [expression]
  • [path]:指定搜索的起始路径。如果不提供,默认从当前目录开始。
  • [expression]:定义查找文件应满足的一系列条件或动作。这些可以是选项(如 -name-type)、测试条件以及操作符。

常用选项及表达式

  • -name pattern:按照名称匹配,例如查找名为 "example.txt" 的文件:

    find /home/user -name "example.txt"
    
  • -type t:按类型查找,其中 t 可以是 f(文件)或 d(目录):

    find /var/log -type f  # 查找所有日志目录下的文件
    find /etc -type d     # 查找/etc下所有的子目录
    
  • -mtime n:根据修改时间查找文件,n 可以为正数(n天前修改过的)、负数(n天内修改过的)或0(今天修改过的):

    find . -mtime -7    # 查找过去7天内修改过的文件
    
  • -user username-uid userid:查找属于指定用户的文件:

    find / -user alice  # 查找整个系统中属于用户alice的所有文件
    
  • -exec command {} \;:对搜索结果执行命令。{} 会被替换为每个找到的文件名:

    find . -name "*.bak" -exec rm -f {
         } \;  # 删除当前目录及其子目录下所有.bak后缀的文件
    
  • -size [+|-]num[ckMG]:按大小查找文件,可以指定大于(+)、小于(-)或等于特定大小的文件:

    find /data -size +10M   # 查找/data目录下大于10MB的文件
    

示例

查找根目录下所有的隐藏文件(即文件名以点 ., 开头的文件):

find / -name ".*"

查找并删除系统中30天未被访问过的临时文件:

find /tmp -atime +30 -type f -delete

注意:在使用 find 命令时务必谨慎,特别是带有 -exec 参数或者进行删除等操作时,避免误删重要文件。

目录
相关文章
|
18天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
129 5
|
18天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
61 4
|
5天前
|
缓存 监控 Linux
|
8天前
|
Linux Shell 数据安全/隐私保护
|
9天前
|
域名解析 网络协议 安全
|
15天前
|
运维 监控 网络协议
|
16天前
|
监控 Linux Shell
|
1天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
14 7
|
19天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
29 3
Linux | Rsync 命令:16 个实际示例(下)
|
3天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
26 7