: find [path] [options] [actions]
path : find
options : ˻ɼ
actions : ˻ ˻ ϵ ۾ Ұΰ
-. path()
|
˻
|
|
.
|
丮
|
.
|
/
|
ýü
|
/
|
~ID
|
ڰ(ID) Ȩ丮
|
~user1
|
/
|
/ 丮
|
/usr/local
|
-. Options(˻ɼ)
˻ɼ
|
ɼ ǹ
|
-empty
|
ִ (, Ϲ Ǵ Ϲ 丮 )
|
-uid [N]
|
[N]UID
|
-gid [N]
|
[N] GID
|
-group []
|
Ҽӵ
|
-name
|
|
-newer []
|
"" ֱٿ ִ
|
-used [N]
|
ֱ [N] Ŀ ִ
|
-user [uname]
|
[uname] .(UID )
|
-amin [N]
|
ֱ [N] (access) ִ
|
-anewer []
|
"" ֱٿ (access) ִ
|
-atime [N]
|
ֱ [N]*24ð ִ
|
-mmin [N]
|
ֱ [N] ִ
|
-mtime [N]
|
ֱ [N]*24ð ִ
|
-executable
|
|
-readable
|
б
|
-writable
|
|
-fstype [type]
|
ϽýŸ(type) ϴ
|
-nogroup
|
Ҽ ʴ
|
-nouser
|
Ҽ (ID) ʴ
|
-path []
|
ϸ "" ĪǴ
|
-perm []
|
"" ۹̼ǰ ġϴ ۹̼ ϸ ش,
"-perm g=w" ۹̼ 0020ΰ ش.
|
-perm -[]
|
"" ۹̼ "
"-perm -g=w" ڿ ִ ش.
|
-regex []
|
"" ǥĿ ĪǴ
|
-size [n][b,c,w,k,M,G]
|
[n] ũ ϴ .
b(Ʈ), c, w, k, M, G ü
|
-type [Ÿ]
|
ŸԿ شϴ .
b, c, d, p, f, l, s
|
[n] +n n ū ǹϰ, -n n ǹϸ, n Ȯϰ n ǹѴ.
-. Actions(˻ ۾)
ǿɼ
|
|
-delete
|
˻ ϵ
|
-exec [command] ;
|
[command]
|
-exec [command {} +
|
˻ ϵ ʴ Īϸ鼭 [command]
|
-ls
|
˻ ϵ "ls -dils" ѰͰ ·
|
-ok [command] ;
|
-exec ϱ ڿ ǥԷ command Է¹´. Է ٸ command Ѵ.
|
-print
|
˻ ϵ鿡 Ͽ ü η ϸƮ ǥ Ѵ.
|
-printf [format]
|
˻ ϵ鿡 Ͽ format ǥ
|
-. Operators()
findɾ 밡 ڵ̴.
|
ǹ
|
( )
|
ȣ
|
! [expr]
|
[expr] ϶ , ϶
|
-not [expr]
|
"! [expr]" (POSIX ȣȯ)
|
[expr1] [expr2]
|
AND ǹ, [expr1] ϶ [expr2]
|
[expr1] -a [expr2]
|
"[expr1] [expr2]"
|
[expr1] -and [expr2]
|
"[expr1] [expr2]" (POSIXȣȯ)
|
[expr1] -o [expr2]
|
OR ǹ, [expr1] ϰ [expr2] .
|
[expr1] -or [expr2]
|
"[expr1] -o [expr2]" ǹ (but, POSIXȣȯ ƴ)
|
"find / -empty -exec ls -l {} ;" ǹľϱ
find / = ֻ丮(/)
-empty = ũⰡ 0 Ȥ ִ 丮 ˻ϰ
-exec = ˻ ɾ ϰڴ.
ls -l = ls -lɾ
{} = ˻ ϳ ԽŰ 뵵
= escape
; = shell ȣؼ find Ѿ ,
#ɾ ־ִ ";" ׳ ־ָ ȴٰ ϴ° ҵ
ٽѹǮ) find / -empty ؼ ã /data/temp.bak̶ ls -l /data/temp.bak ϰڴٴ ,
ϳ ƴ ٸ ˻ȴٸ ٸ ls -l [˻] ˻ ,
ls -l 丮 ˻ҽ 丮 ؼ total 0 ߱ ִ 丮 θ ˼ , ls -dɼ ־߸ 丮 θ ˼ .
߿1, -execɼ ";" ݵ ־
߿2, ɾ {}(ȣ) (齽) ̴ ݵ
߿3, (齽) ;(ݷ) ̴ , 鵵 ȵ
߿4, -exec ؼ aliasɾ ȵǴµ ϴ.
>> findɾ ϱ <<
-. ũⰡ 0̰ų 丮 ˻ϱ
find / -empty -exec ls -ld {} ;
find / -empty -ls
-. UID ˻ϱ
find / -uid 500 -exec ls -ld {} ;
uid 500 ڰ ˻Ͽ ls-ld
-. UID ƴ ڰ ˻
find / -user youngjae -print
youngjaeڰ ˻Ͽ ǥ·
-. Ư Ȩ丮 Ư ˻ϱ
find ~youngjae -name '*.dat' -exec ls -l {} ;
youngjae Ȩ丮 .dat ã ls -l
-. ˻ ٷ ϱ
find ~youngjae -name '*.bak' -exec rm -f {} ;
youngjae Ȩ丮 .bak
-. ū ϵ ˻ϱ
find / -size +100M -exec ls -lh {} ;
ϻ 100M̻ ˻Ͽ ls -lh
-. ΰ ˻ǰ ġϴ ˻ϱ
find /home ! -user youngjae -and -name '*.dat' -exec ls -l {} ;
/home丮 ϼڰ youngjae ƴ
.dat ˻Ͽ ls -l ϱ
-. ۹̼ ִ ˻ϱ
find / -perm 4755 -exec ls -l {} ;
Ͻý ü SetUID۹̼ǰ 755 ۹̼ ã ls -l
-. ð ϴ ˻ϱ
find /home -mmin -30 -exec ls -ld {} ;
/home丮 ֱ 30л̿ ˻Ͽ ls -ld
, 30 ǹѴ.
ǥõǴ n ؼ
-mmin n = Ȯ n , nк Ե, ũԵ ƴϴ. n ̴.
-mmin -n = ֱ nл̿ ǹѴ. (n ~ )
-mmin +n = n ǹѴ. (ó ~ n)
-. (access)ð ϴ ˻ϱ
find /home -atime +2 -exec ls -ld {} ;
/home丮 2ð Ȥ Ǿ ã ls -ld
-. Ϻ ֱٿ ְų ִ ˻
find /home -anewer /home/youngjae/linux.dat -exec ls -ld {} ;
/home丮 /home/youngjae/linux.dat ð Ǵ Ƚð ֱٿ Ǿų Ǿ ã ls -ld
-. Ư Ÿ ϵ鸸 ˻ϱ
find /home -type l -exec ls -l {} ;
/home丮 ɺũϸ ã ls -l
Ÿ
-type b = ġ(block special file)
-type c = ġ(character special file)
-type d = 丮(directory)
-type p = FIFO(first in first out)
-type f = Ϲ(refular file)
-type l = ɺũ(symbolic link file)
-type s = (socket file)
-. root SetUID, SetGID, StickyBit ˻ϱ
find / -user root -perm 4755 -exec ls -l {} ;
Ͻý ü root SetUID ã ls -l
root SetUID Ȼ ߿ ̴.
ü findɾ ϸ鼭 ذ ȵǴ κ ,
-or ڸ ̿Ͽ 2 ¿ ǿɼ ְ Ǹ
-or ʿ ־ ɼǿ ؼ ǿɼ Ǹ -or ð ƴ..
Ͽ ˾Ƴ 亯
find /home ( -type l -o -user user2 ) -print
/home丮 ɺũϰ user2
ȣ ε...