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小时更新的文件
  • 相关阅读:
    Android 手势检测实战 打造支持缩放平移的图片预览效果(下)
    二. 200多万元得到的创业教训--令人又爱又恨的外包
    一. 200多万元得到的创业教训--产品篇
    Android 手势检测实战 打造支持缩放平移的图片预览效果(上)
    bmob云代码中生成缩略图
    使用 OAuth2-Server-php 在 Yii 框架上搭建 OAuth2 Server
    Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)
    数据库面试题
    Java三层架构
    group by&having&where
  • 原文地址:https://www.cnblogs.com/kimbo/p/7001942.html
Copyright © 2011-2022 走看看