zoukankan      html  css  js  c++  java
  • Linux find 命令大全

    find 含义: 顾名思义,是从来查找满足条件的内容。 从指定目录,递归的查找满足条件的内容。

    格式: find [查询目录] [参数] [匹配方式]

    1. 文件操作:

                -name : 查找文件名  ( find . -name "*.txt" )  -- 查询当前目录及子目录下,已txt结尾的文件

                -type : 查找文件的类型

                         f :普通文件,如txt,sh等 ( find . -type f ) -- 查询当前目录及子目录下,普通文件
                         d :目录
                         b :块设备文件
                         c :字符设备文件
                         p :管道文件
                         l :链接文件

          2. 用户权限

              -perm :用户权限permission,常用3位数据(4:read,2:write,1:execute),如744(读写执行,读,读),创建人拥有所有权限,创建人所属的组有读权限,其他人有读权限
              -user / -nouser :按文件属主查询 / 查找无有效属主的文件
              -group / -nogroup :按文件属组查询 / 查找无有效属组的文件

          3. 时间选项

             -atime / -amin N :最近访问过的文件(access),time单位是天(day), min单位是分钟(min). 若数字前"+",表示N段时间前(-atime +1 表示一天之前);若数字前"-",表示N段时间内(-atime 11 表示最近一天之内)
             -ctime / -cmin N :最近状态改变过的文件(change),一般值权限修改,chmod,chgrp等
             -mtime / -mmin N :最近修改过的文件(modify),指文件内容修改
             通过命令: stat file ,可以查看详情 ,如: stat kimbo_test.sh

          4. 路径

             -path 给出文件路径,可在路径中查询

             -prune 表示要忽略的目录

    xargs :与管道连用,对匹配的文件执行后续操作。每次只获取一部分文件,先处理,然后在下一批,以此下去。

    #!/bin/bash
    
    # 查询文件名是txt的文件,并显示
    find /home/test/ -name "*.txt" |xargs ls -l
    
    # 查询文件名是txt的文件,并删除
    find /home/test/ -name "*.txt" |xargs rm -fr

    例1: 查找最近修改的文件

    find . -name "*.sh" -mtime -1  #time 单位是天,最近一天更新的文件
    
    find . -name "*.sh"  -mmin -60 |xargs ls -l  #min单位是分钟,最近1小时更新的文件
  • 相关阅读:
    正则化--Lambda
    uwsgi配置cheaper模式进行自动弹性
    采集容器内存并写到excel
    通过进程id找到进程对应的容器并统计每个进程的内存占用写到excel里
    基于celery的任务管理
    基于Redis做内存管理
    uWSGI
    nginx
    服务发现
    绑核与巨页
  • 原文地址:https://www.cnblogs.com/kimbo/p/7001942.html
Copyright © 2011-2022 走看看