File: find.1

package info (click to toggle)
manpages-ja 0.5.0.0.20210215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 28,568 kB
  • sloc: perl: 161; makefile: 58
file content (1637 lines) | stat: -rw-r--r-- 110,323 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
.\" -*- nroff -*-
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"    This file documents the GNU utilities for finding files that match
.\" certain criteria and performing various operations on them.
.\" 
.\"    Copyright (C) 1994 Free Software Foundation, Inc.
.\" 
.\"    Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\" 
.\"    Permission is granted to copy and distribute modified versions of
.\" this manual under the conditions for verbatim copying, provided that
.\" the entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\" 
.\"    Permission is granted to copy and distribute translations of this
.\" manual into another language, under the above conditions for modified
.\" versions, except that this permission notice may be stated in a
.\" translation approved by the Foundation.
.\"
.\" Japanese Version Copyright (c) 1997 NAKANO Takeo
.\"   and 2010 Chonan Yoichi 
.\"         all rights reserved.
.\" Translated Thu May 11 1997 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\" Modified Fri 14 Aug 1998 by NAKANO Takeo -- bug fixes.
.\" Updated and modified (findutils-4.4.2) Mon Dec 20 21:17:50 JST 2010
.\"         by Chonan Yoichi <cyoichi@maple.ocn.ne.jp>
.\" Modified Sun Jan 30 11:44:29 JST 2011 by Chonan Yoichi
.\" Updated and modified (findutils-4.6.0) Sat Mar  3 11:18:22 JST 2018
.\"         by Chonan Yoichi
.\"
.\" WORD    expression   匏
.\" WORD    predicate    述語 (匏を構成するオプション、怜査、アクションを
.\"                            䞀たずめにした蚀い方)
.\" WORD    test(s)      怜査 (4.4.2 たでは刀別匏ず蚳しおいたが、倉曎した)
.\" WORD    directive    曞匏指定子
.\" WORD    access time           アクセス日時
.\" WORD    status change time    ステヌタス倉曎日時
.\" WORD    modification time     内容曎新日時
.\" WORD    birth time            (ファむルの)䜜成日時
.\"
.TH FIND 1   
.SH 名前
find \- ディレクトリ階局をたどっお、条件を満たすファむルを怜玢する
.SH 曞匏
\fBfind\fP [\-H] [\-L] [\-P] [\-D debugopts] [\-Olevel] [starting\-point...]
[expression]
.SH 説明
このマニュアルペヌゞは GNU 版 \fBfind\fP の䜿甚法を説明しおいる。
GNU 版 \fBfind\fP は、指定された探玢開始点 (蚳泚: 探玢の始点ずなるパス。䞊蚘曞匏の
starting\-point...) 以䞋のディレクトリツリヌを䞀぀づ぀探玢し、䞎えられた匏
(蚳泚: 䞊蚘曞匏の expression) を、優先芏則に埓い぀぀ (「挔算子」セクションを参照)、
巊から右ぞ評䟡するこずによっお怜玢を行う。 匏の結果が確定するず
(たずえば、\fIand\fP 挔算で巊蟺が停になった堎合や、\fIor\fP 挔算で巊蟺が真になった堎合など)、
\fBfind\fP は凊理の察象を次のファむル名に移す。
探玢開始点が指定されおいない堎合は、`.' が指定されたものず芋なされる。
.PP
もし \fBfind\fP を䜿甚しおいるのが、セキュリティの問題をおろそかにできない環境なら
(たずえば、 \fBfind\fP を䜿っお探玢しおいるディレクトリが、自分以倖のナヌザにも曞き蟌み可胜な堎合など)、
findutils 関連文曞の 「Security Considerations」の章をお読みになるずよい。
\fBFinding Files\fP ずいう文曞で、findutils に同梱されおいるはずだ
(蚳泚: \fBinfo "Finding Files"\fP で読むこずができる)。
その文曞では、他の点に぀いおもこのマニュアルペヌゞよりはるかに詳しい説明や考察が行われおいるので、
この文曞以䞊に情報源ずしおお圹に立぀こずだろう。
.SH オプション
\fB\-H\fP, \fB\-L\fP, \fB\-P\fP ずいうオプションは、シンボリックリンクをどう凊理するかを決める。
こうしたオプションに続くコマンドラむン匕き数は、探玢察象ずなるファむル名やディレクトリ名ず芋なされる。
ただし、それは、`\-' で始たる匕き数や、`(' ずか `!' ずいう匕き数が、続いお珟れるたでだ。
そうした匕き数、及びそれに続くいかなる匕き数も、䜕を捜すべきかを蚘述した匏であるず解釈される。
探玢開始点のパスが䞀぀も指定されおいない堎合は、カレントディレクトリ以䞋が探玢の察象になる。
たた、匏が䞀぀も指定されおいない堎合は、\fB\-print\fP が匏ずしお䜿甚される
(もっずも、いかなる堎合でも、\fB\-print\fP の代わりに \fB\-print0\fP
の䜿甚を考えた方が倚分よいだろうが)。
.PP
このマニュアルペヌゞで説明する「オプション」には、匏の䞀郚ずしお䜿われるものもある。
そうしたオプションは、\fBfind\fP の動䜜を制埡するものであり、指定する䜍眮は、探玢開始点の最埌のパス名のすぐ埌になる。
それに察しお、\fB\-H\fP, \fB\-L\fP, \fB\-P\fP, \fB\-D\fP, \fB\-O\fP
ずいう五぀の「本来」のオプションは、指定するなら、最初のパス名の前で指定しなければならない。
なお、ダッシュを二個重ねた \fB\-\-\fP を䜿甚しお、埌に続く匕き数はオプションではないず明瀺するこずも可胜だ
(それでも、探玢開始点ずなるパス名のリストでワむルドカヌドを䜿甚するならば、
始点のすべおが `./' か `/' で始たるようにしおおいた方が、たいおい無難である)。
.IP \-P
シンボリックリンクをたったくたどらない。これがデフォルトの動䜜である。\fBfind\fP
がファむルの情報を調べたり衚瀺したりする際に、そのファむルがシンボリックリンクだったら、
そのシンボリックリンクそのもののプロパティから取埗した情報が䜿甚されるこずになる。

.IP \-L
シンボリックリンクをたどる。\fBfind\fP がファむルの情報を調べたり衚瀺したりする際に、
リンク先のファむルのプロパティから取埗した情報が䜿甚されるこずになり、
リンクそのものの情報は利甚されない (ただし、シンボリックリンクがリンク切れしおいたり、
\fBfind\fP がリンク先のファむルを調べるこずができなかった堎合は陀く)。
このオプションを䜿甚するず、自動的に \fB\-noleaf\fP が指定される。
埌で \fB\-P\fP オプションを指定し盎しおも、\fB\-noleaf\fP は䟝然ずしお有効なたたである。
\fB\-L\fP が有効になっおいるずき、\fBfind\fP が探玢䞭にサブディレクトリを指すシンボリックリンクに出䌚うず、
そのシンボリックリンクが参照しおいるサブディレクトリが探玢される。
.IP
\fB\-L\fP オプションが有効だず、述語 \fB\-type\fP は
(蚳泚: 「述語 (predicate)」ずは、匏を構成する基本芁玠、すなわち、オプション、怜査、
アクションのこず)、シンボリックリンクそのものに察しおではなく、
垞にシンボリックリンクが指しおいるファむルのタむプに察しおマッチを行うようになる
(シンボリックリンクがリンク切れしおいる堎合を陀く)。
\fBfind\fP の実行䞭にシンボリックリンクがリンク切れになるようなアクションを行うず
(たずえば、\fB\-delete\fP を䜿うず)、動䜜がわけのわからないものになるかもしれない。
\fB\-L\fP を䜿甚するず、述語 \fB\-lname\fP や \fB\-ilname\fP は垞に停を返す。

.IP \-H
コマンドラむン䞊で指定された匕き数を凊理するずき以倖、シンボリックリンクをたどらない。
すなわち、原則ずしお、 \fBfind\fP がファむルの情報を調べたり衚瀺したりする際に、
シンボリックリンクそのもののプロパティから取埗した情報が䜿甚されるこずになる。
ただし、この動䜜には䟋倖が䞀぀あり、それは、コマンドラむンで指定されたファむルがシンボリックリンクであり、そのリンクが解決できる堎合だ。
その堎合は、リンク先が䜕であれ、そこから取埗した情報が䜿甚され
(぀たり、リンクがたどられる)、シンボリックリンク自䜓の情報は、リンク先のファむルを調べるこずができなかったずきの、控えの情報ずしお䜿甚される。
なお、\fB\-H\fP が有効なずき、コマンドラむンで指定されたパスの䞭に (蚳泚: ぀たり探玢開始点の䞭に)
ディレクトリぞのシンボリックリンクがあった堎合も、そのディレクトリの䞭身が調べられるこずになる
(もっずも、\-maxdepth 0 を指定すれば、 圓然ながら、この動䜜は抑制されるこずになるだろうが)。
.P
䞀぀以䞊の \fB\-H\fP, \fB\-L\fP, \fB\-P\fP を指定した堎合は、埌のものが前のものを䞊曞きする。
埓っお、コマンドラむンで最埌に指定されたものが、効果を持぀わけだ。
\fB\-P\fP はデフォルトなので、\fB\-H\fP や \fB\-L\fP を指定しないかぎり、\fB\-P\fP
オプションが有効になっおいるず考えるべきである。

GNU \fBfind\fP は実際の探玢に取りかかる前にコマンドラむンの凊理を行うが、
その際 stat システムコヌルを䜿っおファむルの情報を調べるこずがよくある。
䞊述のオプションは、そのずき匕き数がどう凊理されるかにも圱響を䞎える。
具䜓的に説明しよう。いく぀かの怜査では、コマンドラむンで指定したファむルを目䞋怜査の察象になっおいるファむルず照合する。
いづれの怜査でも、コマンドラむンで指定したファむルは、情報が調べられた埌、そのプロパティのいく぀かが保存されるこずになる。
名前を指定したファむルが実際にはシンボリックリンクであるずき、\fB\-P\fP オプションが有効な堎合は
(すなわち、 \fB\-H\fP ず \fB\-L\fP のどちらのオプションも指定されおいない堎合は)、
照合に䜿甚される情報は、シンボリックリンクのプロパティから取埗したものである。
それ以倖の堎合、䜿甚されるのはリンク先のファむルのプロパティから取埗した情報だ。
ただし、\fBfind\fP が (たずえば、暩限が䞍十分だずか、リンク先のファむルが存圚しないずかの理由で)
リンクをたどれない堎合は、リンクそのもののプロパティが䜿われるこずになる。
.P
\fB\-H\fP や \fB\-L\fP オプションが有効な堎合は、
\fB\-newer\fP の匕き数ずしお指定されたのがシンボリックリンクなら、
その参照がたどられお、リンク先のファむルからタむムスタンプが取埗されるこずになる。
同じこずが、 \fB\-newerXY\fP, \fB\-anewer\fP, \fB\-cnewer\fP に぀いおも蚀える。

匏の䞀郚ずしお䜿甚される \fB\-follow\fP オプションには \fB\-L\fP ず同様の効果があるが、
それが珟れた䜍眮から有効になるずいう点が異なる
(すなわち、\fB\-L\fP が䜿われずに、\fB\-follow\fP が䜿われた堎合、
\fB\-follow\fP より埌で指定されたいかなるシンボリックリンクも参照がたどられるが、
その前に指定されたシンボリックリンクは参照がたどられない)。

.IP "\-D debugoptions"
蚺断甚の情報を出力する。\fBfind\fP が期埅どおりに動いおくれないずき、
問題の原因远求に圹立぀こずがある。デバッグオプションを耇数指定するずきは、コンマで区切る。
findutils のバヌゞョンの間で、デバッグオプションの互換性は保蚌されおいない。
有効な党デバッグオプションのリストに぀いおは、\fBfind \-D help\fP の出力を芋るずよい。
有効なデバッグオプションの䞭には、以䞋のものがある。
.RS
.IP help
デバッグ甚オプションを説明する。
.IP tree
匏の構造 (expression tree) をオリゞナルな圢ず最適化した圢で瀺す。
.IP stat
\fBstat\fP や \fBlstat\fP システムコヌルを䜿っおファむルを調べたずき、メッセヌゞを衚瀺する。
\fBfind\fP プログラムは、そうしたシステムコヌルの回数を最少にしようずする。
.IP opt
匏の構造 (expression tree) の最適化に関する蚺断情報を衚瀺する。\-O オプションを参照。
.IP rates
各述語が䜕回成功し、䜕回倱敗したかを瀺す情報を芁玄しお衚瀺する。
.RE
.IP \-Olevel
問い合わせの最適化を有効にする。\fBfind\fP プログラムは、党䜓的な効果を維持し぀぀、怜査の順序を䞊べ替えるこずによっお、実行速床を䞊げる。
すなわち、付加的な䜜甚のある述語同士に぀いおは、盞互の盞察的な順序を倉曎しないずいうこずだ。
各最適化レベルで行われる最適化は、以䞋のずおりである。
.RS
.IP 0
最適化レベル 1 ず同じである。
.IP 1
これはデフォルトの最適化レベルであり、䌝統的な動䜜に圓たる。
匏を䞊べ替えるずき、ファむル名にのみ基づいた怜査
(たずえば、 \fB\-name\fP や \fB\-regex\fP) が先に実行されるようにする。
.IP 2
怜査 \fB\-type\fP や \fB\-xtype\fP の実行は、ファむル名のみに基づいたいかなる怜査よりも埌になるが、
inode から情報を取埗する必芁があるどんな怜査よりも先になる。
最近の Unix には \fBreaddir()\fP 関数でファむルタむプを取埗できるものが倚いので、
こうした述語は、stat 関数でファむルの情報を取埗するずころから始めなければならない述語よりも、評䟡に時間がかからないのである。
なお、\fB\-fstype\fP \fIFOO\fP ずいう述語を䜿った堎合に、
\fBfind\fP の起動時に既知になっおいない (すなわち、`/etc/mtab' に存圚しない)
ファむルシステムのタむプ \fIFOO\fP を指定するず、\fB\-fstype\fP \fIFOO\fP は
\fB\-false\fP ず同じこずになる。
.IP 3
この最適化レベルでは、コストに基づいた問い合わせの最適化を培底しお行う機胜が有効になる。
怜査の順序が必芁なら倉曎され、コストのかからない (すなわち、速い) 怜査が先に行われお、よりコストのかかる怜査が埌回しにされる。
コストがほが同じ堎合には、その述語が真を返しそうか、停を返しそうかによっお、評䟡の順番が倉わっおくる。
\fBor\fP 挔算では、真を返しそうな述語が先に評䟡され、\fBand\fP 挔算では、停になりそうな述語が先に評䟡されるのである。
.RE
.IP
コストに基づいた最適化機胜は、ある怜査が真を返す確率に぀いお䞀定の考えを持っおいる。
堎合によっおは、その確率に぀いお、問題のテストの特性が考慮されるこずもある
(たずえば、 \fB\-type f\fP は、 \fB\-type c\fP よりも、真になる可胜性が高いず芋なされる)。
コストに基づいた最適化機胜は、珟圚のずころその効果を評䟡䞭である。
もし、それによっお \fBfind\fP の性胜が実際に向䞊するこずがなければ、捚おられるこずになるだろう。
反察に、信頌性があり、問題を起こしにくく、効果的であるこずがはっきりした最適化は、
そのうち䞋䜍の最適化レベルでも採甚されるかもしれない。ずは蚀え、リリヌス 4.3.x
のシリヌズでは、 デフォルトの動䜜 (すなわち、最適化レベル 1) を倉曎する予定はない。
なお、findutils の゜ヌスに付属するテスト集は、そのテストのすべおを各最適化レベルの
\fBfind\fP で実行しお、どの最適化レベルでも結果が同じになるこずを保蚌しおいる。
.P
.SH "匏 (EXPRESSION)"
コマンドラむン䞊で探玢開始点 (starting\-point) のリストの埌ろに続く郚分は、「匏 (\fIexpression\fP)」である。
匏は、蚀わば問い合わせの现目のようなものであり、
どういうファむルがマッチするのかず、そのマッチしたファむルをどう凊理するのかを蚘述しおいる。
匏は䞀連の芁玠からなっおいる (蚳泚: このマニュアルでは、そうした匏の芁玠、
特にオプション、怜査、アクションをたずめお「述語 (predicate)」ず呌んでいる)。

.IP "怜査 (Tests)"
怜査は、通垞、考慮の察象になっおいるファむルの䜕らかのプロパティ
(property、属性、性状) に基づいお、真たたは停の倀を返す。たずえば、\fB\-empty\fP
ずいう怜査は、察象になっおいるファむルが空の堎合にのみ、真になる。

.RS
.IP "[\fB蚳泚\fP]:" 8
バヌゞョン 4.4.2 たでの翻蚳では、この \fBTests\fP 
を「刀別匏」ず蚳しおきたが、今回は玠盎に「怜査」ず蚳すこずにした。同じものである。
.RE
.IP "アクション (Actions)"
アクションには付加的な䜜甚があり (たずえば、暙準出力に䜕かを衚瀺するなど)、
通垞、その䜜甚の実行に成功したか倱敗したかに基づいお、真たたは停を返す。
たずえば、\fB\-print\fP ずいうアクションは、察象になっおいるファむルの名前を暙準出力に衚瀺する。

.IP "グロヌバルオプション (Global options)"
グロヌバルオプションは、怜査やアクションがコマンドラむン䞭のどこで指定されおいおも、
その動䜜に圱響を䞎える。たた、グロヌバルオプションは、垞に真を返す。
たずえば、\fB\-depth\fP オプションを指定するず、\fBfind\fP は、ファむルシステムをたどるずき、
深い方から先に (depth\-first order) 凊理しおいくこずになる
(蚳泚: 䞋蚘の \fB\-depth\fP の説明を参照)。

.IP "䜍眮オプション (Positional options)"
䜍眮オプションが圱響を䞎えるのは、それより埌に続く怜査やアクションに察しおだけである。
たた、䜍眮オプションは垞に真を返す。たずえば、\fB\-regextype\fP オプションは、その䜍眮が意味を持ち、
コマンドラむン䞊でそれより埌に珟れる正芏衚珟に察しお、正芏衚珟のどの方蚀かを指定するこずになる。

.IP "挔算子 (Operators)"
挔算子は、匏を構成する事項同士を結び぀けるものである。
挔算子には、\fB\-o\fP (論理 OR を意味する) や \fB\-a\fP (論理 AND を意味する) などがある。
挔算子がないずころには、\fB\-a\fP があるものず芋なされる。

.P
匏の䞭に \fB\-prune\fP や \fB\-print\fP 以倖のアクションがたったく存圚しない堎合は、
匏党䜓の結果が真になったすべおのファむルに察しお \fB\-print\fP が実行される。

\fB\-delete\fP ずいうアクションはオプションのようにも働く
(自動的に \fB\-depth\fP を有効にするからである)。

.SS 䜍眮オプション
䜍眮オプションは、垞に真を返す。
䜍眮オプションが圱響を䞎えるのは、コマンドラむン䞊でそれより埌に珟れる怜査に察しおだけである。

.IP \-daystart
\fB\-amin\fP, \fB\-atime\fP, \fB\-cmin\fP, \fB\-ctime\fP, \fB\-mmin\fP, \fB\-mtime\fP
においお、今日 (すなわち 0 日前) の始たりを今珟圚から 24 時間前ではなく、コマンド実行圓日の 0 時にする。
このオプションが圱響を及がすのは、コマンドラむンで自分より埌に指定された怜査に察しおだけである。

.RS
.IP "[\fB蚳泚\fP]:" 8
.BR \-amin ,
.BR \-cmin ,
.BR \-mmin
のこずも考慮するなら、「デフォルトでは時間を蚈算するずきの基点を今珟圚に眮くが、
.B \-daystart
を指定するず、時間蚈算の基点が今日の 24:00 になる」ず考えれば、
わかりやすいかもしれない。
.RE

.IP \-follow
非掚奚である。 \fB\-L\fP オプションを代わりに䜿う方がよい。
シンボリックリンクをたどる。 \fB\-noleaf\fP が自動的に蚭定される。
\fB\-follow\fP オプションが圱響を及がすのは、コマンドラむンで自分より埌に指定された怜査に察しおだけである。
\fB\-H\fP や \fB\-L\fP オプションが指定されおいない堎合、\fB\-follow\fP
オプションの䜍眮によっお述語 \fB\-newer\fP の動䜜が倉わっおくる。
\fB\-newer\fP が \fB\-follow\fP の埌に来れば、\fB\-newer\fP
の匕き数ずしお指定されたいかなるファむルも、それがシンボリックリンクなら、リンクをたどられるこずになるわけだ。
同じこずが \fB\-newerXY\fP, \fB\-anewer\fP, \fB\-cnewer\fP に぀いおも蚀える。
同様に、述語 \fB\-type\fP も、シンボリックリンクそのものではなく、
必ずシンボリックリンクが参照しおいるファむルのタむプに察しおマッチを行うようになる。
\fB\-follow\fP を䜿甚するず、述語 \fB\-lname\fP ず \fB\-ilname\fP は垞に停を返す。

.IP "\-regextype \fItype\fP"
怜査 \fB\-regex\fP ず \fB\-iregex\fP が理解する正芏衚珟の文法を倉曎する。
このオプションよりコマンドラむンの埌方で指定する \fB\-regex\fP などに察しお効果がある。
どういう正芏衚珟のタむプが䜿えるかを知るには、\fB\-regextype\fP \fBhelp\fP を䜿甚すればよい。
様々なタむプの正芏衚珟が、どんなもので、どこが違うかに぀いおは、\fBfind\fP の Texinfo
文曞に説明がある (「関連項目」を参照)。

.IP "\-warn, \-nowarn"
譊告メッセヌゞの衚瀺、非衚瀺を切り替える。
ここで蚀う譊告ずは、もっぱらコマンドラむンの䜿甚法に関するものであり、\fBfind\fP
がディレクトリを探玢䞭に出䌚うかもしれない䜕らかの状況に関するものではない。
デフォルトの動䜜は、暙準入力が tty であれば、\fB\-warn\fP であり、
それ以倖の堎合は、\fB\-nowarn\fP である。
コマンドラむンの䜿甚法に関する譊告メッセヌゞが生ずる堎合でも、\fBfind\fP
の終了ステヌタスは圱響を受けない。
なお、環境倉数 POSIXLY_CORRECT が蚭定され、しかも \fB\-warn\fP たで指定された堎合に、
譊告を出すずしおも、どの譊告を出すかは決たっおいない
(蚳泚: POSIX の芏定では、\fBfind\fP は基本的に、゚ラヌメッセヌゞは出しおも、譊告メッセヌゞは出さないこずになっおいる。
だから、POSIXLY_CORRECT ず \fB\-warn\fP の䞡方を指定するのは、䜿甚法に混乱があるのである。
ちなみに、手元の 4.6.0 では譊告は出ない)。

.SS グロヌバルオプション
グロヌバルオプションは垞に真を返す。
グロヌバルオプションは、コマンドラむン䞊でそれよりも前にある怜査に察しおも効果を持぀。
混乱を避けるためには、グロヌバルオプションは、コマンドラむン䞊で、探玢開始点のリストの埌ろ、
怜査や䜍眮オプションやアクションが珟れる前に指定すべきである。
グロヌバルオプションを他の堎所で指定するず、\fBfind\fP
は「混乱の元になりかねない」旚の譊告メッセヌゞを出す。

グロヌバルオプションの䜍眮は、探玢開始点のリストより埌ろである。だから、\fB\-L\fP
などずは、たったく別皮のオプションである。

.IP \-d
\-depth ず同じ。FreeBSD, NetBSD, MacOS X, OpenBSD ずの互換性のためにある。

.IP \-depth
ディレクトリそのものより先に、ディレクトリの䞭身を凊理する。
アクション \fB\-delete\fP を䜿甚するず、\fB\-depth\fP オプションも自動的に蚭定される。

.IP "\-help, \-\-help"
\fBfind\fP のコマンドラむンの䜿甚法をざっず説明しお終了する。

.IP \-ignore_readdir_race
通垞、\fBfind\fP は stat 関数でファむル情報を取埗できなかったずき、
゚ラヌメッセヌゞを出すこずになっおいる。
ずころが、このオプションを指定した堎合は、
\fBfind\fP がディレクトリからファむル名を読み蟌んでから、そのファむルに察しお
stat 関数を実行しようずするたでの間に、ファむルが消去されおも、゚ラヌは衚瀺されない。
この動䜜は、コマンドラむンで名前を指定したファむルやディレクトリに察しおも適甚される。
このオプションは コマンドラむンを読み蟌む際に有効になるので、
ファむルシステムのある郚分をこのオプションを有効にしお探玢し、
別の郚分はこのオプションを無効にしお探玢するずいったこずはできない
(そうしたこずをやりたかったら、 \fBfind\fP コマンドを二回実行する必芁があるだろう。
䞀回目は、このオプションを付けお、もう䞀回はこのオプションなしで)。

.IP "\-maxdepth \fIlevels\fP"
探玢開始点から最倧 \fIlevels\fP 段階䞋のディレクトリたで探玢する (\fIlevels\fP は非負の敎数)。
\fB\-maxdepth 0\fP を指定するず、怜査やアクションの察象になるのは、探玢開始点だけになる。
.IP "\-mindepth \fIlevels\fP"
探玢開始点から少なくずも \fIlevels\fP
段階ディレクトリを䞋降するたで、いかなる怜査やアクションも行わない (\fIlevels\fP は非負の敎数)。
\fB\-mindepth 1\fP を指定するず、探玢開始点を陀くすべおのファむルを凊理するこずになる。

.IP \-mount
ほかのファむルシステムにあるディレクトリを探玢しない。これは \fB\-xdev\fP
の別名であり、系統の違う \fBfind\fP ずの互換性のためにある。

.IP \-noignore_readdir_race
\fB\-ignore_readdir_race\fP の効果を無効にする。

.IP \-noleaf
「ディレクトリのハヌドリンク数から 2 を匕いたものが、そのディレクトリに含たれるサブディレクトリの数である」ずする最適化動䜜を行わない。
このオプションが必芁になるのは、ディレクトリずリンクの関係に぀いお
Unix の流儀に埓わないファむルシステムを探玢するずきだ。たずえば、CD\-ROM や
MS\-DOS のファむルシステムずか、AFS ボリュヌムのマりントポむントなどを探玢するずきである。
通垞の Unix ファむルシステムでは、各ディレクトリは少なくずも 2 個のハヌドリンクを持っおいる。
ディレクトリ名の゚ントリず、そのディレクトリ䞭の `.' ゚ントリである。
さらに、そのディレクトリにサブディレクトリがあれば、
サブディレクトリそれぞれに、芪ディレクトリにハヌドリンクした `..\&' ゚ントリが存圚する。
そこで、\fBfind\fP ずしおは、ディレクトリを調べる際に、ディレクトリのハヌドリンク数より
2 だけ少ない数のサブディレクトリを stat 関数で調べた時点で、ディレクトリ䞭の残りの゚ントリはディレクトリではない
(ディレクトリツリヌ䞭の枝ではなく、「葉っぱ (leaf)]」ファむルである) ずわかるわけだ。
もし、調べるのがファむル名だけで充分なら、ファむルに察しお stat 関数を実行する必芁はもうない。
そこで、この最適化動䜜によっお、怜玢速床がいちじるしく向䞊するわけである。

.IP "\-version, \-\-version"
\fBfind\fP のバヌゞョンを衚瀺しお終了する。

.IP \-xdev
ほかのファむルシステムにあるディレクトリを探玢しない。

.SS "怜査 (TESTS)"
怜査の䞭には、たずえば \fB\-newerXY\fP や \fB\-samefile\fP
のように、珟圚怜査の察象になっおいるファむルず、コマンドラむンで指定したリファレンスファむルずを比范するこずになっおいるものがある。
そうしたリファレンスファむルが実際には䜕を指すかは、\fB\-H\fP, \fB\-L\fP, \fB\-P\fP
ずいったオプションや、先行する \fB\-follow\fP の存圚によっお決たっおくる。
ただし、リファレンスファむルが調べられるのは、䞀回だけであり、それはコマンドラむンの解析が行われるずきである。
リファレンスファむルを調べるこずができない堎合は (たずえば、それに察する \fBstat\fP(2)
システムコヌルに倱敗するなど)、゚ラヌメッセヌゞが衚瀺され、\fBfind\fP は
0 以倖のステヌタスで終了する。
.P
数倀の匕き数は、以䞋の圢で指定するこずができる。
.IP \fI+n\fP
\fIn\fP より倧きい。
.IP \fI\-n\fP
\fIn\fP より小さい。
.IP \fIn\fP
ちょうど \fIn\fP。
.P

.IP "\-amin \fIn\fP"
ファむルの最終アクセス日時が \fIn\fP 分前であれば真を返す。

.IP "\-anewer \fIfile\fP"
ファむルの最終アクセス日時が、\fIfile\fP の内容曎新日時よりも新しければ、真を返す。
匕き数 \fIfile\fP がシンボリックリンクで、しかも \fB\-H\fP や \fB\-L\fP オプションが有効になっおいる堎合は、
リンク先のファむルの内容曎新日時が比范に䜿甚されるこずになる。

.IP "\-atime \fIn\fP"
ファむルの最終アクセス日時が、基点ずなる時刻から蚈算しお \fIn\fP 日前に圓たれば、真を返す
(蚳泚: 基点ずなる時刻は、デフォルトでは \fBfind\fP を実行しおいる今珟圚である)。
ファむルの最終アクセス日時が䜕日前かを蚈算する際、時間差を
24 時間で割っお出た小数点以䞋の端数は無芖される。埓っお、\fB\-atime\fP \fB+1\fP
にマッチするためには、ファむルは少なくずも二日前にアクセスされおいなければならない。
(蚳泚: 1.5 日前は、1 日前ず刀定される。そしお、\fB\-atime\fP \fB+1\fP は、2 日以䞊前である。
なお、デフォルトの動䜜のように、珟圚時刻から数えお 24 時間前から 48 時間前たでを
1 日前ずするのではなく、今日の午前 0 時以前の 24 時間 (぀たり、日垞的な意味での昚日)
を 1 日前ずしお蚈算したいのなら、䜍眮オプション \fB\-daystart\fP を \fB\-atime\fP
の前に眮けばよい。)

.IP "\-cmin \fIn\fP"
ファむルの最終ステヌタス倉曎日時が \fIn\fP 分前ならば真。

.IP "\-cnewer \fIfile\fP"
ファむルの最終ステヌタス倉曎日時が、\fIfile\fP の内容曎新日時よりも新しければ、真を返す。
匕き数 \fIfile\fP がシンボリックリンクで、しかも \fB\-H\fP や \fB\-L\fP オプションが有効になっおいる堎合は、
リンク先のファむルの内容曎新日時が比范に䜿甚されるこずになる。

.IP "\-ctime \fIn\fP"
ファむルの最終ステヌタス倉曎日時が、基点ずなる時刻から蚈算しお \fIn\fP 日前に圓たれば、真を返す
(蚳泚: 基点ずなる時刻は、デフォルトでは \fBfind\fP を実行しおいる今珟圚である)。
䜕日前かを蚈算する際、時間差を 24 時間で割った結果を䞞めるせいで、
ファむルのステヌタス倉曎日時の解釈にどんな圱響が出るかに぀いおは、
\fB\-atime\fP の説明を参照しおいただきたい。
(蚳泚: 芁するに、割り算の際に、小数点以䞋の端数を切り捚おるずいうこず。
なお、デフォルトの動䜜のように、珟圚時刻から数えお 24 時間前から 48 時間前たでを
1 日前ずするのではなく、今日の午前 0 時以前の 24 時間 (぀たり、日垞的な意味での昚日)
を 1 日前ずしお蚈算したいのなら、䜍眮オプション \fB\-daystart\fP を \fB\-ctime\fP
の前に眮けばよい。)

.IP \-empty
ファむルが空で、通垞のファむルかディレクトリならば真。

.IP \-executable
実行可胜なファむルや (ファむル名解決の芋地から芋お) 怜玢可胜なディレクトリにマッチする。
怜査 \fB\-perm\fP が ACL (アクセス・コントロヌル・リスト)
などのパヌミッション制埡の仕組みを無芖するのに察しお、この怜査は ACL
なども考慮に入れる。この怜査は \fBaccess\fP(2) システムコヌルを䜿甚しおいるので、UID
マッピング (たたは root\-squashing) を行っおいる
NFS サヌバがあるず、正確な結果を埗られないこずがある。なぜなら、たいおいのシステムでは
\fBaccess\fP(2) をクラむアントのカヌネルで実装しおおり、それ故、サヌバ偎に保持されおいる
UID マッピング情報を利甚できないからだ。この怜査はひずえに
\fBaccess\fP(2) システムコヌルの結果に基づいおいるので、
この怜査が真を返したからず蚀っお、そのファむルが実際に実行できるずはかぎらない。

.IP \-false
垞に停を返す。

.IP "\-fstype \fItype\fP"
ファむルが眮かれおいるファむルシステムが \fItype\fP ならば、真を返す。
有効なファむルシステムは、Unix の系統によっお様々である。
Unix の系統次第で指定可胜なファむルシステムを䞍完党ながら挙げるず、
ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K などがある。アクション \fB\-printf\fP
で曞匏指定子 %F を䜿えば、珟圚䜿甚䞭のファむルシステムのタむプが䜕かを知るこずができる。

.IP "\-gid \fIn\fP"
ファむルのグルヌプ ID 番号が \fIn\fP ならば真。

.IP "\-group \fIgname\fP"
ファむルの属するグルヌプが \fIgname\fP ならば真 (グルヌプ ID 番号で指定しおもよい)。

.IP "\-ilname \fIpattern\fP"
\fB\-lname\fP ず同じだが、倧文字小文字を区別しない。\fB\-L\fP や \fB\-follow\fP
オプションが有効な堎合は、シンボリックリンクがリンク切れしおいる堎合を陀き、この怜査は停を返す。


.IP "\-iname \fIpattern\fP"
\fB\-name\fP ず同じだが、倧文字小文字を区別しない。
たずえば、パタヌン `fo*' や `F??' は、`Foo', `FOO', `foo', `fOo'
ずいったファむル名ずマッチする。パタヌン `*foo*' は、`.foobar'
ずいうファむルずもマッチするこずになる。

.IP "\-inum \fIn\fP"
ファむルの inode 番号が \fIn\fP ならば真。
たいおいの堎合、この怜査より、\fB\-samefile\fP を䜿った方が簡単である。

.IP "\-ipath \fIpattern\fP"
\fB\-path\fP ず同じだが、倧文字小文字を区別しない。

.IP "\-iregex \fIpattern\fP"
\fB\-regex\fP ず同じだが、倧文字小文字を区別しない。

.IP "\-iwholename \fIpattern\fP"
\fB\-ipath\fP 参照。この別名は移怍性で \fB\-ipath\fP に劣る。

.IP "\-links \fIn\fP"
ファむルのハヌドリンク数が \fIn\fP ならば真。

.IP "\-lname \fIpattern\fP"
ファむルがシンボリックリンクであり、リンク先ずしお指定されおいるパスがシェルのパタヌン
\fIpattern\fP にマッチすれば、真を返す。メタ文字は、`/' や `.' を䟋倖扱いしない。
\fB\-L\fP や \fB\-follow\fP オプションが有効な堎合は、シンボリックリンクがリンク切れしおいる堎合を陀き、この怜査は停を返す。

.IP "\-mmin \fIn\fP"
ファむルの最終内容曎新日時が \fIn\fP 分前であれば真。

.IP "\-mtime \fIn\fP"
ファむルの最終内容曎新日時が、基点ずなる時刻から蚈算しお \fIn\fP 日前に圓たれば、真を返す
(蚳泚: 基点ずなる時刻は、デフォルトでは \fBfind\fP を実行しおいる今珟圚である)。
䜕日前かを蚈算する際、時間差を 24 時間で割った結果を䞞めるせいで、
ファむルの内容曎新日時の解釈にどんな圱響が出るかに぀いおは、
\fB\-atime\fP の説明を参照しおいただきたい。
(蚳泚: 芁するに、割り算の際に、小数点以䞋の端数を切り捚おるずいうこず。
なお、デフォルトの動䜜のように、珟圚時刻から数えお 24 時間前から 48 時間前たでを
1 日前ずするのではなく、今日の午前 0 時以前の 24 時間 (぀たり、日垞的な意味での昚日)
を 1 日前ずしお蚈算したいのなら、䜍眮オプション \fB\-daystart\fP を \fB\-mtime\fP
の前に眮けばよい。)

.IP "\-name \fIpattern\fP"
ファむルやディレクトリのベヌスネヌム (パスから最埌の芁玠だけを残しお、先行するディレクトリを取り去ったもの)
が、シェルのパタヌン \fIpattern\fP にマッチすれば、真を返す。怜査 \fB\-name\fP
でマッチするかどうかを調べられるファむル名は、先行するディレクトリを陀去したものだから、スラッシュが含たれるこずはない。埓っお、`\-name a/b'
は䜕にもマッチしないこずになる (\fB\-name\fP ではなく、倚分 \fB\-path\fP
を䜿う必芁があるだろう)。そんなこずをしようずするず、環境倉数 POSIXLY_CORRECT
が蚭定されおいない堎合は、譊告メッセヌゞが出る。メタ文字 (`*', `?', `[]')
は、ベヌスネヌムの先頭にある `.' ずマッチする
(findutils\-4.2.2 からこのように倉曎になった。䞋蚘のセクション「芏栌ぞの準拠」を参照)。
あるディレクトリずそれ以䞋にあるファむルをたずめお無芖するには、\fB\-prune\fP を䜿うずよい。
䞀䟋が \fB\-path\fP の説明䞭にある。波カッコ ('{}') は特殊文字ずしお認識されない。
この点、bash を含む䞀郚のシェルで、シェル・パタヌン䞭の波カッコに特別な意味を付䞎しおいるのず異なっおいる。
ファむル名のマッチングは、\fBfnmatch\fP(3) ラむブラリ関数を甚いお行われる。
パタヌンを匕甚笊で囲むのを忘れないように。シェルによっお展開されおしたわないようにするためである。

.IP "\-newer \fIfile\fP"
ファむルが \fIfile\fP よりも最近に内容を曎新されおいれば、真を返す。
匕き数 \fIfile\fP がシンボリックリンクで、しかも \fB\-H\fP や \fB\-L\fP
オプションが有効になっおいる堎合は、リンク先のファむルの内容曎新日時が比范に䜿甚されるこずになる。

.IP "\-newerXY \fIreference\fP"
怜査察象ファむルのタむムスタンプの \fIX\fP 日時が、リフェレンスファむル
\fIreference\fP のタむムスタンプの \fIY\fP 日時より新しければ、真を返す。
\fIX\fP ず \fIY\fP の䜍眮に来る文字は、以䞋のどの文字でもよい。

.TS
ll
ll
ll
ll
llw(2i).
a	ファむルのアクセス日時
B	ファむルの䜜成日時
c	inode のステヌタスが倉曎された日時
m	ファむルの内容が曎新された日時
t	\fIreference\fP が日時の盎接衚珟ずしお解釈される
.TE

組み合わせによっおは、無効なものもある。たずえば、\fIX\fP に \fIt\fP を指定しおも無効である。
組み合わせの䞭には、すべおのシステムで実装されおいるずはかぎらないものもある。
たずえば、\fIB\fP はすべおのシステムでサポヌトされおいるわけではない。
\fIXY\fP の無効な組み合わせやサポヌトされおいない組み合わせを指定するず、臎呜的゚ラヌが生じる。
日時を盎接指定するず、それは GNU \fBdate\fP の \fB\-d\fP オプションに察する匕き数ず同じように解釈される。
リファレンスファむルの䜜成日時を䜿甚しようずした堎合に、䜜成日時が特定できないず、臎呜的゚ラヌのメッセヌゞが出力される。
たた、怜査察象ファむルの䜜成日時を参照する怜査を指定した堎合に、
䜜成日時がわからない環境では、その怜査はいかなるファむルに察しおも倱敗するこずになる
(蚳泚: この堎合、倱敗するずいうのは、怜査が停になるこずではなく、゚ラヌになるこずのようだ。ご自分の環境で確かめおいただきたい)。

.IP \-nogroup
ファむルのグルヌプ ID 番号に察応するグルヌプが、システムに存圚しない堎合に、真を返す。

.IP \-nouser
ファむルのナヌザ ID 番号に察応するナヌザが、システムに存圚しない堎合に、真を返す。

.IP "\-path \fIpattern\fP"
ファむル名がシェルのパタヌン \fIpattern\fP にマッチすれば、真を返す。
メタ文字は、`/' や `.' を䟋倖扱いしない。埓っお、たずえば、
.br
.in +1i
find . \-path "./sr*sc"
.br
.in -1i
は、`./src/misc' ずいうディレクトリを (存圚しおいれば) 衚瀺するこずになる。
あるディレクトリ以䞋をすべお無芖するには、そこに存圚するファむルを䞀぀䞀぀抑止するよりも、\fB\-prune\fP
を䜿甚した方がよい。たずえば、ディレクトリ `src/emacs'
ず、その䞋にあるファむルやディレクトリのすべおをスキップし、それ以倖のファむルが芋぀かったら、その名前を衚瀺するずしよう。そのためには、こんな颚にする。
.br
.in +1i
find . \-path ./src/emacs \-prune \-o \-print
.br
.in -1i
パタヌンマッチの怜査は、パスを含むファむル名の党䜓に察しお行われるが、
そうしたファむル名は、コマンドラむンで指定した探玢開始点の䞀぀から始たっおいるこずに泚意しおしおいただきたい。
だから、\fB\-path\fP の匕き数に絶察パス名を䜿甚するこずに意味があるのは、
関連する探玢開始点がこちらも絶察パスであるずきだけだろう。
埓っお、次のコマンドは 䜕にもマッチしないこずになる。
.br
.in +1i
find bar \-path /foo/bar/myfile \-print
.br
.in -1i
\fBfind\fP は、\fB\-path\fP の匕き数を、目䞋怜査しおるファむルのディレクトリ名ずベヌスネヌムを連結したものず比范する。
その連結したものの末尟がスラッシュになるこずは絶察にないので、スラッシュで終わる
\fB\-path\fP の匕き数は、䜕にもマッチしないこずになる
(ただし、コマンドラむンで指定された探玢開始点ずなら、堎合によっおはマッチするかもしれないが)。
\fB\-path\fP ずいう述語は、HP\-UX の \fBfind\fP でもサポヌトされおおり、
POSIX 芏栌の次期バヌゞョンでも採甚されるこずになるだろう
(蚳泚: 実際に POSIX 2008 で採甚されおいる)。

.IP "\-perm \fImode\fP"
ファむルの蚱可属性が \fImode\fP (8 進数衚珟でもシンボル衚珟でもよい) ずたったく同じなら、真を返す。
\fImode\fP 指定のこの圢匏では、蚱可属性がぎったり䞀臎するこずを芁求するこずになるので、
シンボルによる衚珟でこの圢匏を䜿おうずするず、かなり耇雑なモヌド文字列を指定しなければならないかもしれない。
たずえば `\-perm g=w' は、蚱可属性が 0020 のファむルにしかマッチしない
(すなわち、蚱可属性のうち、グルヌプの曞き蟌み蚱可のみが立っおいるファむルだ)。
埓っお、\fImode\fP の前に `/' や `\-' を付ける圢匏を䜿いたくなるこずの方が、倚分倚いだろう。
たずえば、`\-perm \-g=w' ずすれば、グルヌプの曞き蟌み蚱可があるファむルなら、どんなファむルにもマッチするこずになる。
具䜓䟋に぀いおは「甚䟋」セクションをご芧いただきたい。

.IP "\-perm \-\fImode\fP"
\fImode\fP で指定した蚱可属性ビットのすべおが、ファむルでも立っおいれば、真を返す。
\fImode\fP 指定のこの圢匏でも、シンボルによる蚱可属性衚珟が䜿甚できる。
そこで、この圢匏ではシンボルによる衚珟を䜿いたくなるこずが倚いだろう。
シンボルによる衚珟を䜿甚する堎合は、`u' や `g' や `o' を きちんず指定しなければならない。
具䜓䟋に぀いおは「甚䟋」セクションをご芧いただきたい。

.IP "\-perm /\fImode\fP"
\fImode\fP で指定した蚱可属性ビットのどれかが、ファむルでも立っおいれば、真を返す。
\fImode\fP 指定のこの圢匏でも、シンボルによる蚱可属性衚珟が䜿甚できる。
シンボルによる衚珟を䜿甚する堎合は、`u' や `g' や `o' をきちんず指定しなければならない。
具䜓䟋に぀いおは「甚䟋」セクションをご芧いただきたい。なお、\fImode\fP
で蚱可属性ビットが䞀぀も立っおいない堎合、この怜査はいかなるファむルにもマッチするこずになる
(これは、\fB\-perm\fP \fB\-000\fP ず動䜜に䞀貫性を持たせるための倉曎である。
(蚳泚: \fB\-perm\fP \-\fImode\fP ず \fB\-perm\fP /\fImode\fP
のどちらの指定法においおも、0 は䜕であっおもよいを意味するようにしたずいうこず))。

.IP "\-perm +\fImode\fP"
この圢匏は、今ではサポヌトされおいない (2005 幎以来、非掚奚だった。
代わりに \fB\-perm /\fP\fImode\fP を䜿甚するこず。

.IP \-readable
読み蟌み可胜なファむルにマッチする。怜査 \fB\-perm\fP が
ACL (アクセス・コントロヌル・リスト) などのパヌミッション制埡の仕組みを無芖するのに察しお、この怜査は ACL なども考慮に入れる。
この怜査は \fBaccess\fP(2) システムコヌルを䜿甚しおいるので、UID マッピング (たたは root\-squashing)
を行っおいる NFS サヌバがあるず、正確な結果を埗られないこずがある。なぜなら、たいおいのシステムでは
\fBaccess\fP(2) をクラむアントのカヌネルで実装しおおり、それ故、サヌバ偎に保持されおいる
UID マッピング情報を利甚できないからである。

.IP "\-regex \fIpattern\fP"
ファむル名が正芏衚珟 \fIpattern\fP にマッチすれば、真を返す。
これはパスを含むファむル名党䜓に察するマッチであっお、ベヌスネヌムの怜玢ではない。
だから、たずえば、`./fubar3' ずいう名前のファむルにマッチさせるために、
正芏衚珟 `.*bar.' や `.*b.*3' は䜿甚できるが、`f.*r3' は䜿甚できない。
\fBfind\fP が理解する正芏衚珟は、デフォルトでは Emacs の正芏衚珟だが、
これは \fB\-regextype\fP オプションで倉曎するこずができる。

.IP "\-samefile \fIname\fP"
ファむルが \fIname\fP ず同じ inode を参照しおいれば、真を返す。 \fB\-L\fP が有効な堎合、シンボリックリンクも真を返す。

.IP "\-size \fIn\fP[cwbkMG]"
ファむルが \fIn\fP 単䜍分の領域を䜿甚しおいれば、真を返す
(察象ずなるファむルのサむズを、単䜍にたで切り䞊げお比范する)。以䞋の接尟蟞が䜿える。
.RS
.IP "[\fB蚳泚\fP]:" 8
ブロック数を指定するずきは、泚意しおいただきたい。
\fB\-size\fP では、怜査察象ファむルのブロック数の算出を、単にファむルのサむズを 
512 で割り、その結果を切り䞊げお敎数にするこずで行っおいる。
これは、\fBstat\fP コマンドの出力や POSIXLY_CORRECT が蚭定されおいるずきの 
\fBls \-s\fP の結果ず、同じではないこずが倚い。\fBstat\fP や \fBls\fP 
は、ファむルに察するディスクスペヌスの割圓が、ファむルシステムのブロックサむズ 
(ext4 なら、たいおい 4096 バむト、぀たり 8 ブロック) 
の倍数で行われるこずを考慮に入れおいるのである。なお、アクション 
\fB\-printf\fP における `%b' の出力は、\fBstat\fP などず同じである。
.IP `b'
単䜍はブロック。1 ブロックは 512 バむト。(これが接尟蟞を䜿わないずきの デフォルトである)
.IP `c'
単䜍はバむト。
.IP `w'
単䜍はワヌド。1 ワヌドは 2 バむト。
.IP `k
単䜍はキビバむト (1 キビバむトは 1024 バむト)。
.IP `M'
単䜍はメビバむト (1 メビバむトは 1048576 バむト)。
.IP `G'
単䜍はギビバむト (1 ギビバむトは 1073741824 バむト)。
.RE
.IP
サむズには間接ブロック (indirect block) の分は含たれないが、穎空きファむル
(sparse file) における、実際には割り圓おられおいないブロックの分は含たれる。
アクション \fB\-printf\fP の `%k' や `%b' 曞匏指定子ずは、穎空きファむルの扱い方が違うこずを心にずめおおいおいただきたい。
たた、接尟蟞 `b' は垞に 512 バむトのブロックを意味し、1 キロバむトのブロックを指すこずはない。
その点で、アクション \fB\-ls\fP の動䜜ずは異なっおいる。
数倀の前に + や \- を付けるず、他の堎合ず同様、「より倧きい」や「より小さい」を意味するこずになるが、
ファむルのサむズは、単䜍以䞋の郚分が、単䜍にたで切り䞊げられるこずに留意しおいただきたい
(だから、1 byte のファむルは、\fB\-size \-1M\fP にマッチしない。(蚳泚: \fB\-size 1M\fP ずならマッチする))。
.IP \-true
垞に真。

.IP "\-type \fIc\fP"
ファむルのタむプが \fIc\fP であれば真。(蚳泚: \fIc\fP の䜍眮には実際には以䞋の文字が来る。)
.RS
.IP b
ブロック・スペシャルファむル (バッファあり)
.IP c
キャラクタ・スペシャルファむル (バッファなし)
.IP d
ディレクトリ
.IP p
名前付きパむプ (FIFO)
.IP f
通垞のファむル
.IP l
シンボリックリンク。オプション \fB\-L\fP や \fB\-follow\fP が有効な堎合、
シンボリックリンクがリンク切れの堎合を陀いお、この怜査が真になるこずはない。
\fB\-L\fP が有効なずきにシンボリックリンクを怜玢したかったら、\fB\-xtype\fP を䜿うべきである。
.IP s
゜ケット
.IP D
ドア (Solaris の堎合)
.RE
.IP "\-uid \fIn\fP"
ファむル所有者のナヌザ ID 番号が \fIn\fP ならば真。

.IP "\-used \fIn\fP"
ファむルが最埌にアクセスされたのが、ファむルの最終ステヌタス倉曎日時より
\fIn\fP 日埌ならば、真を返す。

.IP "\-user \fIuname\fP"
ファむルの所有者が \fIuname\fP ずいうナヌザならば真 (ナヌザ ID 番号で指定しおもよい)。

.IP "\-wholename \fIpattern\fP"
\fB\-path\fP ず同じである。この別名は移怍性で \fB\-path\fP に劣る。

.IP \-writable
曞き蟌み可胜なファむルにマッチする。怜査 \fB\-perm\fP が ACL
(アクセス・コントロヌル・リスト) などのパヌミッション制埡の仕組みを無芖するのに察しお、
この怜査は ACL なども考慮に入れる。この怜査は \fBaccess\fP(2)
システムコヌルを䜿甚しおいるので、UID マッピング (たたは root\-squashing)
を行っおいる NFS サヌバがあるず、正確な結果を埗られないこずがある。なぜなら、たいおいのシステムでは
\fBaccess\fP(2) をクラむアントのカヌネルで実装しおおり、それ故、サヌバ偎に保持されおいる
UID マッピング情報を利甚できないからである。

.IP "\-xtype \fIc\fP"
怜査の察象ずなるファむルがシンボリックリンクでないかぎり、\fB\-type\fP ず同じである。
ファむルがシンボリックリンクのずきは、以䞋のように動䜜する。
\fB\-H\fP や \fB\-P\fP オプションが指定された堎合は、タむプが \fIc\fP
のファむルに察するリンクならば、真を返す。たた、\fB\-L\fP
オプションが指定されおいる堎合は、\fIc\fP が `l' ならば、真を返す。
蚀い換えるず、ファむルがシンボリックであるずき、\fB\-xtype\fP
は、\fB\-type\fP がチェックしない方のファむルのタむプをチェックするわけだ。
.IP "\-context \fIpattern\fP"
(SELinux が有効なずきのみ) ファむルのセキュリティ・コンテキストが
glob のパタヌン (蚳泚: ぀たり、シェル匏のパタヌン)
\fIpattern\fP にマッチすれば、真を返す。

.SS アクション
.IP \-delete
ファむルを消去する。消去に成功すれば、真を返す。
消去に倱敗した堎合は、゚ラヌメッセヌゞを衚瀺する。
\fB\-delete\fP に倱敗した堎合の \fBfind\fP の終了ステヌタスは、れロ以倖である
(\fBfind\fP が最終的に終了したずきの終了ステヌタスのこずだ)。\fB\-delete\fP
を䜿甚するず、自動的に `\fB\-depth\fP' オプションが有効になる。

\fB譊告\fP: 忘れないでいただきたいが、find のコマンドラむンは䞀぀の匏 (expression)
ずしお評䟡されるので、䞀番最初に \fB\-delete\fP を指定するず、
\fBfind\fP は、指定された探玢の開始点以䞋にあるものを、こずごずく消去しようずする。
埌で \fB\-delete\fP を付けお䜿甚する぀もりで、\fBfind\fP
のコマンドラむンをテスト実行するずきは、\fB\-depth\fP を明瀺的に指定するずよい。
そうすれば、埌で「こんなはずではなかった」ず慌おないですむ。
\fB\-delete\fP を指定するず自動的に \fB\-depth\fP が有効になるので、\fB\-prune\fP
を \fB\-delete\fP ず䞀緒に䜿っおも圹に立たない。

.IP "\-exec \fIcommand\fP ;"
\fIcommand\fP を実行する。\fIcommand\fP の返り倀が 0 ならば、真を返す。
\fBfind\fP のコマンドラむンで指定されおいるこれ以降の匕き数は、`;' ずいう匕き数が珟れるたで、すべおコマンドに察する匕き数ず芋なされる。
文字列 `{}' は、それがコマンドの匕き数䞭に珟れるすべおの堎所で、珟圚凊理䞭のファむル名に眮き換えられる。
\fBfind\fP の䞀郚の版ずは違い、`{}' は匕き数䞭の䞀ヶ所でしか䜿えないわけではない。
こうした構文の芁玠 (蚳泚: すなわち、`{}' や `;') は、シェルによっお展開されないように、
どちらも `\e' で゚スケヌプするなり、匕甚笊で囲むなりする必芁があるかもしれない。
アクション \fB\-exec\fP の䜿甚䟋に぀いおは「甚䟋」セクションを芋おいただきたい。
指定したコマンドは、マッチした各ファむルに察しお䞀回づ぀実行される。
たた、コマンドは \fBfind\fP を実行したディレクトリで実行される。
そこで、\fB\-exec\fP アクションの䜿甚を巡っおは、セキュリティの問題が避けられないわけであり、
\fB\-exec\fP の代わりに、\fB\-execdir\fP アクションを䜿甚するこずをお勧めする。
(蚳泚: `;' は匕き数なので、盎前の匕き数ずの間に空癜が必芁だずいうこずに泚意しおいただきたい。)

.IP "\-exec \fIcommand\fP {} +"
アクション \fB\-exec\fP のこの倉圢も、遞択したファむルに察しお指定したコマンドを実行するが、
コマンドラむンを圢成するずき、遞択した各ファむル名をコマンドラむンの末尟に远加しお行くずいう方法を取る
(蚳泚: コマンドラむンが長くなりすぎるずきは、凊理するファむル名のリストを適宜分割しお、コマンドを耇数回実行する)。
そのため、コマンドを呌び出す回数が、マッチしたファむルの数よりずっず少なくおすむ。
コマンドラむンの圢成法は、 \fBxargs\fP のコマンドラむン圢成法ずほが同じである。
`{}' はコマンドラむン䞭の䞀ヶ所でしか䜿えない。
なお、コマンドは \fBfind\fP を実行したディレクトリで実行される。
\fBfind\fP が゚ラヌに出䌚うず、このアクションは \fBfind\fP をその堎で終了させおしたうこずがあり、
そのため、予定されおいるコマンドの䞭に党く実行されないものが生ずるかもしれない。
\fB\-exec\fP のこの倉圢は、垞に真を返す。
(蚳泚: `+' は匕き数なので、盎前の匕き数ずの間に空癜が必芁だずいうこずに泚意しおいただきたい。)

.IP "\-execdir \fIcommand\fP ;"
.IP "\-execdir \fIcommand\fP {} +"
\fB\-exec\fP ず䌌おいるが、指定したコマンドを、マッチしたファむルが存圚するサブディレクトリで実行するずいう点が異なっおいる。
そのサブディレクトリは、 \fBfind\fP を実行したディレクトリずは違うのが普通だ。
これはコマンドを呌び出す方法ずしおずっず安党である。マッチしたファむルのパスを解決する際に、競合状態が起きるのを避けられるからだ。
アクション \fB\-exec\fP の堎合ず同様、 \fB\-execdir\fP の `+' を䌎う圢匏でも、
マッチした耇数のファむルを䞀床に凊理するように、コマンドラむンを圢成するこずになるが、
\fIcommand\fP のどの呌び出しにおいおも、凊理の察象ずしおリストされるファむルは、同じサブディレクトリに存圚するものだけである。
このアクションを䜿甚するのなら、環境倉数 \fB$PATH\fP が `.' を参照しないようにしなければならない。
さもないず、悪意を持った攻撃者が、あなたが \fB\-execdir\fP を実行するこずになるディレクトリに適圓な名前のファむルを入れおおくこずによっお、
䜕でも奜きなコマンドを実行できおしたうからだ。
\fB$PATH\fP の䞭に、空っぜの゚ントリや、絶察パスのディレクトリ名ではない゚ントリがある堎合にも、同じこずが蚀える。
\fBfind\fP が゚ラヌに出䌚うず、このアクションは \fBfind\fP をその堎で終了させおしたうこずがあり、
そのため、予定されおいるコマンドの䞭に党く実行されないものが生ずるかもしれない。
このアクションが返す倀は、\fB+\fP ず \fB;\fP のどちらを䜿うかによっお異なっおいる。
\fB\-execdir\fP \fIcommand\fP \fB{} +\fP が垞に真を返すのに察しお、\fB\-execdir\fP \fIcommand\fP \fB{} ;\fP
は、\fIcommand\fP が 0 を返したずきのみ、真を返すのである。


.IP "\-fls \fIfile\fP"
真を返す。\fB\-ls\fP ず䌌おいるが、\fB\-fprint\fP 同様、出力を \fIfile\fP に曞き出す点が違う。
出力甚のファむルは、この述語の察象になるものが䞀぀もなかった堎合でも、必ず䜜成される。
ファむル名䞭の普通䜿わない文字がどのように扱われるかに぀いおは、「倉わり者のファむル名」セクションを参照しおいただきたい。

.IP "\-fprint \fIfile\fP"
真を返す。パス付きのファむル名をファむル \fIfile\fP に出力する。
\fBfind\fP の実行時に \fIfile\fP が存圚しなければ、新たに䜜成される。
すでに存圚しおいれば、元の䞭身が捚おられる。ファむル名 `/dev/stdout' ず
`/dev/stderr' の扱いは特別で、それぞれ暙準出力ず暙準゚ラヌ出力を指しおいる。
出力甚のファむルは、この述語の察象になるものが䞀぀もなかった堎合でも、必ず䜜成される。
ファむル名䞭の普通䜿わない文字がどのように扱われるかに぀いおは、「倉わり者のファむル名」セクションを参照しおいただきたい。

.IP "\-fprint0 \fIfile\fP"
真を返す。\fB\-print0\fP ず䌌おいるが、\fB\-fprint\fP 同様、出力を \fIfile\fP に曞き出す点が違う。
出力甚のファむルは、この述語の察象になるものが䞀぀もなかった堎合でも、必ず䜜成される。
ファむル名䞭の普通䜿わない文字がどのように扱われるかに぀いおは、「倉わり者のファむル名」セクションを参照しおいただきたい。

.IP "\-fprintf \fIfile\fP \fIformat\fP"
真を返す。\fB\-printf\fP ず䌌おいるが、 \fB\-fprint\fP 同様、出力を \fIfile\fP に曞き出す点が違う。
出力甚のファむルは、この述語の察象になるものが䞀぀もなかった堎合でも、必ず䜜成される。
ファむル名䞭の普通䜿わない文字がどのように扱われるかに぀いおは、「倉わり者のファむル名」セクションを参照しおいただきたい。

.IP \-ls
真を返す。凊理察象のファむルを \fBls \-dils\fP の曞匏で暙準出力にリストする。
ブロック数は、1 ブロック 1 キロバむトの蚈算である。
ただし、環境倉数 POSIXLY_CORRECT が蚭定されおいる堎合は、1 ブロック 512 バむトが䜿甚される。
ファむル名䞭の普通䜿わない文字がどのように扱われるかに぀いおは、「倉わり者のファむル名」セクションを参照しおいただきたい。

.IP "\-ok \fIcommand\fP ;"
\fB\-exec\fP ず䌌おいるが、たずナヌザに問い合わせを行う。
ナヌザヌが同意すれば、コマンドを実行する。同意しなければ、䜕もせずに停を返す。
コマンドを実行する堎合、そのコマンドの暙準入力は、\fB/dev/null\fP に付け換えられる。

.IP
プロンプトに察するナヌザの応答は、肯定・吊定を衚す䞀組の正芏衚珟ず照合しお、同意か、䞍同意かが刀断される。
この正芏衚珟は、環境倉数 `POSIXLY_CORRECT' が蚭定されおいれば、システムから埗られるが、
蚭定されおいなければ、\fBfind\fP の持぀メッセヌゞ翻蚳から取埗される。
なお、システムに適切な定矩が存圚しない堎合は、 \fBfind\fP の持぀定矩が䜿甚されるこずになる。
どちらの堎合でも、正芏衚珟そのものの解釈は、環境倉数 'LC_CTYPE' (文字クラスに぀いお) や
\&'LC_COLLATE' (文字の範囲や等䟡クラスに぀いお) の圱響を受ける。



.IP "\-okdir \fIcommand\fP ;"
\fB\-execdir\fP ず䌌おいるが、\fB\-ok\fP ず同じように、たずナヌザに問い合わせを行う。
ナヌザが同意しなければ、䜕もせずに停を返す。
コマンドを実行する堎合、そのコマンドの暙準入力は、\fB/dev/null\fP に付け換えられる。

.IP \-print
真を返す。パス付きのファむル名を暙準出力に衚瀺し、各ファむル名の埌ろに改行文字を付ける。
\fBfind\fP の出力をパむプを䜿っお他のプログラムに枡しおいる堎合、
怜玢察象のファむル名に改行文字が含たれおいる可胜性が、わずかにでもあるならば、
\fB\-print\fP ではなく、 \fB\-print0\fP アクションを䜿甚するこずを真剣に考えるべきだ。
ファむル名䞭の普通䜿わない文字がどのように扱われるかに぀いおは、「倉わり者のファむル名」セクションを参照しおいただきたい。

.IP \-print0
真を返す。パス付きのファむル名を暙準出力に衚瀺し、各ファむル名の埌ろに
(\fB\-print\fP が改行文字を付けるのずは違っお) ヌル文字を远加する。
このアクションを䜿えば、\fBfind\fP の出力を凊理するプログラムが、改行文字などのホワむトスペヌスを含むファむル名を正しく解釈できるようになる。
このアクションは、\fBxargs\fP の \fB\-0\fP オプションに呌応しおいる。

.IP "\-printf \fIformat\fP"
真を返す。暙準出力に \fIformat\fP を衚瀺する。そのずき \fIformat\fP 䞭の
`\e' による゚スケヌプシヌケンスず、`%' に始たる曞匏指定子を認識しお倉換する。
フィヌルドの幅や粟床は、C 蚀語の `printf' 関数ず同じ方法で指定できる。
%d ではなく、%s ずしお (蚳泚: すなわち、数倀ではなく、文字列ずしお)
衚瀺されるフィヌルドが倚いこずに泚意しおいただきたい。
そのため、フラグが期埅通りに効かないかもしれないのだ。
ただし、`\-' フラグ (フィヌルドを匷制的に巊揃えにする)
はきちんず働くずいうこずでもある。\fB\-print\fP ずは違っお、
\fB\-printf\fP は文字列の末尟に改行文字を远加しない。
バックスラッシュ・゚スケヌプシヌケンスず曞匏指定子は以䞋のずおりである。
.RS
.IP \ea
譊告ベル。
.IP \eb
バックスペヌス。
.IP \ec
このフォヌマットによる出力をただちに停止し、出力をフラッシュする。
.IP \ef
フォヌムフィヌド文字。
.IP \en
改行文字。
.IP \er
埩垰文字。
.IP \et
氎平タブ。
.IP \ev
垂盎タブ。
.IP \e0
ASCII NUL 文字。
.IP \e\e
バックスラッシュ文字そのもの (`\e')。
.IP \eNNN
ASCII コヌドが NNN (8 進数) の文字。
.PP
バックスラッシュ文字 `\e' に䞊蚘以倖の文字が続く堎合、`\e' は普通の文字ずしお扱われる。
埓っお、二文字ずも衚瀺されるこずになる。
.IP %%
パヌセント文字そのもの。
.IP %a
ファむルの最終アクセス日時を C 蚀語の `ctime' 関数が返す圢匏で衚瀺する。
.IP %A\fIk\fP
ファむルの最終アクセス日時を \fIk\fP で指定した曞匏で衚瀺する。\fIk\fP には
`@' か、あるいは C 蚀語の `strftime' 関数の曞匏指定子を甚いる。
\fIk\fP に指定可胜な倀を以䞋に列挙する。
䞀郚のものは䜿えないシステムがあるかもしれないが、それはシステム間での
`strftime' の非互換性による。
.RS
.IP @
Jan. 1, 1970, 00:00 GMT からの経過秒数。小数点以䞋も衚瀺する。
.PP
時刻フィヌルド:
.IP H
時 (00..23)
.IP I
時 (01..12)
.IP k
時 ( 0..23)
.IP l
時 ( 1..12)
.IP M
分 (00..59)
.IP p
珟圚のロケヌルにおける AM/PM の盞圓語
.IP r
12 時間制の時刻 (hh:mm:ss [AP]M)
.IP S
秒 (00.00 .. 61.00)。小数点以䞋も衚瀺。
.IP T
24 時間制の時刻 (hh:mm:ss)
.IP +
日付ず時刻。䞡者の間は `2004\-04\-28+22:22:05.0' ずいった具合に '+' で 区切られる。
これは GNU の拡匵である。日時は珟圚のタむムゟヌンのものが䜿われる
(それ故、環境倉数 TZ の蚭定によっお倉わるかもしれない)。秒には小数点以䞋も付く。
.IP X
珟圚のロケヌルによる時刻衚瀺 (H:M:S)
.IP Z
タむムゟヌン (JST など)。タむムゟヌンを決定できない堎合は、䜕も衚瀺しない。
.PP
日付フィヌルド:
.IP a
珟圚のロケヌルによる曜日の短瞮圢 (Sun..Sat)
.IP A
珟圚のロケヌルによる曜日の省略しない衚瀺。長さは可倉 (Sunday..Saturday)
.IP b
珟圚のロケヌルによる月名の短瞮圢 (Jan..Dec)
.IP B
珟圚のロケヌルによる月名の省略しない衚瀺。長さは可倉 (January..December)
.IP c
珟圚のロケヌルによる日付ず時刻の衚瀺 (Sat Nov 04 12:02:33 EST 1989)。
この衚瀺圢匏は \fBctime\fP(3) のものず同じであり、\fBctime\fP(3)
の圢匏ずの互換性を維持するためにそうなっおいる。秒には小数点以䞋が付かない。
.IP d
その月の䜕日目かの衚瀺 (01..31)
.IP D
日付 (mm/dd/yy)
.IP h
b ず同じ
.IP j
その幎の䜕日目かの衚瀺 (001..366)
.IP m
月 (01..12)
.IP U
その幎の䜕週目か (日曜日を週の始たりずする) (00..53)
.IP w
曜日 (0..6)
.IP W
その幎の䜕週目か (月曜日を週の始たりずする) (00..53)
.IP x
珟圚のロケヌルによる日付衚瀺 (mm/dd/yy)
.IP y
幎の䞋二桁 (00..99)
.IP Y
幎 (1970...)
.RE
.IP %b
ファむルのディスクスペヌス䜿甚量を 1 ブロック 512 バむトのブロック数で衚瀺する。
ディスクスペヌスは、ファむルシステムのブロックサむズの倍数で割り圓おられるので、この衚瀺はたいおい
%s/512 より倧きい。だが、ファむルが穎空きファむル (sparse file)
の堎合は、%s/512 より小さくなるこずもある。
.IP %c
ファむルの最終ステヌタス倉曎日時を C 蚀語の `ctime' 関数が返す圢匏で衚瀺する。
.IP %C\fIk\fP
ファむルの最終ステヌタス倉曎日時を \fIk\fP で指定した曞匏で衚瀺する。
\fIk\fP は %A の堎合ず同じである。
.IP %d
ファむルがディレクトリツリヌ䞭でどの深さにあるかを瀺す。
0 だったら、そのファむルが探玢開始点だずいうこずだ。
.IP %D
ファむルがどのデバむス䞊にあるかを十進数のデバむス番号で瀺す
(stat 構造䜓の st_dev フィヌルドに圓たる)。
.IP %f
先行するディレクトリをすべお取り去ったファむル名
(すなわち、最埌の芁玠のみ衚瀺)。
.IP %F
ファむルが眮かれおいるファむルシステムのタむプ。ここで衚瀺された倀は
\-fstype の匕き数に指定するこずができる。
.IP %g
ファむルのグルヌプ名。該圓するグルヌプ名が存圚しない堎合は、グルヌプ ID 番号。
.IP %G
ファむルのグルヌプ ID 番号。
.IP %h
ファむル名䞭の先行するディレクトリの郚分 (すなわち、最埌の芁玠以倖のすべお)。
ファむル名にスラッシュが䞀぀も含たれない堎合は
(それは、カレントディレクトリ䞭にあるずいうこずだから)、%h 曞匏指定子は
"." に展開される。
.IP %H
探玢開始点のうち、その䞋に問題のファむルが芋぀かったもの。
.IP %i
ファむルの inode 番号 (十進数衚瀺)。
.IP %k
ファむルのディスクスペヌス䜿甚量を 1 ブロック 1 キロバむトのブロック数で衚瀺する。
ディスクスペヌスは、ファむルシステムのブロックサむズの倍数で割り圓おられるので、この衚瀺はたいおい %s/1024 より倧きい。
だが、ファむルが穎空きファむル (sparse file) の堎合は、%s/1024 より小さくなるこずもある。
.IP %l
シンボリックリンクの参照先 (ファむルがシンボリックリンクでなかったら、空文字列)。
.IP %m
ファむルの蚱可属性ビット (8 進数衚瀺)。このオプションが䜿甚しおいる数倀は、
Unix のたいおいの実装が䜿甚しおいる「䌝統的な」数倀である。
しかし、ご䜿甚のシステムの実装では、8 進数で衚瀺する蚱可属性ビットの䞊び方が独特かもしれない。
その堎合は、ファむルの蚱可属性の実際の倀ず %m の出力ずが、盞違するこずになる。
この数倀の先頭に 0 を付けお衚瀺したいこずもよくあるが、
そのためには、\fB#\fP フラグを䜿甚すればよい (たずえば、`%#m' ずいった具合に)。
.IP %M
ファむルの蚱可属性 (\fBls\fP ず同様のシンボルによる衚珟)。この曞匏指定子は findutils 4.2.5 以来 サポヌトされおいる。
.IP %n
ファむルのハヌドリンク数。
.IP %p
ファむル名。
.IP %P
問題のファむルが、ある探玢開始点の䞋にあった堎合に、
ファむル名から探玢開始点を瀺す郚分を取り去ったもの。
.IP %s
バむトで衚瀺したファむルサむズ。
.IP %S
ファむルの穎空き率 (sparseness)。この倀は、(BLOCKSIZE*st_blocks / st_size)
で蚈算される。ある倧きさの普通のファむルから埗られる倀は、厳密に蚀うず、システム䟝存である。
それでも、穎空きファむルの穎空き率は、通垞 1.0 未満になるし、
間接ブロックを䜿甚しおいるファむルの穎空き率は、1.0 以䞊になるこずがある。
BLOCKSIZE に䜿われる倀は、システム次第だが、普通は 512 バむトである。
ファむルサむズが 0 の堎合、出力される倀は䞍定である。
st_blocks をサポヌトしおいないシステムでは、ファむルの穎空き率は、1.0 ず芋なされる。
.IP %t
ファむルの最終内容曎新日時を、C 蚀語の `ctime' 関数が返す圢匏で衚瀺する。
.IP %T\fIk\fP
ファむルの最終内容曎新日時を \fIk\fP で指定した曞匏で衚瀺する。
\fIk\fP は %A の堎合ず同じである。
.IP %u
ファむルの所有者名。該圓するナヌザ名が存圚しない堎合は、ナヌザ ID 番号。
.IP %U
ファむルのナヌザ ID 番号。
.IP %y
ファむルのタむプ (\fBls \-l\fP の衚珟ずほが同じ)。U=unknown type
(これが衚瀺されるこずはないはずだ
.IP %Y
ファむルのタむプ (衚瀺は %y ず同じ)。ただし、シンボリックリンクをたどる。
その堎合、L=loop, N=nonexistent である。
.IP %Z
(SELinux が有効なずきのみ) ファむルのセキュリティ・コンテクスト。
.IP "%{ %[ %("
将来の䜿甚のために予玄されおいる。
.PP
䞀個の `%' に䞊蚘以倖の文字が続く堎合、`%' 文字は捚おられるが、それに続く文字は衚瀺される
(曞匏指定文字が新たに远加されるかもしれないので、この動䜜を圓おにしおはいけない。
(蚳泚: 以前はそのずおりだったが、珟圚では、無効な曞匏指定子を䜿った堎合、`%q'
のように `%' も衚瀺されるようだ))。
曞匏指定の末尟に `%' があるずきの動䜜は、続く文字がないので䞍定である。
ロケヌルによっおは、お宅のドアの鍵が芋぀からなくなるかもしれない。
たた、別のロケヌルでは、お読みになっおいる小説の最埌のペヌゞが消えおしたうかもしれない。

曞匏指定子 %m ず %d はフラグ \fB#\fP, \fB0\fP, \fB+\fP をサポヌトするが、
それ以倖の曞匏指定子では、数倀を衚瀺する堎合でも、そうしたフラグをサポヌトしない。
\fB#\fP などをサポヌトしない数倀関係の曞匏指定子には、\fBG\fP, \fBU\fP, \fBb\fP, \fBD\fP,
\fBk\fP, \fBn\fP などがある。しかし、曞匏フラグ `\-' はサポヌトされおおり、フィヌルドを
(デフォルトの) 右揃えから巊揃えに倉曎する。
.PP
ファむル名䞭の普通䜿わない文字がどのように扱われるかに぀いおは、
「倉わり者のファむル名」セクションの説明を参照しおいただきたい。


.RE
.IP \-prune
真を返す。凊理察象のファむルがディレクトリの堎合は、そのディレクトリ以䞋に降りお行かない。
\fB\-depth\fP が指定しおあるず、\fB\-prune\fP は、
停を返し、その効果を倱う。\fB\-delete\fP を指定するず自動的に \fB\-depth\fP
が有効になるので、\fB\-prune\fP を \fB\-delete\fP ず䞀緒に䜿っおも圹に立たない。

.RS
.IP "[\fB蚳泚\fP]:" 8
぀たり、\fB\-prune\fR は指定されたディレクトリの、いわゆる枝刈り 
(prune) をする。バヌゞョン 4.3.11 以降の \fBfind\fR では、\fB\-prune\fR 
の動䜜が、䞊の説明ず少し違っおいる。\fB\-depth\fR 
が指定しおあるず、\fB\-prune\fR が効果を倱う (すなわち、枝刈りを行わなくなる) 
こずは、それ以前ず倉わりがないが、\fI返り倀は真を返すようになっおいるのだ\fR。
これは POSIX 準拠の動䜜である。ご自分で、
.B find . \-depth \-path \(dq./foo\(dq \-prune \-print
などを実行しお、確認しおいただきたい。\fB\-prune\fR 
が真を返しおいれば、ディレクトリ \fB./foo\fR が衚瀺されるはずである。
.RE
.IP \-quit
盎ちに終了する。動いおいる子プロセスを残したたた終了したりはしないが、コマンドラむンで指定したパスをこれ以䞊凊理するこずはない。
たずえば、 \fBfind /tmp/foo /tmp/bar \-print \-quit\fP は、\fB/tmp/foo\fP を衚瀺するだけである。
\fB\-execdir \&...\& {} +\fP によっおすでに䜜成されたコマンドラむンがあれば、
\fBfind\fP が終了する前に、呌び出しお実行する。
終了ステヌタスは、 ゚ラヌがすでに起きおいるかどうかよっお、0 のこずも、0 でないこずもある。

.SS 挔算子
.P
挔算子を優先順䜍の高いものから順に列挙する。

.IP "( \fIexpr\fP )"
カッコの内偎を先に凊理する。カッコはシェルにずっお特別な意味を持っおいるので、普通はクォヌトする必芁があるだろう。
このマニュアルペヌゞで挙げおいる䟋の倚くでは、そのためにバックスラッシュを䜿っおいる。
すなわち `(...)' ではなく、`\e(...\e)' ず曞いおいる。

.IP "! \fIexpr\fP"
\fIexpr\fP が停の堎合、真になる。
通垞、この蚘号もシェルによっお解釈されないようにする必芁があるだろう。

.IP "\-not \fIexpr\fP"
! \fIexpr\fP ず同じだが、POSIX 準拠の衚珟ではない。

.IP "\fIexpr1 expr2\fP"
連続する二぀の匏は、and 結合ず解釈される (明瀺されおいないが、匏の間に
"\-a" があるず芋なされるわけだ)。\fIexpr1\fP が停の堎合、\fIexpr2\fP は評䟡されない。

.IP "\fIexpr1\fP \-a \fIexpr2\fP"
\fIexpr1 expr2\fP ず同じ。

.IP "\fIexpr1\fP \-and \fIexpr2\fP"
\fIexpr1 expr2\fP ず同じだが、POSIX 準拠の衚珟ではない。

.IP "\fIexpr1\fP \-o \fIexpr2\fP"
or 結合である。\fIexpr1\fP が真ならば、\fIexpr2\fP は評䟡されない。

.IP "\fIexpr1\fP \-or \fIexpr2\fP"
\fIexpr1\fP \fB\-o\fP \fIexpr2\fP ず同じだが、POSIX 準拠の衚珟ではない。

.IP "\fIexpr1\fP , \fIexpr2\fP"
リストである。垞に \fIexpr1\fP ず \fIexpr2\fP の䞡方が評䟡される。
\fIexpr1\fP の倀は捚おられ、\fIexpr2\fP の倀がリスト党䜓の倀になる。
コンマ挔算子はいく぀かの異なったタむプの察象を捜すずき䟿利だが、ファむルシステム階局の探玢は䞀床しか行われない。
異なった圢でマッチした察象の䞀芧をそれぞれ別の出力ファむルに曞き出すには、\fB\-fprintf\fP アクションを利甚すればよい。


.IP "[\fB蚳泚\fR]:" 8
.B find
にずっお挔算子も匕き数である。だから `(', `)', `!', `,' ずいった挔算子も、
前埌の匕き数ずの間に空癜が必芁だずいうこずに気を぀けおいただきたい。
.SH 倉わり者のファむル名
倚くの堎合 \fBfind\fP のアクションは、他のナヌザが自由にできるデヌタを端末に衚瀺するこずになる。
そうしたデヌタには、 たずえば、ファむルの名前、サむズ、内容曎新日時などがある。
この内、ファむル名は `\e0' ず `/' 以倖のどんな文字でも䜿えるこずになっおいるので、時ずしお問題の皮ずなる。
ファむル名の䞭に普通は䜿わない文字があるず、䜿甚しおいる端末に思いがけない、そしおしばしば望たしくない圱響をもたらすこずがあるのだ (たずえば、
端末によっおは、ファンクション・キヌの珟圚の蚭定が倉曎されおしたう)。
普通䜿わない文字をどう扱うかはアクションによっお異なっおいる。それを以䞋に瀺そう。

.IP "\-print0, \-fprint0"
垞にファむル名に手を加えず、そのたた出力する。出力先が端末であっおも、同じである。

.IP "\-ls, \-fls"
普通䜿わない文字は、垞に゚スケヌプされる。ホワむトスペヌス
(空癜、改行、タブなど)、バックスラッシュ、ダブルクォヌトは C 蚀語匏の゚スケヌプ衚珟で出力される
(たずえば `\ef', `\e"')。他の普通䜿わない文字には、゚スケヌプした 8 進数が䜿われる。
それ以倖の衚瀺可胜な文字は (\fB\-ls\fP や \fB\-fls\fP ずっおは 8 進数の
041 から 0176 に圓たる文字)、手を加えずにそのたた出力される。

.IP "\-printf, \-fprintf"
出力先が端末でない堎合は、そのたた出力される。端末の堎合は、䜿甚される曞匏指定子によっお、結果は様々である。
曞匏指定子 %D, %F, %g, %G, %H, %Y, %y が展開される倀は、ファむルの所有者の管蜄倖なので、そのたた出力される。
曞匏指定子 %a, %b, %c, %d, %i, %k, %m, %M, %n, %s, %t, %u, %U
の倀は、ファむル所有者の管蜄内ではあるが、それを䜿っお端末に勝手なデヌタを送るこずはできない。
埓っお、そのたた出力される。曞匏指定子 %f, %h, %l, %p, %P はクォヌトされる。
このクォヌト方法は、GNU \fBls\fP ず同じである (蚳泚: 厳密に蚀うず、珟圚のずころ
\fBls \-N\fP ず同じ。\fBls\fP はバヌゞョンによっおは、デフォルトの衚瀺が \fB\-N\fP
ではないこずがある)。぀たり、\fB\-ls\fP や \fB\-fls\fP
におけるクォヌト方法ずは違うずいうこずだ。もし、\fBfind\fP
の出力に䜿甚する圢匏を自由に決めるこずができるならば、たいおいの堎合、
終端文字に改行ではなく、`\e0' を䜿甚した方がよい。
ファむル名には空癜や改行が含たれおいるこずがあるからだ。
どの文字にクォヌトが必芁かを刀断するには、環境倉数 `LC_CTYPE' の蚭定が䜿甚される。

.IP "\-print, \-fprint"
クォヌトは \fB\-printf\fP や \fB\-fprintf\fP ず同じやり方で行われる。
\fBfind\fP をスクリプト䞭で䜿っおいる堎合や、マッチするファむルが我儘なファむル名を持っおいるかもしれない堎合は、\fB\-print\fP ではなく、
\fB\-print0\fP の䜿甚を考えた方がよいだろう。
.P
アクション \fB\-ok\fP ず \fB\-okdir\fP は、察象ずなるファむル名をそのたた手を加えずに出力する。
この動䜜は、将来のリリヌスで倉わるかもしれない。

.SH 芏栌ぞの準拠
POSIX 芏栌にできるだけ準拠した動䜜を求めるのなら、環境倉数 POSIXLY_CORRECT
を蚭定するずよい。以䞋のオプションや述語は POSIX 芏栌
(IEEE Std 1003.1, 2003 Edition) で芏定されおいる。

.IP \fB\-H\fP
このオプションはサポヌトしおいる。

.IP \fB\-L\fP
このオプションはサポヌトしおいる。

.IP \fB\-name\fP
この述語はサポヌトしおいる。しかし、POSIX ぞの準拠床は、システムの
\fBfnmatch\fP(3) ラむブラリ関数がどの皋床 POSIX に準拠しおいるかに䟝存しおいる。
findutils\-4.2.2 以来、シェルのメタ文字 (`*', `?', `[]' など) は、
ファむル名の先頭の `.' 文字にマッチするが、これは IEEE PASC interpretation 126
がそう芁求しおいるからである。この動䜜は それ以前のバヌゞョンの findutils ず異なっおいる。

.IP \fB\-type\fP
サポヌトしおいる。POSIX では `b', `c', `d', `l', `p', `f', `s'
を芏定しおいる。GNU find は、そのほか「ドア」を衚す `D' もサポヌトしおいるが、
䜿えるのは OS がそうしたファむル・タむプを甚意しおいる堎合のみである。

.IP \fB\-ok\fP
サポヌトしおいる。プロンプトに察する応答は、"yes"、"no"
を衚すパタヌンに照らしお解釈されるが、そのパタヌンは、環境倉数
`LC_MESSAGES' を蚭定するこずによっお遞択される。環境倉数
`POSIXLY_CORRECT' が蚭定されおいる堎合は、䜕が肯定的応答 (yes)
で、䜕が吊定的応答 (no) かを決めおいるシステムの定矩が、このパタヌンずしお䜿甚される。
\fBnl_langinfo\fP(3) に関するシステムの文曞、特に YESEXPR ず NOEXPR
の郚分を参照しおほしい。それに察し、`POSIXLY_CORRECT' が蚭定されおいない堎合は、
パタヌンは、システムではなく、\fBfind\fP の持぀メッセヌゞ・カタログから取埗されるのである。

.IP \fB\-newer\fP
サポヌトしおいる。指定されたファむルがシンボリックリンクの堎合は、必ずリンク先が参照される
(蚳泚: 蚳者ずしおは、「\fB\-L\fP や \fB\-H\fP オプションが有効な堎合は」ずいう条件が必芁ではないかず思う。
\fB\-P\fP, \fB\-L\fP, \fB\-H\fP オプションや、怜査 \fB\-newer\fP の説明を参照)。
以前のバヌゞョンでは、シンボリックリンクそのものから比范に䜿う日時を取埗しおいたが、
動䜜がこのように倉曎になった。埌述の「履歎」セクションも参照しおほしい。

.IP \fB\-perm\fP
サポヌトしおいる。環境倉数 POSIXLY_CORRECT が蚭定されおいない堎合は、POSIX
では無効な (たずえば、+a+x ずいった) モヌド指定の匕き数も、埌方互換のために䜿甚できるようになっおいる
(蚳泚: \fBfind\fP 4.6.0 では、POSIXLY_CORRECT が蚭定されおいないずきでも、+a+x のような
\fB\-perm\fP +\fImode\fP の圢匏は䜿えなくなっおいる)。

.IP その他の述語
\fB\-atime\fP, \fB\-ctime\fP, \fB\-depth\fP, \fB\-group\fP, \fB\-links\fP, \fB\-mtime\fP,
\fB\-nogroup\fP, \fB\-nouser\fP, \fB\-perm\fP, \fB\-print\fP, \fB\-prune\fP, \fB\-size\fP,
\fB\-user\fP \fB\-xdev\fP ずいった述語は、すべおサポヌトしおいる。

.P
POSIX 芏栌は、カッコ `(', `)'、吊定 `!'、それに and ず or 挔算子
(\fB\-a\fP, \fB\-o\fP) を芏定しおいる。
.P
䞊蚘以倖のすべおのオプション、述語、匏などは、POSIX 芏栌にない拡匵である。
ずは蚀え、そうした拡匵の倚くは、GNU find に特有なものではない。
.P
POSIX 芏栌によれば、 \fBfind\fP はルヌプを怜出するこずになっおいる。
.IP
\fBfind\fP ナヌティリティは無限ルヌプを怜出しなければならない。
無限ルヌプずは、探玢䞭に入ったディレクトリが、すでに蚪れたこずがあり、しかも盎前に凊理察象にしたファむルの䞊䜍にあるディレクトリであるこずである。
無限ルヌプを怜出した堎合、find
は䜕が起きたかを告げる蚺断メッセヌゞを暙準゚ラヌに衚瀺し、探玢䜍眮をディレクトリ階局䞊の元の䜍眮に戻すか、終了すべきである。
.P
GNU \fBfind\fP はそうした芁求に埓っおいる。
ディレクトリがその䞭に䞊䜍ディレクトリぞのハヌドリンクである゚ントリを含んでいる堎合は、
ディレクトリのハヌドリンク数が、その゚ントリが普通のサブディレクトリならそうなるはずの数よりも、たいおい少なくなるものだ
(蚳泚: 実際には、Linux を始め、ディレクトリのハヌドリンクを犁止しおいるシステムが倚い)。その結果、
GNU find が時ずしお、実際には䞊䜍ディレクトリぞのハヌドリンクであるサブディレクトリを、最適化の副䜜甚で探玢しないこずが起こりえる。その堎合、
\fBfind\fP は確かにそうしたディレクトリに足を螏み入れないわけだから、「ルヌプ怜出」の蚺断メッセヌゞを出さないでもよいこずになっおいる。
これはかなり玛らわしい動䜜かもしれないが、\fBfind\fP のこの動䜜を本気で圓おにしおいる人もいないこずだろう。
\fB\-noleaf\fP オプションを指定しお、ディレクトリ・ツリヌ䞊の葉っぱを簡易刀別する最適化を無効にしおいる堎合は
(蚳泚: \fB\-noleaf\fP 参照)、こうしたディレクトリ・゚ントリに察する怜査も省略されずに行われ、
必芁ならば、蚺断メッセヌゞが衚瀺されるこずになる。シンボリックリンクを䜿っおいれば、
ファむルシステム䞊に本物の埪環を起こすこずはないが、それでも、\fB\-L\fP や \fB\-follow\fP
を䜿甚しおいる堎合は、探玢䞭にシンボリックリンクのルヌプに出䌚えば、蚺断メッセヌゞが衚瀺される。
ハヌドリンクを含むルヌプの堎合ず同様、葉っぱを簡易刀別する最適化を䜿甚しおいるず、
\fBfind\fP はたいおいの堎合、シンボリックリンクに察しお \fIstat()\fP や \fIchdir()\fP
を呌び出すたでもないず知っおいるこずになるので、ルヌプの蚺断は䞍芁になるこずが倚い。
.P
\fB\-d\fP オプションは BSD システム各皮ずの互換性のためにサポヌトされおいる。
だが、POSIX に準拠しおいる \fB\-depth\fP オプションの方を䜿った方がよい。
.P
環境倉数 POSIXLY_CORRECT は、怜査 \fB\-regex\fP や \fB\-iregex\fP の動䜜に圱響を䞎えない。
そうした怜査は、POSIX 芏栌で芏定されおいないからである。
.SH 環境倉数

.IP LANG
囜際化関係の環境倉数のうち、倀が蚭定されおいなかったり、null
だったりする倉数に察しお、LANG の倀がデフォルトの倀になる。

.IP LC_ALL
この環境倉数が空文字列以倖の倀に蚭定されおいるず、その倀が囜際化関係の他のすべおの環境倉数の倀よりも優先される。

.IP LC_COLLATE
POSIX の芏定によれば、この環境倉数は怜査 \fB\-name\fP で䜿われるパタヌンマッチングに圱響する。
GNU find は \fBfnmatch\fP(3) ラむブラリ関数を䜿甚しおいるので、LC_COLLATE
ぞの察応はシステムのラむブラリ次第である。たた、この倉数はアクション \fB\-ok\fP
に察する応答の解釈にも圱響を及がす。 \fB\-ok\fP に察する応答の解釈に䜿甚される実際のパタヌンは
LC_MESSAGES 倉数によっお遞択されるのだが、そのパタヌン䞭に角カッコ匏が䜿われおいる堎合の解釈は、LC_COLLATE
の圱響を受けるのである。

.IP LC_CTYPE
この環境倉数は、正芏衚珟で䜿甚される文字クラスの凊理に圱響する。
システムの \fBfnmatch\fP(3) ラむブラリ関数が察応しおいる堎合は、怜査 \fB\-name\fP
で䜿われる文字クラスの凊理にも圱響を及がす。たた、この倉数は、アクション \fB\-ok\fP
が出すプロンプトに察しおナヌザが応答する際、諟吊の刀断に䜿甚される正芏衚珟に文字クラスが䜿われおいれば、
その解釈にも圱響する。さらにたた、環境倉数 LC_CTYPEは、ファむル名が衚瀺されるずき、どの文字を衚瀺䞍可胜 (unprintable)
ず芋なすかにもかかわるこずになる。「倉わり者のファむル名」セクションを参照しおいただきたい。

.IP LC_MESSAGES
囜際化されたメッセヌゞで䜿甚するロケヌルを決める。環境倉数 `POSIXLY_CORRECT'
が蚭定されおいる堎合でも、やはりこの倉数によっお、アクション \fB\-ok\fP
が出したプロンプトに察する応答をどう解釈するかが決たっおくる。

.IP NLSPATH
囜際化メッセヌゞ・カタログを眮く堎所を決める。

.IP PATH
\fB\-exec\fP, \fB\-execdir\fP, \fB\-ok\fP, \fB\-okdir\fP
によっお呌び出される実行ファむルを捜すために怜玢するディレクトリに圱響する。

.IP POSIXLY_CORRECT
\fB\-ls\fP や \fB\-fls\fP が䜿甚するブロックサむズを決める。\fBPOSIXLY_CORRECT\fP
が蚭定されおいるずきは、1 ブロック 512 バむト、蚭定されおいないずきは、1 ブロック
1024 バむトである。
.IP
たた、この倉数を蚭定するず、譊告メッセヌゞを出さないのがデフォルトになる
(すなわち、 \fB\-nowarn\fP になるわけだ)。なぜならば、POSIX の芏定では、\fB\-ok\fP
の出すプロンプトを陀いお、暙準゚ラヌに出力されるメッセヌゞは、すべお問題が起きたこずを知らせるものであり、
そのずきの終了ステヌタスは 0 以倖でなければならないからである。
.IP
POSIXLY_CORRECT が蚭定されおいない堎合は、+zzz
が蚱可属性を衚すシンボルずしおそれ自䜓有効な衚珟であるずきを陀き、\fB\-perm\fP +zzz
は \fB\-perm\fP /zzz ずたったく同じように扱われる (蚳泚: 珟圚では、
POSIXLY_CORRECT が蚭定されおいない堎合も、\fB\-perm\fP +\fImode\fP
の曞匏はサポヌトされおいない。怜査 \fB\-perm\fP の説明を参照)。POSIXLY_CORRECT
が蚭定されおいる堎合は、蚱可属性の前に '+' を取る圢匏は、゚ラヌずしお凊理される
(蚳泚: もちろん、+zzz がそれ自䜓有効なシンボル衚珟であるずきは陀く。たずえば、\fB\-perm +u+x\fP
ずいったものがそういう衚珟である。これは、\fB\-perm 0111\fP
ずいう「ぎったり䞀臎する」衚珟ず等䟡になる)。
.IP
POSIXLY_CORRECT が蚭定されおいるず、アクション \fB\-ok\fP
が出すプロンプトに察するナヌザの応答を解釈する際に、\fBfind\fP
の持぀メッセヌゞ翻蚳ではなく、システムのメッセヌゞ・カタログが参照される。

.IP TZ
タむムゟヌンに圱響する。タむムゟヌンは、\fB\-printf\fP や \fB\-fprintf\fP の日時に関係する䞀郚の曞匏指定子で䜿甚される。
.SH 甚䟋
.nf
\fBfind /tmp \-name core \-type f \-print | xargs /bin/rm \-f\fP

.fi
\fB/tmp\fP ディレクトリ以䞋に \fBcore\fP ずいう名前のファむルを捜しお、それを消去する。
ファむル名 (パスを含む) の䞭に改行、シングルクォヌト、ダブルクォヌト、
空癜などを含むものがあるず、正しく動䜜しないので、泚意するこず。
.P
\fBfind /tmp \-name core \-type f \-print0 | xargs \-0 /bin/rm \-f\fP

.fi
\fB/tmp\fP ディレクトリ以䞋に \fBcore\fP ずいう名前のファむルを捜しお、それを消去する。
ファむル名の凊理に圓たっおは、ファむルやディレクトリの名前にシングルクォヌト、ダブルクォヌト、空癜、改行などが含たれおいおも、適切に扱われるようにしおいる。
怜査 \fB\-name\fP を \fB\-type\fP の前に眮いおいるのは、すべおのファむルに察しお
\fBstat(2)\fP システムコヌルを行う無駄を省くためである。

.P
.nf
\fBfind . \-type f \-exec file \(aq{}\(aq \e;\fP

.fi
カレントディレクトリ以䞋のあらゆるファむルに察しお file コマンドを実行する。
波カッコをシングルクォヌトで囲んでいるこずに泚目しおいただきたい。
シェルスクリプトのブロック区切り蚘号ずしお解釈されないようにするためである。
同様に、セミコロンもバックスラッシュを䜿っお保護しおいる。
こちらにもシングルクォヌトを䜿甚しおもよい。

.P
.nf
\fBfind / \e( \-perm \-4000 \-fprintf /root/suid.txt \(aq%#m %u %p\en\(aq \e) , \e\fP
\fB\e( \-size +100M \-fprintf /root/big.txt \(aq%\-10s %p\en\(aq \e)\fP

.fi
党ファむルシステムを䞀回だけ探玢しお、setuid ビットの立っおいるファむルやディレクトリのリストを
\fB/root/suid.txt\fP に、サむズの倧きいファむルのリストを \fB/root/big.txt\fP に出力する。

.P
.nf
\fBfind $HOME \-mtime 0\fP

.fi
ここ 24 時間の内に内容が曎新されたファむルをホヌムディレクトリ以䞋で怜玢する。
このコマンドがそういう動䜜になるのは、それぞれのファむルが最埌に曎新されおから珟圚たでの経過時間が、24 時間で割られお、䜙りは捚おられるからである。
そこで、ファむルが \fB\-mtime 0\fP にマッチするためには、過去 24 時間未満の期間内に内容が曎新されおいなければならないこずになる。

.P
.nf
\fBfind /sbin /usr/sbin \-executable \e! \-readable \-print\fP

.fi
実行可胜でありながら、読み出し䞍可胜なファむルを捜す。

.P
.nf
\fBfind . \-perm 664\fP

.fi
ファむルの所有者ずグルヌプは読むこずも曞くこずも可胜だが、他のナヌザは読み出しのみ可胜で曞き蟌みはできないファむルを捜す。
そうした条件を満たすものの、他の蚱可属性ビットも立っおいるような
(たずえば、そのファむルを実行できる人がいるような) ファむルは、この匏にマッチしない。

.P
.nf
\fBfind . \-perm \-664\fP

.fi
ファむルの所有者ずグルヌプは読むこずも曞くこずも可胜であり、他のナヌザも読むこずが可胜であるようなファむルを捜す。
それ以倖の蚱可属性ビットに぀いおは (たずえば、実行蚱可ビット)、立っおいおもいなくおもかたわない。この条件は、たずえば、 0777
のモヌドを持぀ファむルにもマッチするこずになる。

.P
.nf
\fBfind . \-perm /222\fP

.fi
曞き蟌める人のいるファむルを捜す (曞き蟌めるのは、ファむルの所有者でも、グルヌプでも、他の䞀般ナヌザでもよい)。

.P
.nf
\fBfind . \-perm /220\fP
\fBfind . \-perm /u+w,g+w\fP
\fBfind . \-perm /u=w,g=w\fP

.fi
䞊蚘のコマンドは䞉぀ずも同じ動䜜をする。最初のものは、ファむルの蚱可属性を
8 進数で衚し、埌の二぀は、シンボルによる衚珟圢匏を䜿っおいる。
こうしたコマンドはどれも、ファむルの所有者やグルヌプが曞き蟌み可胜なファむルを捜す。
所有者ずグルヌプの䞡方が曞き蟌み可胜な堎合しか、マッチしないわけではない。
どちらか片方だけでも十分である。

.P
.nf
\fBfind . \-perm \-220\fP
\fBfind . \-perm \-g+w,u+w\fP

.fi
この二぀のコマンドは同じ動䜜をする。すなわち、ファむルの所有者ずグルヌプの䞡方が曞き蟌み可胜なファむルを捜す。

.P
.nf
\fBfind . \-perm \-444 \-perm /222 \e! \-perm /111\fP
\fBfind . \-perm \-a+r \-perm /a+w \e! \-perm /a+x\fP

.fi
この二぀のコマンドは䞡方ずも次のような条件のファむルを捜す。
その条件ずは、誰にでも読み出すこずが可胜で (\fB\-perm \-444\fP や \fB\-perm \-a+r\fP
がそれにに圓たる)、曞き蟌み蚱可ビットが少なくずも䞀぀は立っおいるが
(\fB\-perm /222\fP や \fB\-perm /a+w\fP)、誰にも実行するこずはできない (\fB! \-perm /111\fP
や \fB! \-perm /a+x\fP) ずいうものである。

.P
.nf
\fBcd /source\-dir\fP
\fBfind . \-name .snapshot \-prune \-o \e( \e! \-name \(aq*~\(aq \-print0 \e)|\fP
\fBcpio \-pmd0 /dest\-dir\fP

.fi
このコマンドは \fB/source\-dir\fP の䞭身を \fB/dest\-dir\fP にコピヌするが、
その際 \fB.snapshot\fP ずいう名前のファむルやディレクトリ (及び、そのディレクトリ内にあるもの) を陀倖しおいる。
さらにこのコマンドは、名前の末尟に \fB~\fP が付くファむルやディレクトリも陀倖するが、
そうしたディレクトリの䞭身に぀いおは陀倖の察象にしない。
\fB\-prune \-o \e( \&...\& \-print0 \e)\fP ずいう構文はかなりよく利甚される。
ここで肝腎なのは、\fB\-prune\fP の前にある匏がマッチする項目は、\fBfind\fP の探玢の察象から
\fB\-prune\fP によっお取り陀かれる (蚳泚: pruned、枝刈りされる) ずいうこずである。
しかし、アクション \fB\-prune\fP 自䜓は返り倀ずしお真を返すので、盎埌に続く \fB\-o\fP
によっお、探玢の察象から取り陀かれなかったディレクトリに察しおだけ \fB\-o\fP の右蟺の評䟡が行われるこずになる
(探玢の察象から取り陀かれたディレクトリの䞭身は、凊理の察象にすらならないのだから、そうしたものはもう関係がない)。
\fB\-o\fP の右蟺の匏をカッコで囲んでいるのは、芋やすくするためにすぎない。
アクション \fB\-print0\fP が行われるのは、 \fB\-prune\fP が適甚されなかった項目のみであるこずを匷調しおいるだけだ。
述語間のデフォルトの結合は and であり、and の結合は \fB\-o\fP よりも匷いから、
カッコがあっおもデフォルトの動䜜ず同じなのだが、カッコを䜿うず、䜕をやっおいるかがわかりやすくなる。

.P
.nf
\fBfind repo/ \e( \-exec test \-d {}/.svn \e; \-or \e\fP
\fB\-exec test \-d {}/.git \e; \-or \-exec test \-d {}/CVS \e; \e) \e\fP
\fB\-print \-prune\fP
.fi

以䞋のようなプロゞェクトのディレクトリずそれに関連する SCM (゜ヌスコヌド管理システム)
の管理甚ディレクトリがある堎合に、プロゞェクトのルヌトを効率的に怜玢する。

.nf
\fBrepo/project1/CVS\fP
\fBrepo/gnu/project2/.svn\fP
\fBrepo/gnu/project3/.svn\fP
\fBrepo/gnu/project3/src/.svn\fP
\fBrepo/project4/.git\fP

.fi
この䟋では、\fB\-prune\fP を䜿うこずによっお、すでにプロゞェクトのルヌトであるこずがわかったディレクトリ以䞋で䞍必芁な探玢をしないですたせおいる
(たずえば、project3/src は探玢しないが、それは project3/.svn
がすでに芋぀かっおいるからだ)。それでいお、同栌のディレクトリ (たずえば、
project2 ず project3) はきちんず芋぀かるようにしおいる。
(蚳泚: この䟋の堎合、カッコは必芁である。and の結合は or よりも匷いので。)

.SH 終了ステヌタス
.PP
\fBfind\fP は、すべおのファむルを問題なく凊理できれば、ステヌタス 0 で終了する。
゚ラヌが起きた堎合の終了ステヌタスは、1 以䞊である。
ここではあえおごく倧雑把な蚀い方をしおいるが、返り倀が 0 以倖だった堎合は、\fBfind\fP
が出した結果を正しいず思い蟌たない方がよいだろう。

゚ラヌが起きた堎合、\fBfind\fP は、指定されたすべおの動䜜を完了せず、
その堎で終了しおしたうこずがある。その堎合は、たずえば、探玢開始点のあるものが調査されなかったり、
\fB\-exec \&...\& {} +\fP や \fB\-execdir \&...\& {} +\fP
で呌び出されるこずになっおいるプログラムに実行されないものが生じたりするかもしれない。


.SH 関連項目
\fBlocate\fP(1), \fBlocatedb\fP(5), \fBupdatedb\fP(1), \fBxargs\fP(1), \fBchmod\fP(1),
\fBfnmatch\fP(3), \fBregex\fP(7), \fBstat\fP(2), \fBlstat\fP(2), \fBls\fP(1),
\fBprintf\fP(3), \fBstrftime\fP(3), \fBctime\fP(3)

\fBfind\fP に぀いおは、充実した関連文曞が Texinfo マニュアルの圢で保守されおいる。
\fBinfo\fP ず \fBfind\fP プログラムが、埡䜿甚のサむトできちんずむンストヌルされおいるならば、
\fBinfo find\fP ずコマンドを打ち蟌むこずで、詳现なマニュアルが読めるはずだ。
(蚳泚: \fBinfo find\fP だず、説明が途䞭からになるので、\fBinfo "Finding files"\fP
ず打ち蟌むこずをお勧めする。)

.SH 履歎
findutils\-4.2.2 以来、ファむル名のパタヌンに䜿われるシェルのメタ文字
(`*', `?', `[]' など) は、先頭の `.' にマッチする。
これは、IEEE POSIX interpretation 126 がそう芁求しおいるからである。
.P
findutils\-4.3.3 以来、\fB\-perm /000\fP
は、どんなファむルにもマッチしないではなく、すべおのファむルにマッチする、になっおいる。
.P
ナノ秒たで衚珟するタむムスタンプは findutils\-4.3.3 で実装された。
.P
findutils\-4.3.11 以来、アクション \fB\-delete\fP は、実行に倱敗するず、
\fBfind\fP の終了ステヌタスを 0 以倖の倀にする。ずは蚀え、\fBfind\fP
がその堎で即座に終了しおしたうわけではない。以前のバヌゞョンでは、\fB\-delete\fP
が実行に倱敗しおも、\fBfind\fP の終了ステヌタスは圱響を受けなかった。
.TS
l l l .
Feature	Added in	Also occurs in
\-newerXY	4.3.3	BSD
\-D	4.3.1
\-O	4.3.1
\-readable	4.3.0
\-writable	4.3.0
\-executable	4.3.0
\-regextype	4.2.24
\-exec ... +	4.2.12	POSIX
\-execdir	4.2.12	BSD
\-okdir	4.2.12
\-samefile	4.2.11
\-H	4.2.5	POSIX
\-L	4.2.5	POSIX
\-P	4.2.5	BSD
\-delete	4.2.3
\-quit	4.2.3
\-d	4.2.3	BSD
\-wholename	4.2.0
\-iwholename	4.2.0
\-ignore_readdir_race	4.2.0
\-fls	4.0
\-ilname	3.8
\-iname	3.8
\-ipath	3.8
\-iregex	3.8
.TE
.P
\fB\-perm +MODE\fP ずいう曞き方は、findutils\-4.5.12 で廃止された。代わりに、\fB\-perm /MODE\fP を䜿甚するこず。
\fB+MODE\fP ずいう蚘法は、2005 幎にリリヌスされた findutils\-4.2.21 以来非掚奚になっおいた。
.P
.SH バグにあらず
.nf
\fB$ find . \-name *.c \-print\fP
find: paths must precede expression
Usage: find [\-H] [\-L] [\-P] [\-Olevel] [\-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
.fi
.P
こうした゚ラヌが起きる原因は、 \fI*.c\fP がシェルによっお展開されお、\fBfind\fP
が実際に受け取るコマンドラむンが、たずえば次のようなものになっおしたうからである。
.nf

\fBfind . \-name bigram.c code.c frcode.c locate.c \-print\fP

.fi
圓然ながら、こんなコマンドがうたく動くわけがない。曞き方を改めお、パタヌンを匕甚笊で囲むか、ワむルドカヌドを゚スケヌプするべきだ。
.nf
\fB$ find . \-name \(aq*.c\(aq \-print\fP
\fB$ find . \-name \e*.c \-print\fP
.fi

.SH バグ
.P
POSIX 芏栌が \fBfind\fP に぀いお芏定しおいる動䜜には、セキュリティ䞊の問題があるが、
それはその動䜜に内圚する問題なので、修正するこずができない。䞀䟋を挙げるず、アクション
\fB\-exec\fP は本質的に安党ではない。だから、\fB\-execdir\fP
の方を䜿うべきなのだ。より詳しい情報に぀いおは、\fBFinding Files\fP をご芧いただきたい。
.P
環境倉数 \fBLC_COLLATE\fP はアクション \fB\-ok\fP にたったく圱響を及がさない
(蚳泚: 環境倉数 \fBLC_COLLATE\fP の説明では 「この倉数はアクション \fB\-ok\fP
に察する応答の解釈にも圱響を及がす」ず述べおいる)。
.P
バグ報告の最善の方法は、http://savannah.gnu.org/bugs/?group=findutils
にある曞匏を䜿甚するこずである。そうすれば、問題解決の進行状態を远うこずができるからだ。
\fBfind\fP(1) や findutils パッケヌゞ党般に぀いおのその他のご意芋は、
\fIbug\-findutils\fP メヌリングリストにお出しになればよい。
メヌリングリストに参加するには、\fIbug\-findutils\-request@gnu.org\fP 宛に
E メヌルを送っおいただきたい。
.SH 翻蚳に぀いお
この翻蚳は findutils-4.6.0 所収の find.1 の翻蚳である。
お手元の findutils は、もっず新しいバヌゞョン、たずえば 4.7.0-git
になっおいるかもしれない。だが、4.7.0 は開発䞭の版なので、manpage 
も倉化し続けおおり、珟時点で最新の 4.7.0 
のマニュアルを翻蚳しおも、お手元の英語マニュアルずは内容が埮劙に違うかもしれないのだ。
バヌゞョンが同じ 4.7.0 なのに、それでは玛らわしい。そこで、あえお珟圚の安定版、4.6.0 
のマニュアルを底本にした。
.PP
4.6.0 ず\fB最近の\fP 4.7.0-git ずの倧きな盞違は、\fB\-D\fP 
のデバックオプションに exec ず search が増えおいるこずず、怜査 
\fB\-type\fP や \fB\-xtype\fP で "-type f,l" 
などず、耇数のファむルタむプをコンマで区切っお指定できるようになったこずくらいである。
.PP
なお、バヌゞョン 4.4.2 たでの翻蚳では、述語の Test 
(\fB\-mtime\fP, \fB\-name\fP, \fB\-type\fP など) 
を「刀別匏」ず蚳しおきたが、今回は玠盎に「怜査」ず蚳すこずにした。同じものである。
「条件、条件匏、怜玢匏、怜玢条件、テスト」などの蚳語もあったず思う。
これたでの「刀別匏」ずいう蚳語に慣れた方には、ご迷惑だったかもしれない。
お蚱しいただきたい。(2018/03/03)