找回密码
 注册
关于网站域名变更的通知
查看: 653|回复: 3
打印 上一主题 下一主题

Linux find 命令

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-7-12 10:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    : q5 |* o+ ]+ ]& [" i- ^Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
    * ?+ H8 q* K4 ?& b: P
    2 h- h3 N+ c6 a语法
    7 p/ ^: P7 L8 M  S; t! Xfind   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
    9 g. ^* S5 A( F9 j/ L& Y) u参数说明 :0 M. \! |" i  R5 u8 }; k
    7 V0 G. g# w4 Z# E/ M
    find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。6 @9 X" k9 p# H! p& |; E# P
    . v, z- D9 v! n" g3 ^1 @" b
    expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
    / m- b$ N& _; q! b8 D2 e1 R3 F5 _4 k7 x. ~/ C! ~8 P8 _
    -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件3 T& V9 [9 R, `" H

    % |4 `: w" \) N5 l-amin n : 在过去 n 分钟内被读取过, N- z6 i" T- d" H) r

    ' V! v% e8 P  g) m-anewer file : 比文件 file 更晚被读取过的文件  Y& Z0 m6 h" N% G
    ) y! i0 O7 n! X& g3 W
    -atime n : 在过去n天内被读取过的文件( w* v% Z- |* H5 a$ a
    ) I( ^$ R- ^8 S4 P( ]; N
    -cmin n : 在过去 n 分钟内被修改过
    3 H! j5 w8 U5 m' l; t2 U$ O
    " H/ i6 Y, z% d, ?-cnewer file :比文件 file 更新的文件
    $ v$ k# ?2 s& P5 ]' z; O! D  ]$ t, K! C* [2 h
    -ctime n : 在过去n天内被修改过的文件
    # G) Y( L7 q* A' L8 p% f* g9 c* [+ z
    ! M' a: s% v, j; }) f-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
    , g( t, G1 h  x: c
    , g2 ^2 U  H8 \( V( \# c-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
    ! P& \: J: W+ ]6 K* Q; S: z1 n( A$ P% j! N7 n" C
    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写! R, p& q( U# {  T0 n) j
    " E; r7 r) m; r
    -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
    + i5 H9 s1 }, v$ C
    , L4 Y# f5 f8 ^* f" d-type c : 文件类型是 c 的文件。
    8 P8 Y- C$ ]: V; @
    # `0 Y; ]6 ?& i! i2 H) R2 z) yd: 目录
    $ S- r0 Q8 V- m. u, a* d5 |) c9 w* k4 I
    c: 字型装置文件
    % l) _( J' P6 b' }4 g' ~$ q: I4 }& S
    b: 区块装置文件
    $ H2 A4 ]1 ^  ~* U0 S% }1 y  w5 y+ B7 _0 W
    p: 具名贮列. `7 P* g9 I: x* Z" E
    4 D: i2 |% ]4 O8 v7 h$ z
    f: 一般文件& O! {5 S+ Q, h, c$ _, q! j9 N% j
    0 ]( K8 t3 S7 C* X( ~, ^" H
    l: 符号连结
    ) m% S& s9 h5 Q, @
    , |0 g6 h+ q' S4 A& I# |& {% Fs: socket
    5 u5 Y# u* |' E: Q" p/ X/ C9 J+ a0 U6 r, v( B
    -pid n : process id 是 n 的文件7 K0 O3 Q; [+ a5 \+ [: `6 Y

    9 P* S' |* W% i) K/ J" P  W) @你可以使用 ( ) 将运算式分隔,并使用下列运算。( O/ n9 r) r3 g% |+ M# J% P
    8 t3 }4 Q, h7 @) t3 f
    exp1 -and exp23 D3 Y+ Z$ |0 i% d

    9 u- b2 y  S0 I8 |$ Z! expr3 s6 o0 J4 j$ T3 a# u1 t3 x
    " e# `3 \) b' u$ ?" w& p4 L. S
    -not expr
    ! f/ @5 r: G* B7 A) s9 V3 c) L, {# X5 k
    exp1 -or exp2
    9 R/ [% o. u+ O( e; |6 \8 C
    9 b" s+ `' L+ z; _9 \  }- H  Yexp1, exp2
    - Q0 Z  P- w0 Z$ L! i6 P  Z" d) T' M0 }6 z, l: p1 ~! W
    实例
    3 ^- ~; I1 C9 ~& R4 p6 n) ^3 X将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
    - F! k; E2 R1 S/ V8 ~' y# y! q& z- h  k7 z  y
    # find . -name "*.c"- S8 v0 c; |  M& @2 i
    将目前目录其其下子目录中所有一般文件列出
    - L: @0 p( ~7 ~7 p2 {- v6 }, [' V: a1 W0 F( V6 B
    # find . -type f; |" [' e; ?( Y5 q0 M$ ]& c
    将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
    7 y' N- ~. m+ i9 V5 |
    % J2 i% T; o- [9 F, B& [6 k# find . -ctime -20
    ; n- \1 q5 w2 G* v( @% ~. R查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:
    - E  j6 W* _& f: N+ J
    8 O1 m- P, W/ z8 N) S4 V* M' N# find /var/log -type f -mtime +7 -ok rm {} \;9 n) H# w* Y2 a+ ?/ I" C# |! E1 ?
    查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
    . S! {1 W2 A% V5 @$ ]. ]& L- j2 l8 v. z! [
    # find . -type f -perm 644 -exec ls -l {} \;& m) F$ @$ I. E
    查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:+ y. T, u) i, q* H

    7 n- E9 _% a6 A) @2 D* S# find / -type f -size 0 -exec ls -l {} \;

    该用户从未签到

    4#
    发表于 2021-7-12 13:28 | 只看该作者
    Linux find 命令

    该用户从未签到

    3#
    发表于 2021-7-12 13:27 | 只看该作者
    Linux find 命令

    该用户从未签到

    2#
    发表于 2021-7-12 11:27 | 只看该作者
    Linux find 命令
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 13:32 , Processed in 0.140625 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表