Linux find命令

基本概念

linux find命令是用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用find命令不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find命令相对于locate这种非实时查找的搜索命令,大大增加了我们搜索的便捷度以及准确性;并且能够方便的帮助我们对大文件、特定类型的文件查找与删除,特别是有超多小碎文件的时候。

语法
find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
规则

find语法规则:在命令列上第一个-()之前的部分为path,之后的部分为expression。

path为空则表示使用当前路径,expression为空表示使用-print为预设expression。

expression常用的选项如下:

  • -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件。
  • -amin n : 在过去 n 分钟内被读取过。
  • -anewer file : 比文件 file 更晚被读取过的文件。
  • -atime n : 在过去n天内被读取过的文件。
  • -cmin n : 在过去 n 分钟内被修改过。
  • -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name。
  • -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写。
  • -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写。
  • -size n : 文件大小 是 n 单位,其中b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
  • -type c : 文件类型是 c 的文件。(d:目录、c:字型装置文件、b:区块装置文件、p:具名贮列、f:一般文件、I:符号连结、s:socket)
    pid n:process id是n的文件
参数

根据属主、属组查找

    -user username:查找属主是xx的文件
    -group group:查找属组的xx文件
    -uid useruid:查找uid号的文件
    -gid groupid:查找gid号的文件
    -nouser:查找没有属主的文件,即文件存在但是 user已被删除
    -nogroup:查找没有属组的文件

根据文件类型查找

    -type f:普通文件
    -type d:目录文件
    -type l:符号链接文件
    -type s:套接字文件
    -type b:块设备文件
    -type c:字符设备文件
    -type p:管道文件

根据大小查找

    -size +10M :大于10m的文件
    -size +10k:大于10k的文件
    -size +1G:大于1G的文件
    -size -1G:小于文件的文件

根据时间查找

    一天为单位
        -atime :访问时间
        -mtime :修改时间
        -ctime :改变时间
   以分钟为单位:
        -amin: 访问时间        -mmin:修改时间        -cmin:改变时间

组合条件查找

    -a  :与
    -o  :或
    -not:非
    !  :非

处理动作

    -print:打印到屏幕
    -ls:查找到的文件 进行 ls
    -delete:删除查找到的文件
    -ok command {}\; 对查找的文件执行由command指定的命令,交互式
    -exec command {}\;同上,非交互式
    {}:代表前面find找到的 文件名称本身
    例如:
    find ./ -type f -exec cp {} {}.bak \; 将查找到的文件都复制出一个.bak文件
实例

列出当前目录下所有文件中后缀为.c的文件

# find . -name "*.c"

列出当前目录下其子目录中所有一般文件

# find . -type f

查找系统中所有文件长度为0的普通文件,并列出它们的完整路径

# find / -type f -size 0 -exec ls -l {} \;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值