|
|
1.1 ! root 1: .TH FIND 1 "18 January 1983" ! 2: .SH NAME ! 3: find \- find files ! 4: .SH SYNOPSIS ! 5: .B find ! 6: pathname-list expression ! 7: .SH DESCRIPTION ! 8: .I Find ! 9: recursively descends ! 10: the directory hierarchy for ! 11: each pathname in the ! 12: .I pathname-list ! 13: (i.e., one or more pathnames) ! 14: seeking files that match a boolean ! 15: .I expression ! 16: written in the primaries given below. ! 17: In the descriptions, the argument ! 18: .I n ! 19: is used as a decimal integer ! 20: where ! 21: .I +n ! 22: means more than ! 23: .I n, ! 24: .I \-n ! 25: means less than ! 26: .I n ! 27: and ! 28: .I n ! 29: means exactly ! 30: .IR n . ! 31: .TP 10n ! 32: .BR \-name " filename" ! 33: True if the ! 34: .I filename ! 35: argument matches the current file name. ! 36: Normal ! 37: Shell ! 38: argument syntax may be used if escaped (watch out for ! 39: `[', `?' and `*'). ! 40: .TP ! 41: .BR \-perm " onum" ! 42: True if the file permission flags ! 43: exactly ! 44: match the ! 45: octal number ! 46: .I onum ! 47: (see ! 48: .IR chmod (1)). ! 49: If ! 50: .I onum ! 51: is prefixed by a minus sign, ! 52: more flag bits (017777, see ! 53: .IR stat (2)) ! 54: become significant and ! 55: the flags are compared: ! 56: .IR (flags&onum)==onum . ! 57: .TP ! 58: .BR \-type " c" ! 59: True if the type of the file ! 60: is ! 61: .I c, ! 62: where ! 63: .I c ! 64: is ! 65: .B "b, c, d, f" ! 66: or ! 67: .B l ! 68: for ! 69: block special file, character special file, ! 70: directory, plain file, or symbolic link. ! 71: .TP ! 72: .BR \-links " n" ! 73: True if the file has ! 74: .I n ! 75: links. ! 76: .TP ! 77: .BR \-user " uname" ! 78: True if the file belongs to the user ! 79: .I uname ! 80: (login name or numeric user ID). ! 81: .TP ! 82: .BR \-group " gname" ! 83: True if the file belongs to group ! 84: .I gname ! 85: (group name or numeric group ID). ! 86: .TP ! 87: .BR \-size " n" ! 88: True if the file is ! 89: .I n ! 90: blocks long (512 bytes per block). ! 91: .TP ! 92: .BR \-inum " n" ! 93: True if the file has inode number ! 94: .I n. ! 95: .TP ! 96: .BR \-atime " n" ! 97: True if the file has been accessed in ! 98: .I n ! 99: days. ! 100: .TP ! 101: .BR \-mtime " n" ! 102: True if the file has been modified in ! 103: .I n ! 104: days. ! 105: .TP ! 106: .BR \-exec " command" ! 107: True if the executed command returns ! 108: a zero value as exit status. ! 109: The end of the command must be punctuated by an escaped ! 110: semicolon. ! 111: A command argument `{}' is replaced by the ! 112: current pathname. ! 113: .TP ! 114: .BR \-ok " command" ! 115: Like ! 116: .B \-exec ! 117: except that the generated command is written on ! 118: the standard output, then the standard input is read ! 119: and the command executed only upon response ! 120: .BR y . ! 121: .TP ! 122: .B \-print ! 123: Always true; ! 124: causes the current pathname to be printed. ! 125: .TP ! 126: .BR \-newer " file" ! 127: True if ! 128: the current file has been modified more recently than the argument ! 129: .I file. ! 130: .PP ! 131: The primaries may be combined using the following operators ! 132: (in order of decreasing precedence): ! 133: .TP 4 ! 134: 1) ! 135: A parenthesized group of primaries and operators ! 136: (parentheses are special to the Shell and must be escaped). ! 137: .TP 4 ! 138: 2) ! 139: The negation of a primary ! 140: (`!' is the unary ! 141: .I not ! 142: operator). ! 143: .TP 4 ! 144: 3) ! 145: Concatenation of primaries ! 146: (the ! 147: .I and ! 148: operation ! 149: is implied by the juxtaposition of two primaries). ! 150: .TP 4 ! 151: 4) ! 152: Alternation of primaries ! 153: .RB "(`" \-o "' is the" ! 154: .I or ! 155: operator). ! 156: .SH EXAMPLE ! 157: To remove all files named ! 158: `a.out' or `*.o' that have not been accessed for a week: ! 159: .IP "" .2i ! 160: find / \\( \-name a.out \-o \-name '*.o' \\) ! 161: \-atime +7 \-exec rm {} \\; ! 162: .SH FILES ! 163: /etc/passwd ! 164: .br ! 165: /etc/group ! 166: .SH "SEE ALSO" ! 167: sh(1), test(1), fs(5) ! 168: .SH BUGS ! 169: The syntax is painful.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.