Manpages

名 前

find − デ ィ レ ク ト リ 階 層 を た ど っ て 、 条 件 を 満 た す フ ァ イ ル を 検 索 す る

書 式

find [−H] [−L] [−P] [−D debugopts] [−Olevel] [starting−point...] [expression]

説 明

こ の マ ニ ュ ア ル ペ ー ジ は GNU 版 find の 使 用 法 を 説 明 し て い る 。 GNU 版 find は 、 指 定 さ れ た 探 索 開 始 点 (訳 注 : 探 索 の 始 点 と な る パ ス 。 上 記 書 式 の starting−point...) 以 下 の デ ィ レ ク ト リ ツ リ ー を 一 つ づ つ 探 索 し 、 与 え ら れ た 式 (訳 注 : 上 記 書 式 の expression) を 、 優 先 規 則 に 従 い つ つ (「 演 算 子 」 セ ク シ ョ ン を 参 照 )、 左 か ら 右 へ 評 価 す る こ と に よ っ て 検 索 を 行 う 。 式 の 結 果 が 確 定 す る と (た と え ば 、 and 演 算 で 左 辺 が 偽 に な っ た 場 合 や 、 or 演 算 で 左 辺 が 真 に な っ た 場 合 な ど )、 find は 処 理 の 対 象 を 次 の フ ァ イ ル 名 に 移 す 。 探 索 開 始 点 が 指 定 さ れ て い な い 場 合 は 、 ’.’ が 指 定 さ れ た も の と 見 な さ れ る 。 も し find を 使 用 し て い る の が 、 セ キ ュ リ テ ィ の 問 題 を お ろ そ か に で き な い 環 境 な ら (た と え ば 、 find を 使 っ て 探 索 し て い る デ ィ レ ク ト リ が 、 自 分 以 外 の ユ ー ザ に も 書 き 込 み 可 能 な 場 合 な ど )、 findutils 関 連 文 書 の 「 Security Considerations」 の 章 を お 読 み に な る と よ い 。 Finding Files と い う 文 書 で 、 findutils に 同 梱 さ れ て い る は ず だ (訳 注 : info "Finding Files" で 読 む こ と が で き る )。 そ の 文 書 で は 、 他 の 点 に つ い て も こ の マ ニ ュ ア ル ペ ー ジ よ り は る か に 詳 し い 説 明 や 考 察 が 行 わ れ て い る の で 、 こ の 文 書 以 上 に 情 報 源 と し て お 役 に 立 つ こ と だ ろ う 。

オ プ シ ョ ン

−H, −L, −P と い う オ プ シ ョ ン は 、 シ ン ボ リ ッ ク リ ン ク を ど う 処 理 す る か を 決 め る 。 こ う し た オ プ シ ョ ン に 続 く コ マ ン ド ラ イ ン 引 き 数 は 、 探 索 対 象 と な る フ ァ イ ル 名 や デ ィ レ ク ト リ 名 と 見 な さ れ る 。 た だ し 、 そ れ は 、 ’−’ で 始 ま る 引 き 数 や 、 ’(’ と か ’!’ と い う 引 き 数 が 、 続 い て 現 れ る ま で だ 。 そ う し た 引 き 数 、 及 び そ れ に 続 く い か な る 引 き 数 も 、 何 を 捜 す べ き か を 記 述 し た 式 で あ る と 解 釈 さ れ る 。 探 索 開 始 点 の パ ス が 一 つ も 指 定 さ れ て い な い 場 合 は 、 カ レ ン ト デ ィ レ ク ト リ 以 下 が 探 索 の 対 象 に な る 。 ま た 、 式 が 一 つ も 指 定 さ れ て い な い 場 合 は 、 −print が 式 と し て 使 用 さ れ る (も っ と も 、 い か な る 場 合 で も 、 −print の 代 わ り に −print0 の 使 用 を 考 え た 方 が 多 分 よ い だ ろ う が )。 こ の マ ニ ュ ア ル ペ ー ジ で 説 明 す る 「 オ プ シ ョ ン 」 に は 、 式 の 一 部 と し て 使 わ れ る も の も あ る 。 そ う し た オ プ シ ョ ン は 、 find の 動 作 を 制 御 す る も の で あ り 、 指 定 す る 位 置 は 、 探 索 開 始 点 の 最 後 の パ ス 名 の す ぐ 後 に な る 。 こ れ に 対 し て 、 −H, −L, −P, −D, −O と い う 五 つ の 「 本 来 」 の オ プ シ ョ ン は 、 指 定 す る な ら 、 最 初 の パ ス 名 の 前 で 指 定 し な け れ ば な ら な い 。 な お 、 ダ ッ シ ュ を 二 個 重 ね た −− を 使 用 し て 、 後 に 続 く 引 き 数 は オ プ シ ョ ン で は な い と 明 示 す る こ と も 可 能 だ (そ れ で も 、 探 索 開 始 点 と な る パ ス 名 の リ ス ト で ワ イ ル ド カ ー ド を 使 用 す る な ら ば 、 始 点 の す べ て が ’./’ か ’/’ で 始 ま る よ う に し て お い た 方 が 、 た い て い 無 難 で あ る )。

−P シ ン ボ リ ッ ク リ ン ク を ま っ た く た ど ら な い 。 こ れ が デ フ ォ ル ト の 動 作 で あ る 。

find が フ ァ イ ル の 情 報 を 調 べ た り 表 示 し た り す る 際 に 、 そ の フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク だ っ た ら 、 そ の シ ン ボ リ ッ ク リ ン ク そ の も の の プ ロ パ テ ィ か ら 取 得 し た 情 報 が 使 用 さ れ る こ と に な る 。

−L シ ン ボ リ ッ ク リ ン ク を た ど る 。

find が フ ァ イ ル の 情 報 を 調 べ た り 表 示

し た り す る 際 に 、 リ ン ク 先 の フ ァ イ ル の プ ロ パ テ ィ か ら 取 得 し た 情 報 が 使 用 さ れ る こ と に な り 、 リ ン ク そ の も の の 情 報 は 利 用 さ れ な い (た だ し 、 シ ン ボ リ ッ ク リ ン ク が リ ン ク 切 れ し て い た り 、 find が リ ン ク 先 の フ ァ イ ル を 調 べ る こ と が で き な か っ た 場 合 は 除 く )。 こ の オ プ シ ョ ン を 使 用 す る と 、 自 動 的 に −noleaf が 指 定 さ れ る 。 後 で −P オ プ シ ョ ン を 指 定 し 直 し て も 、 −noleaf は 依 然 と し て 有 効 な ま ま で あ る 。 −L が 有 効 に な っ て い る と き 、 find が 探 索 中 に サ ブ デ ィ レ ク ト リ を 指 す シ ン ボ リ ッ ク リ ン ク に 出 会 う と 、 そ の シ ン ボ リ ッ ク リ ン ク が 参 照 し て い る サ ブ デ ィ レ ク ト リ が 探 索 さ れ る 。

−L オ プ シ ョ ン が 有 効 だ と 、 述 語 −type は (訳 注 : 「 述 語 (predicate)」 と は 、 式 を 構 成 す る 基 本 要 素 、 す な わ ち 、 オ プ シ ョ ン 、 検 査 、 ア ク シ ョ ン の こ と )、 シ ン ボ リ ッ ク リ ン ク そ の も の に 対 し て で は な く 、 常 に シ ン ボ リ ッ ク リ ン ク が 指 し て い る フ ァ イ ル の タ イ プ に 対 し て マ ッ チ を 行 う よ う に な る (シ ン ボ リ ッ ク リ ン ク が リ ン ク 切 れ し て い る 場 合 を 除 く )。 find の 実 行 中 に シ ン ボ リ ッ ク リ ン ク が リ ン ク 切 れ に な る よ う な ア ク シ ョ ン を 行 う と (た と え ば 、 −delete を 使 う と )、 動 作 が わ け の わ か ら な い も の に な る か も し れ な い 。 −L を 使 用 す る と 、 述 語 −lname−ilname は 常 に 偽 を 返 す 。

−H コ マ ン ド ラ イ ン 上 で 指 定 さ れ た 引 き 数 を 処 理 す る と き 以 外 、 シ ン ボ リ ッ ク リ ン ク を た ど ら な い 。 す な わ ち 、 原 則 と し て 、

find が フ ァ イ ル の 情 報 を 調 べ た り 表 示 し た り す る 際 に 、 シ ン ボ リ ッ ク リ ン ク そ の も の の プ ロ パ テ ィ か ら 取 得 し た 情 報 が 使 用 さ れ る こ と に な る 。 た だ し 、 こ の 動 作 に は 例 外 が 一 つ あ り 、 そ れ は 、 コ マ ン ド ラ イ ン で 指 定 さ れ た フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク で あ り 、 そ の リ ン ク が 解 決 で き る 場 合 だ 。 そ の 場 合 は 、 リ ン ク 先 が 何 で あ れ 、 そ こ か ら 取 得 し た 情 報 が 使 用 さ れ (つ ま り 、 リ ン ク が た ど ら れ る )、 シ ン ボ リ ッ ク リ ン ク 自 体 の 情 報 は 、 リ ン ク 先 の フ ァ イ ル を 調 べ る こ と が で き な か っ た と き の 、 控 え の 情 報 と し て 使 用 さ れ る 。 な お 、 −H が 有 効 な と き 、 コ マ ン ド ラ イ ン で 指 定 さ れ た パ ス の 中 に (訳 注 : つ ま り 探 索 開 始 点 の 中 に ) デ ィ レ ク ト リ へ の シ ン ボ リ ッ ク リ ン ク が あ っ た 場 合 も 、 そ の デ ィ レ ク ト リ の 中 身 が 調 べ ら れ る こ と に な る (も っ と も 、 −maxdepth 0 を 指 定 す れ ば 、 当 然 な が ら 、 こ の 動 作 は 抑 制 さ れ る こ と に な る だ ろ う が )。 一 つ 以 上 の −H, −L, −P を 指 定 し た 場 合 は 、 後 の も の が 前 の も の を 上 書 き す る 。 従 っ て 、 コ マ ン ド ラ イ ン で 最 後 に 指 定 さ れ た も の が 、 効 果 を 持 つ わ け だ 。 −P は デ フ ォ ル ト な の で 、 −H−L を 指 定 し な い か ぎ り 、 −P オ プ シ ョ ン が 有 効 に な っ て い る と 考 え る べ き で あ る 。

GNU find は 実 際 の 探 索 に 取 り か か る 前 に コ マ ン ド ラ イ ン の 処 理 を 行 う が 、 そ の 際 stat シ ス テ ム コ ー ル を 使 っ て フ ァ イ ル の 情 報 を 調 べ る こ と が よ く あ る 。 上 述 の オ プ シ ョ ン は 、 そ の と き 引 き 数 が ど う 処 理 さ れ る か に も 影 響 を 与 え る 。 具 体 的 に 説 明 し よ う 。 い く つ か の 検 査 で は 、 コ マ ン ド ラ イ ン で 指 定 し た フ ァ イ ル を 目 下 検 査 の 対 象 に な っ て い る フ ァ イ ル と 照 合 す る 。 い づ れ の 検 査 で も 、 コ マ ン ド ラ イ ン で 指 定 し た フ ァ イ ル は 、 情 報 が 調 べ ら れ た 後 、 そ の プ ロ パ テ ィ の い く つ か が 保 存 さ れ る こ と に な る 。 名 前 を 指 定 し た フ ァ イ ル が 実 際 に は シ ン ボ リ ッ ク リ ン ク で あ る と き 、 −P オ プ シ ョ ン が 有 効 な 場 合 は (す な わ ち 、 −H−L の ど ち ら の オ プ シ ョ ン も 指 定 さ れ て い な い 場 合 は )、 照 合 に 使 用 さ れ る 情 報 は 、 シ ン ボ リ ッ ク リ ン ク の プ ロ パ テ ィ か ら 取 得 し た も の で あ る 。 そ れ 以 外 の 場 合 、 使 用 さ れ る の は リ ン ク 先 の フ ァ イ ル の プ ロ パ テ ィ か ら 取 得 し た 情 報 だ 。 た だ し 、 find が (た と え ば 、 権 限 が 不 十 分 だ と か 、 リ ン ク 先 の フ ァ イ ル が 存 在 し な い と か の 理 由 で ) リ ン ク を た ど れ な い 場 合 は 、 リ ン ク そ の も の の プ ロ パ テ ィ が 使 わ れ る こ と に な る 。

−H−L オ プ シ ョ ン が 有 効 な 場 合 は 、 −newer の 引 き 数 と し て 指 定 さ れ た の が シ ン ボ リ ッ ク リ ン ク な ら 、 そ の 参 照 が た ど ら れ て 、 リ ン ク 先 の フ ァ イ ル か ら タ イ ム ス タ ン プ が 取 得 さ れ る こ と に な る 。 同 じ こ と が 、 −newerXY, −anewer, −cnewer に つ い て も 言 え る 。 式 の 一 部 と し て 使 用 さ れ る −follow オ プ シ ョ ン に は −L と 同 様 の 効 果 が あ る が 、 そ れ が 現 れ た 位 置 か ら 有 効 に な る と い う 点 が 異 な る (す な わ ち 、 −L が 使 わ れ ず に 、 −follow が 使 わ れ た 場 合 、 −follow よ り 後 で 指 定 さ れ た い か な る シ ン ボ リ ッ ク リ ン ク も 参 照 が た ど ら れ る が 、 そ の 前 に 指 定 さ れ た シ ン ボ リ ッ ク リ ン ク は 参 照 が た ど ら れ な い )。
−D debugoptions 診 断 用 の 情 報 を 出 力 す る 。 find が 期 待 ど お り に 動 い て く れ な い と き 、 問 題 の 原 因 追 求 に 役 立 つ こ と が あ る 。 デ バ ッ グ オ プ シ ョ ン を 複 数 指 定 す る と き は 、 コ ン マ で 区 切 る 。 findutils の バ ー ジ ョ ン の 間 で 、 デ バ ッ グ オ プ シ ョ ン の 互 換 性 は 保 証 さ れ て い な い 。 有 効 な 全 デ バ ッ グ オ プ シ ョ ン の リ ス ト に つ い て は 、 find −D help の 出 力 を 見 る と よ い 。 有 効 な デ バ ッ グ オ プ シ ョ ン の 中 に は 、 以 下 の も の が あ る 。

help デ バ ッ グ 用 オ プ シ ョ ン を 説 明 す る 。

tree 式 の 構 造

(expression tree) を オ リ ジ ナ ル な 形 と 最 適 化 し た 形 で 示 す 。

stat

statlstat シ ス テ ム コ ー ル を 使 っ て フ ァ イ ル を 調 べ た と き 、 メ ッ セ ー ジ を 表 示 す る 。 find プ ロ グ ラ ム は 、 そ う し た シ ス テ ム コ ー ル の 回 数 を 最 少 に し よ う と す る 。

opt

式 の 構 造 (expression tree) の 最 適 化 に 関 す る 診 断 情 報 を 表 示 す る 。 −O オ プ シ ョ ン を 参 照 。
rates

各 述 語 が 何 回 成 功 し 、 何 回 失 敗 し た か を 示 す 情 報 を 要 約 し て 表 示 す る 。

−Olevel 問 い 合 わ せ の 最 適 化 を 有 効 に す る 。 find プ ロ グ ラ ム は 、 全 体 的 な 効 果 を 維 持 し つ つ 、 検 査 の 順 序 を 並 べ 替 え る こ と に よ っ て 、 実 行 速 度 を 上 げ る 。 す な わ ち 、 付 加 的 な 作 用 の あ る 述 語 同 士 に つ い て は 、 相 互 の 相 対 的 な 順 序 を 変 更 し な い と い う こ と だ 。 各 最 適 化 レ ベ ル で 行 わ れ る 最 適 化 は 、 以 下 の と お り で あ る 。

0 最 適 化 レ ベ ル

1 と 同 じ で あ る 。

1 こ れ は デ フ ォ ル

ト の 最 適 化 レ ベ ル で あ り 、 伝 統 的 な 動 作 に 当 た る 。 式 を 並 べ 替 え る と き 、 フ ァ イ ル 名 に の み 基 づ い た 検 査 (た と え ば 、 −name−regex) が 先 に 実 行 さ れ る よ う に す る 。

2

検 査 −type−xtype の 実 行 は 、 フ ァ イ ル 名 の み に 基 づ い た い か な る 検 査 よ り も 後 に な る が 、 inode か ら 情 報 を 取 得 す る 必 要 が あ る ど ん な 検 査 よ り も 先 に な る 。 最 近 の Unix に は readdir() 関 数 で フ ァ イ ル タ イ プ を 取 得 で き る も の が 多 い の で 、 こ う し た 述 語 は 、 stat 関 数 で フ ァ イ ル の 情 報 を 取 得 す る と こ ろ か ら 始 め な け れ ば な ら な い 述 語 よ り も 、 評 価 に 時 間 が か か ら な い の で あ る 。 な お 、 −fstype FOO と い う 述 語 を 使 っ た 場 合 に 、 find の 起 動 時 に 既 知 に な っ て い な い (す な わ ち 、 ’/etc/mtab’ に 存 在 し な い ) フ ァ イ ル シ ス テ ム の タ イ プ FOO を 指 定 す る と 、 −fstype FOO−false と 同 じ こ と に な る 。

3

こ の 最 適 化 レ ベ ル で は 、 コ ス ト に 基 づ い た 問 い 合 わ せ の 最 適 化 を 徹 底 し て 行 う 機 能 が 有 効 に な る 。 検 査 の 順 序 が 必 要 な ら 変 更 さ れ 、 コ ス ト の か か ら な い (す な わ ち 、 速 い ) 検 査 が 先 に 行 わ れ て 、 よ り コ ス ト の か か る 検 査 が 後 回 し に さ れ る 。 コ ス ト が ほ ぼ 同 じ 場 合 に は 、 そ の 述 語 が 真 を 返 し そ う か 、 偽 を 返 し そ う か に よ っ て 、 評 価 の 順 番 が 変 わ っ て く る 。 or 演 算 で は 、 真 を 返 し そ う な 述 語 が 先 に 評 価 さ れ 、 and 演 算 で は 、 偽 に な り そ う な 述 語 が 先 に 評 価 さ れ る の で あ る 。 コ ス ト に 基 づ い た 最 適 化 機 能 は 、 あ る 検 査 が 真 を 返 す 確 率 に つ い て 一 定 の 考 え を 持 っ て い る 。 場 合 に よ っ て は 、 そ の 確 率 に つ い て 、 問 題 の テ ス ト の 特 性 が 考 慮 さ れ る こ と も あ る (た と え ば 、 −type f は 、 −type c よ り も 、 真 に な る 可 能 性 が 高 い と 見 な さ れ る )。 コ ス ト に 基 づ い た 最 適 化 機 能 は 、 現 在 の と こ ろ そ の 効 果 を 評 価 中 で あ る 。 も し 、 そ れ に よ っ て find の 性 能 が 実 際 に 向 上 す る こ と が な け れ ば 、 捨 て ら れ る こ と に な る だ ろ う 。 反 対 に 、 信 頼 性 が あ り 、 問 題 を 起 こ し に く く 、 効 果 的 で あ る こ と が は っ き り し た 最 適 化 は 、 そ の う ち 下 位 の 最 適 化 レ ベ ル で も 採 用 さ れ る か も し れ な い 。 と は 言 え 、 リ リ ー ス 4.3.x の シ リ ー ズ で は 、 デ フ ォ ル ト の 動 作 (す な わ ち 、 最 適 化 レ ベ ル 1) を 変 更 す る 予 定 は な い 。 な お 、 findutils の ソ ー ス に 付 属 す る テ ス ト 集 は 、 そ の テ ス ト の す べ て を 各 最 適 化 レ ベ ル の find で 実 行 し て 、 ど の 最 適 化 レ ベ ル で も 結 果 が 同 じ に な る こ と を 保 証 し て い る 。

式 (EXPRESSION)

コ マ ン ド ラ イ ン 上 で 探 索 開 始 点 (starting−point) の リ ス ト の 後 ろ に 続 く 部 分 は 、 「 式 (expression)」 で あ る 。 式 は 、 言 わ ば 問 い 合 わ せ の 細 目 の よ う な も の で あ り 、 ど う い う フ ァ イ ル が マ ッ チ す る の か と 、 そ の マ ッ チ し た フ ァ イ ル を ど う 処 理 す る の か を 記 述 し て い る 。 式 は 一 連 の 要 素 か ら な っ て い る (訳 注 : こ の マ ニ ュ ア ル で は 、 そ う し た 式 の 要 素 、 特 に オ プ シ ョ ン 、 検 査 、 ア ク シ ョ ン を ま と め て 「 述 語 (predicate)」 と 呼 ん で い る )。 検 査

(Tests) 検 査 は 、 通 常 、 考 慮 の 対 象 に な っ て い る フ ァ イ ル の 何 ら か の 属 性 情 報 (property) に 基 づ い て 、 真 ま た は 偽 の 値 を 返 す 。 た と え ば 、 −empty と い う 検 査 は 、 対 象 に な っ て い る フ ァ イ ル が 空 の 場 合 に の み 、 真 に な る 。

[訳 注 ]: バ ー ジ ョ ン

4.4.2 ま で の 翻 訳 で は 、 こ の Tests を 「 判 別

式 」 と 訳 し て き た が 、 今 回 は 素 直 に 「 検 査 」 と 訳 す こ と に し た 。 同 じ も の で あ る 。 ア ク シ ョ ン

(Actions) ア ク シ ョ ン に は 付 加 的 な 作 用 が あ り (た と え ば 、 標 準 出 力 に 何 か を 表 示 す る な ど )、 通 常 、 そ の 作 用 の 実 行 に 成 功 し た か 失 敗 し た か に 基 づ い て 、 真 ま た は 偽 を 返 す 。 た と え ば 、 −print と い う ア ク シ ョ ン は 、 対 象 に な っ て い る フ ァ イ ル の 名 前 を 標 準 出 力 に 表 示 す る 。 グ ロ ー バ ル オ プ シ ョ ン
(Global options) グ ロ ー バ ル オ プ シ ョ ン は 、 検 査 や ア ク シ ョ ン が コ マ ン ド ラ イ ン 中 の ど こ で 指 定 さ れ て い て も 、 そ の 動 作 に 影 響 を 与 え る 。 ま た 、 グ ル ー バ ル オ プ シ ョ ン は 、 常 に 真 を 返 す 。 た と え ば 、 −depth オ プ シ ョ ン を 指 定 す る と 、 find は 、 フ ァ イ ル シ ス テ ム を た ど る と き 、 深 い 方 か ら 先 に (depth−first order) 処 理 し て い く こ と に な る (訳 注 : 下 記 の −depth の 説 明 を 参 照 )。 位 置 オ プ シ ョ ン
(Positional options) 位 置 オ プ シ ョ ン が 影 響 を 与 え る の は 、 そ れ よ り 後 に 続 く 検 査 や ア ク シ ョ ン に 対 し て だ け で あ る 。 ま た 、 位 置 オ プ シ ョ ン は 常 に 真 を 返 す 。 た と え ば 、 −regextype オ プ シ ョ ン は 、 そ の 位 置 が 意 味 を 持 ち 、 コ マ ン ド ラ イ ン 上 で そ れ よ り 後 に 現 れ る 正 規 表 現 に 対 し て 、 正 規 表 現 の ど の 方 言 か を 指 定 す る こ と に な る 。 演 算 子
(Operators) 演 算 子 は 、 式 を 構 成 す る 事 項 同 士 を 結 び つ け る も の で あ る 。 演 算 子 に は 、 −o (論 理 OR を 意 味 す る ) や −a (論 理 AND を 意 味 す る ) な ど が あ る 。 演 算 子 が な い と こ ろ に は 、 −a が あ る も の と 見 な さ れ る 。 式 の 中 に −prune−print 以 外 の ア ク シ ョ ン が ま っ た く 存 在 し な い 場 合 は 、 式 全 体 の 結 果 が 真 に な っ た す べ て の フ ァ イ ル に 対 し て −print が 実 行 さ れ る 。

−delete と い う ア ク シ ョ ン は オ プ シ ョ ン の よ う に も 働 く (自 動 的 に −depth を 有 効 に す る か ら で あ る )。 位 置 オ プ シ ョ ン 位 置 オ プ シ ョ ン は 、 常 に 真 を 返 す 。 位 置 オ プ シ ョ ン が 影 響 を 与 え る の は 、 コ マ ン ド ラ イ ン 上 で そ れ よ り 後 に 現 れ る 検 査 に 対 し て だ け で あ る 。
−daystart

−amin, −atime, −cmin, −ctime, −mmin, −mtime に お い て 、 今 日 (す な わ ち 0 日 前 ) の 始 ま り を 今 現 在 か ら 24 時 間 前 で は な く 、 コ マ ン ド 実 行 当 日 の 0 時 に す る 。 こ の オ プ シ ョ ン が 影 響 を 及 ぼ す の は 、 コ マ ン ド ラ イ ン で 自 分 よ り 後 に 指 定 さ れ た 検 査 に 対 し て だ け で あ る 。

[訳 注 ]:

−amin, −cmin, −mmin の こ と も 考 慮 す る な ら 、 「 デ フ ォ ル ト で は 時 間 を 計 算 す る と き の 基 点 を 今 現 在 に 置 く が 、 −daystart を 指 定 す る と 、 時 間 計 算 の 基 点 が 今 日 の 24:00 に な る 」 と 考 え れ ば 、 わ か り や す い か も し れ な い 。

−follow 非 推 奨 で あ る 。 −L オ プ シ ョ ン を 代 わ り に 使 う 方 が よ い 。 シ ン ボ リ ッ ク リ ン ク を た ど る 。 −noleaf が 自 動 的 に 設 定 さ れ る 。 −follow オ プ シ ョ ン が 影 響 を 及 ぼ す の は 、 コ マ ン ド ラ イ ン で 自 分 よ り 後 に 指 定 さ れ た 検 査 に 対 し て だ け で あ る 。 −H−L オ プ シ ョ ン が 指 定 さ れ て い な い 場 合 、 −follow オ プ シ ョ ン の 位 置 に よ っ て 述 語 −newer の 動 作 が 変 わ っ て く る 。 −newer−follow の 後 に 来 れ ば 、 −newer の 引 き 数 と し て 指 定 さ れ た い か な る フ ァ イ ル も 、 そ れ が シ ン ボ リ ッ ク リ ン ク な ら 、 リ ン ク を た ど ら れ る こ と に な る わ け だ 。 同 じ こ と が −newerXY, −anewer, −cnewer に つ い て も 言 え る 。 同 様 に 、 述 語 −type も 、 シ ン ボ リ ッ ク リ ン ク そ の も の で は な く 、 必 ず シ ン ボ リ ッ ク リ ン ク が 参 照 し て い る フ ァ イ ル の タ イ プ に 対 し て マ ッ チ を 行 う よ う に な る 。 −follow を 使 用 す る と 、 述 語 −lname−ilname は 常 に 偽 を 返 す 。
−regextype type 検 査 −regex−iregex が 理 解 す る 正 規 表 現 の 文 法 を 変 更 す る 。 こ の オ プ シ ョ ン よ り コ マ ン ド ラ イ ン の 後 方 で 指 定 す る −regex な ど に 対 し て 効 果 が あ る 。 ど う い う 正 規 表 現 の タ イ プ が 使 え る か を 知 る に は 、 −regextype help を 使 用 す れ ば よ い 。 様 々 な タ イ プ の 正 規 表 現 が 、 ど ん な も の で 、 ど こ が 違 う か に つ い て は 、 find の Texinfo 文 書 に 説 明 が あ る (「 関 連 項 目 」 を 参 照 )。
−warn, −nowarn 警 告 メ ッ セ ー ジ の 表 示 、 非 表 示 を 切 り 替 え る 。 こ こ で 言 う 警 告 と は 、 も っ ぱ ら コ マ ン ド ラ イ ン の 使 用 法 に 関 す る も の で あ り 、 find が デ ィ レ ク ト リ を 探 索 中 に 出 会 う か も し れ な い 何 ら か の 状 況 に 関 す る も の で は な い 。 デ フ ォ ル ト の 動 作 は 、 標 準 入 力 が tty で あ れ ば 、 −warn で あ り 、 そ れ 以 外 の 場 合 は 、 −nowarn で あ る 。 コ マ ン ド ラ イ ン の 使 用 法 に 関 す る 警 告 メ ッ セ ー ジ が 生 ず る 場 合 で も 、 find の 終 了 ス テ ー タ ス は 影 響 を 受 け な い 。 な お 、 環 境 変 数 POSIXLY_CORRECT が 設 定 さ れ 、 し か も −warn ま で 指 定 さ れ た 場 合 に 、 警 告 を 出 す と し て も 、 ど の 警 告 を 出 す か は 決 ま っ て い な い (訳 注 : POSIX の 規 定 で は 、 find は 基 本 的 に 、 エ ラ ー メ ッ セ ー ジ は 出 し て も 、 警 告 メ ッ セ ー ジ は 出 さ な い こ と に な っ て い る 。 だ か ら 、 POSIXLY_CORRECT と −warn の 両 方 を 指 定 す る の は 、 使 用 法 に 混 乱 が あ る の で あ る 。 ち な み に 、 手 元 の 4.6.0 で は 警 告 は 出 な い )。 グ ロ ー バ ル オ プ シ ョ ン グ ロ ー バ ル オ プ シ ョ ン は 常 に 真 を 返 す 。 グ ロ ー バ ル オ プ シ ョ ン は 、 コ マ ン ド ラ イ ン 上 で そ れ よ り も 前 に あ る 検 査 に 対 し て も 効 果 を 持 つ 。 混 乱 を 避 け る た め に は 、 グ ロ ー バ ル オ プ シ ョ ン は 、 コ マ ン ド ラ イ ン 上 で 、 探 索 開 始 点 の リ ス ト の 後 ろ 、 検 査 や 位 置 オ プ シ ョ ン や ア ク シ ョ ン が 現 れ る 前 に 指 定 す べ き で あ る 。 グ ロ ー バ ル オ プ シ ョ ン を 他 の 場 所 で 指 定 す る と 、 find は 「 混 乱 の 元 に な り か ね な い 」 旨 の 警 告 メ ッ セ ー ジ を 出 す 。 グ ロ ー バ ル オ プ シ ョ ン の 位 置 は 、 探 索 開 始 点 の リ ス ト よ り 後 ろ で あ る 。 だ か ら 、 −L な ど と は 、 ま っ た く 別 種 の オ プ シ ョ ン で あ る 。

−d

−depth と 同 じ 。 FreeBSD, NetBSD, MacOS X, OpenBSD と の 互 換 性 の た め に あ る 。

−depth

デ ィ レ ク ト リ そ の も の よ り 先 に 、 デ ィ レ ク ト リ の 中 身 を 処 理 す る 。 ア ク シ ョ ン −delete を 使 用 す る と 、 −depth オ プ シ ョ ン も 自 動 的 に 設 定 さ れ る 。

−help, −−help

find の コ マ ン ド ラ イ ン の 使 用 法 を ざ っ と 説 明 し て 終 了 す る 。

−ignore_readdir_race 通 常 、 find は stat 関 数 で フ ァ イ ル 情 報 を 取 得 で き な か っ た と き 、 エ ラ ー メ ッ セ ー ジ を 出 す こ と に な っ て い る 。 と こ ろ が 、 こ の オ プ シ ョ ン を 指 定 し た 場 合 は 、 find が デ ィ レ ク ト リ か ら フ ァ イ ル 名 を 読 み 込 ん で か ら 、 そ の フ ァ イ ル に 対 し て stat 関 数 を 実 行 し よ う と す る ま で の 間 に 、 フ ァ イ ル が 消 去 さ れ て も 、 エ ラ ー は 表 示 さ れ な い 。 こ の 動 作 は 、 コ マ ン ド ラ イ ン で 名 前 を 指 定 し た フ ァ イ ル や デ ィ レ ク ト リ に 対 し て も 適 用 さ れ る 。 こ の オ プ シ ョ ン は コ マ ン ド ラ イ ン を 読 み 込 む 際 に 有 効 に な る の で 、 フ ァ イ ル シ ス テ ム の あ る 部 分 を こ の オ プ シ ョ ン を 有 効 に し て 探 索 し 、 別 の 部 分 は こ の オ プ シ ョ ン を 無 効 に し て 探 索 す る と い っ た こ と は で き な い (そ う し た こ と を や り た か っ た ら 、 find コ マ ン ド を 二 回 実 行 す る 必 要 が あ る だ ろ う 。 一 回 目 は 、 こ の オ プ シ ョ ン を 付 け て 、 も う 一 回 は こ の オ プ シ ョ ン な し で )。
−maxdepth levels 探 索 開 始 点 か ら 最 大 levels 段 階 下 の デ ィ レ ク ト リ ま で 探 索 す る (levels は 非 負 の 整 数 )。 −maxdepth 0 を 指 定 す る と 、 検 査 や ア ク シ ョ ン の 対 象 に な る の は 、 探 索 開 始 点 だ け に な る 。
−mindepth levels 探 索 開 始 点 か ら 少 な く と も levels 段 階 デ ィ レ ク ト リ を 下 降 す る ま で 、 い か な る 検 査 や ア ク シ ョ ン も 行 わ な い (levels は 非 負 の 整 数 )。 −mindepth 1 を 指 定 す る と 、 探 索 開 始 点 を 除 く す べ て の フ ァ イ ル を 処 理 す る こ と に な る 。

−mount ほ か の フ ァ イ ル シ ス テ ム に あ る デ ィ レ ク ト リ を 探 索 し な い 。 こ れ は

−xdev の 別 名 で あ り 、 系 統 の 違 う find と の 互 換 性 の た め に あ る 。
−noignore_readdir_race

−ignore_readdir_race の 効 果 を 無 効 に す る 。

−noleaf 「 デ ィ レ ク ト リ の ハ ー ド リ ン ク 数 か ら 2 を 引 い た も の が 、 そ の デ ィ レ ク ト リ に 含 ま れ る サ ブ デ ィ レ ク ト リ の 数 で あ る 」 と す る 最 適 化 動 作 を 行 わ な い 。 こ の オ プ シ ョ ン が 必 要 に な る の は 、 デ ィ レ ク ト リ と リ ン ク の 関 係 に つ い て Unix の 流 儀 に 従 わ な い フ ァ イ ル シ ス テ ム を 探 索 す る と き だ 。 た と え ば 、 CD−ROM や MS−DOS の フ ァ イ ル シ ス テ ム と か 、 AFS ボ リ ュ ー ム の マ ウ ン ト ポ イ ン ト な ど を 探 索 す る と き で あ る 。 通 常 の Unix フ ァ イ ル シ ス テ ム で は 、 各 デ ィ レ ク ト リ は 少 な く と も 2 個 の ハ ー ド リ ン ク を 持 っ て い る 。 デ ィ レ ク ト リ 名 の エ ン ト リ と 、 そ の デ ィ レ ク ト リ 中 の ’.’ エ ン ト リ で あ る 。 さ ら に 、 そ の デ ィ レ ク ト リ に サ ブ デ ィ レ ク ト リ が あ れ ば 、 サ ブ デ ィ レ ク ト リ そ れ ぞ れ に 、 親 デ ィ レ ク ト リ に ハ ー ド リ ン ク し た ’..’ エ ン ト リ が 存 在 す る 。 そ こ で 、 find と し て は 、 デ ィ レ ク ト リ を 調 べ る 際 に 、 デ ィ レ ク ト リ の ハ ー ド リ ン ク 数 よ り 2 だ け 少 な い 数 の サ ブ デ ィ レ ク ト リ を stat 関 数 で 調 べ た 時 点 で 、 デ ィ レ ク ト リ 中 の 残 り の エ ン ト リ は デ ィ レ ク ト リ で は な い (デ ィ レ ク ト リ ツ リ ー 中 の 枝 で は な く 、 「 葉 っ ぱ (leaf)]」 フ ァ イ ル で あ る ) と わ か る わ け だ 。 も し 、 調 べ る の が フ ァ イ ル 名 だ け で 充 分 な ら 、 フ ァ イ ル に 対 し て stat 関 数 を 実 行 す る 必 要 は も う な い 。 そ こ で 、 こ の 最 適 化 動 作 に よ っ て 、 検 索 速 度 が い ち じ る し く 向 上 す る わ け で あ る 。
−version, −−version

find の バ ー ジ ョ ン を 表 示 し て 終 了 す る 。

−xdev ほ か の フ ァ イ ル シ ス テ ム に あ る デ ィ レ ク ト リ を 探 索 し な い 。 検 査

(TESTS) 検 査 の 中 に は 、 た と え ば −newerXY−samefile の よ う に 、 現 在 検 査 の 対 象 に な っ て い る フ ァ イ ル と 、 コ マ ン ド ラ イ ン で 指 定 し た リ フ ァ レ ン ス フ ァ イ ル と を 比 較 す る こ と に な っ て い る も の が あ る 。 そ う し た リ フ ァ レ ン ス フ ァ イ ル が 実 際 に は 何 を 指 す か は 、 −H, −L, −P と い っ た オ プ シ ョ ン や 、 先 行 す る −follow の 存 在 に よ っ て 決 ま っ て く る 。 た だ し 、 リ フ ァ レ ン ス フ ァ イ ル が 調 べ ら れ る の は 、 一 回 だ け で あ り 、 そ れ は コ マ ン ド ラ イ ン の 解 析 が 行 わ れ る と き で あ る 。 リ フ ァ レ ン ス フ ァ イ ル を 調 べ る こ と が で き な い 場 合 は (た と え ば 、 そ れ に 対 す る stat(2) シ ス テ ム コ ー ル に 失 敗 す る な ど )、 エ ラ ー メ ッ セ ー ジ が 表 示 さ れ 、 find は 0 以 外 の ス テ ー タ ス で 終 了 す る 。 数 値 の 引 き 数 は 、 以 下 の 形 で 指 定 す る こ と が で き る 。

+n

n よ り 大 き い 。

−n

n よ り 小 さ い 。

n

ち ょ う ど n

−amin n フ ァ イ ル の 最 終 ア ク セ ス 日 時 が n 分 前 で あ れ ば 真 を 返 す 。
−anewer file フ ァ イ ル の 最 終 ア ク セ ス 日 時 が 、 file の 内 容 更 新 日 時 よ り も 新 し け れ ば 、 真 を 返 す 。 引 き 数 file が シ ン ボ リ ッ ク リ ン ク で 、 し か も −H−L オ プ シ ョ ン が 有 効 に な っ て い る 場 合 は 、 リ ン ク 先 の フ ァ イ ル の 内 容 更 新 日 時 が 比 較 に 使 用 さ れ る こ と に な る 。
−atime n フ ァ イ ル の 最 終 ア ク セ ス 日 時 が 、 基 点 と な る 時 刻 か ら 計 算 し て n 日 前 に 当 た れ ば 、 真 を 返 す (訳 注 : 基 点 と な る 時 刻 は 、 デ フ ォ ル ト で は find を 実 行 し て い る 今 現 在 で あ る )。 フ ァ イ ル の 最 終 ア ク セ ス 日 時 が 何 日 前 か を 計 算 す る 際 、 基 点 と な る 時 刻 と の 時 間 差 を 24 時 間 で 割 っ て 出 た 小 数 点 以 下 の 端 数 は 無 視 さ れ る 。 従 っ て 、 −atime +1 に マ ッ チ す る た め に は 、 フ ァ イ ル は 少 な く と も 二 日 前 に ア ク セ ス さ れ て い な け れ ば な ら な い 。 (訳 注 : デ フ ォ ル ト の 動 作 の よ う に 、 現 在 時 刻 か ら 数 え て 24 時 間 前 か ら 48 時 間 前 ま で を 1 日 前 と す る の で は な く 、 今 日 の 午 前 0 時 以 前 の 24 時 間 (つ ま り 、 日 常 的 な 意 味 で の 昨 日 ) を 1 日 前 と し て 計 算 し た い の な ら 、 位 置 オ プ シ ョ ン −daystart−atime の 前 に 置 け ば よ い 。 )
−cmin n フ ァ イ ル の 最 終 ス テ ー タ ス 変 更 日 時 が n 分 前 な ら ば 真 。
−cnewer file フ ァ イ ル の 最 終 ス テ ー タ ス 変 更 日 時 が 、 file の 内 容 更 新 日 時 よ り も 新 し け れ ば 、 真 を 返 す 。 引 き 数 file が シ ン ボ リ ッ ク リ ン ク で 、 し か も −H−L オ プ シ ョ ン が 有 効 に な っ て い る 場 合 は 、 リ ン ク 先 の フ ァ イ ル の 内 容 更 新 日 時 が 比 較 に 使 用 さ れ る こ と に な る 。
−ctime n フ ァ イ ル の 最 終 ス テ ー タ ス 変 更 日 時 が 、 基 点 と な る 時 刻 か ら 計 算 し て n 日 前 に 当 た れ ば 、 真 を 返 す (訳 注 : 基 点 と な る 時 刻 は 、 デ フ ォ ル ト で は find を 実 行 し て い る 今 現 在 で あ る )。 何 日 前 か を 計 算 す る 際 、 基 点 と な る 時 刻 と の 時 間 差 を 24 時 間 で 割 っ た 結 果 を 丸 め る た め に 、 フ ァ イ ル の ス テ ー タ ス 変 更 日 時 が 何 日 前 と 見 な さ れ る こ と に な る か に つ い て は 、 −atime の 説 明 を 参 照 し て い た だ き た い 。 (訳 注 : 要 す る に 、 割 り 算 の 際 に 、 小 数 点 以 下 の 端 数 を 切 り 捨 て る と い う こ と 。 な お 、 デ フ ォ ル ト の 動 作 の よ う に 、 現 在 時 刻 か ら 数 え て 24 時 間 前 か ら 48 時 間 前 ま で を 1 日 前 と す る の で は な く 、 今 日 の 午 前 0 時 以 前 の 24 時 間 (つ ま り 、 日 常 的 な 意 味 で の 昨 日 ) を 1 日 前 と し て 計 算 し た い の な ら 、 位 置 オ プ シ ョ ン −daystart−ctime の 前 に 置 け ば よ い 。 )

−empty フ ァ イ ル が 空 で 、 通 常 の フ ァ イ ル か デ ィ レ ク ト リ な ら ば 真 。

−executable 実 行 可 能 な フ ァ イ ル や (フ ァ イ ル 名 解 決 の 見 地 か ら 見 て ) 検 索 可 能 な デ ィ レ ク ト リ に マ ッ チ す る 。 検 査 −perm が ACL (ア ク セ ス ・ コ ン ト ロ ー ル ・ リ ス ト ) な ど の パ ー ミ ッ シ ョ ン 制 御 の 仕 組 み を 無 視 す る の に 対 し て 、 こ の 検 査 は ACL な ど も 考 慮 に 入 れ る 。 こ の 検 査 は access(2) シ ス テ ム コ ー ル を 使 用 し て い る の で 、 UID マ ッ ピ ン グ (ま た は root−squashing) を 行 っ て い る NFS サ ー バ が あ る と 、 正 確 な 結 果 を 得 ら れ な い こ と が あ る 。 な ぜ な ら 、 た い て い の シ ス テ ム で は access(2) を ク ラ イ ア ン ト の カ ー ネ ル で 実 装 し て お り 、 そ れ 故 、 サ ー バ 側 に 保 持 さ れ て い る UID マ ッ ピ ン グ 情 報 を 利 用 で き な い か ら だ 。 こ の 検 査 は ひ と え に access(2) シ ス テ ム コ ー ル の 結 果 に 基 づ い て い る の で 、 こ の 検 査 が 真 を 返 し た か ら と 言 っ て 、 そ の フ ァ イ ル が 実 際 に 実 行 で き る と は か ぎ ら な い 。

−false 常 に 偽 を 返 す 。

−fstype type フ ァ イ ル が 置 か れ て い る フ ァ イ ル シ ス テ ム が type な ら ば 、 真 を 返 す 。 有 効 な フ ァ イ ル シ ス テ ム は 、 Unix の 系 統 に よ っ て 様 々 で あ る 。 Unix の 系 統 次 第 で 指 定 可 能 な フ ァ イ ル シ ス テ ム を 不 完 全 な が ら 挙 げ る と 、 ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K な ど が あ る 。 ア ク シ ョ ン −printf で 書 式 指 定 子 %F を 使 え ば 、 現 在 使 用 中 の フ ァ イ ル シ ス テ ム の タ イ プ が 何 か を 知 る こ と が で き る 。

−gid n フ ァ イ ル の グ ル ー プ

ID 番 号 が n な ら ば 真 。

−group gname フ ァ イ ル の 属 す る グ ル ー プ が gname な ら ば 真 (グ ル ー プ ID 番 号 で 指 定 し て も よ い )。
−ilname pattern

−lname と 同 じ だ が 、 大 文 字 小 文 字 を 区 別 し な い 。 −L−follow オ プ シ ョ ン が 有 効 な 場 合 は 、 シ ン ボ リ ッ ク リ ン ク が リ ン ク 切 れ し て い る 場 合 を 除 き 、 こ の 検 査 は 偽 を 返 す 。

−iname pattern

−name と 同 じ だ が 、 大 文 字 小 文 字 を 区 別 し な い 。 た と え ば 、 パ タ ー ン ’fo*’ や ’F??’ は 、 ’Foo’, ’FOO’, ’foo’, ’fOo’ と い っ た フ ァ イ ル 名 と マ ッ チ す る 。 パ タ ー ン ’*foo*’ は 、 ’.foobar’ と い う フ ァ イ ル と も マ ッ チ す る こ と に な る 。

−inum n フ ァ イ ル の inode 番 号 が n な ら ば 真 。 た い て い の 場 合 、 こ の 検 査 よ り 、 −samefile を 使 っ た 方 が 簡 単 で あ る 。
−ipath pattern

−path と 同 じ だ が 、 大 文 字 小 文 字 を 区 別 し な い 。

−iregex pattern

−regex と 同 じ だ が 、 大 文 字 小 文 字 を 区 別 し な い 。

−iwholename pattern

−ipath 参 照 。 こ の 別 名 は 移 植 性 で −ipath に 劣 る 。

−links n フ ァ イ ル の ハ ー ド リ ン ク 数 が n な ら ば 真 。
−lname pattern フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク で あ り 、 リ ン ク 先 と し て 指 定 さ れ て い る パ ス が シ ェ ル の パ タ ー ン pattern に マ ッ チ す れ ば 、 真 を 返 す 。 メ タ 文 字 は 、 ’/’ や ’.’ を 例 外 扱 い し な い 。 −L−follow オ プ シ ョ ン が 有 効 な 場 合 は 、 シ ン ボ リ ッ ク リ ン ク が リ ン ク 切 れ し て い る 場 合 を 除 き 、 こ の 検 査 は 偽 を 返 す 。
−mmin n フ ァ イ ル の 最 終 内 容 更 新 日 時 が n 分 前 で あ れ ば 真 。
−mtime n フ ァ イ ル の 最 終 内 容 更 新 日 時 が 、 基 点 と な る 時 刻 か ら 計 算 し て n 日 前 に 当 た れ ば 、 真 を 返 す (訳 注 : 基 点 と な る 時 刻 は 、 デ フ ォ ル ト で は find を 実 行 し て い る 今 現 在 で あ る )。 何 日 前 か を 計 算 す る 際 、 基 点 と な る 時 刻 と の 時 間 差 を 24 時 間 で 割 っ た 結 果 を 丸 め る た め に 、 フ ァ イ ル の 内 容 更 新 日 時 が 何 日 前 と 見 な さ れ る こ と に な る か に つ い て は 、 −atime の 説 明 を 参 照 し て い た だ き た い 。 (訳 注 : 要 す る に 、 割 り 算 の 際 に 、 小 数 点 以 下 の 端 数 を 切 り 捨 て る と い う こ と 。 な お 、 デ フ ォ ル ト の 動 作 の よ う に 、 現 在 時 刻 か ら 数 え て 24 時 間 前 か ら 48 時 間 前 ま で を 1 日 前 と す る の で は な く 、 今 日 の 午 前 0 時 以 前 の 24 時 間 (つ ま り 、 日 常 的 な 意 味 で の 昨 日 ) を 1 日 前 と し て 計 算 し た い の な ら 、 位 置 オ プ シ ョ ン −daystart−mtime の 前 に 置 け ば よ い 。 )
−name pattern フ ァ イ ル や デ ィ レ ク ト リ の ベ ー ス ネ ー ム (パ ス か ら 最 後 の 要 素 だ け を 残 し て 、 先 行 す る デ ィ レ ク ト リ を 取 り 去 っ た も の ) が 、 シ ェ ル の パ タ ー ン pattern に マ ッ チ す れ ば 、 真 を 返 す 。 検 査 −name で マ ッ チ す る か ど う か を 調 べ ら れ る フ ァ イ ル 名 は 、 先 行 す る デ ィ レ ク ト リ が 除 去 さ れ て い る の で 、 ス ラ ッ シ ュ が 含 ま れ る こ と が な い 。 従 っ て 、 ’−name a/b’ は 何 に も マ ッ チ し な い こ と に な る (−name で は な く 、 多 分 −path を 使 う 必 要 が あ る だ ろ う )。 そ ん な こ と を し よ う と す る と 、 環 境 変 数 POSIXLY_CORRECT が 設 定 さ れ て い な い 場 合 は 、 警 告 メ ッ セ ー ジ が 出 る 。 メ タ 文 字 (’*’, ’?’, ’[]’) は 、 ベ ー ス ネ ー ム の 先 頭 に あ る ’.’ と マ ッ チ す る (findutils−4.2.2 か ら こ の よ う に 変 更 に な っ た 。 下 記 の セ ク シ ョ ン 「 規 格 へ の 準 拠 」 を 参 照 )。 あ る デ ィ レ ク ト リ と そ れ 以 下 に あ る フ ァ イ ル を ま と め て 無 視 す る に は 、 −prune を 使 う と よ い 。 一 例 が −path の 説 明 中 に あ る 。 中 カ ッ コ (’{}’) は 特 殊 文 字 と し て 認 識 さ れ な い 。 こ の 点 、 bash を 含 む 一 部 の シ ェ ル で 、 シ ェ ル ・ パ タ ー ン 中 の 中 カ ッ コ に 特 別 な 意 味 を 付 与 し て い る の と 異 な っ て い る 。 フ ァ イ ル 名 の マ ッ チ ン グ は 、 fnmatch(3) ラ イ ブ ラ リ 関 数 を 用 い て 行 わ れ る 。 パ タ ー ン を 引 用 符 で 囲 む の を 忘 れ な い よ う に 。 シ ェ ル に よ っ て 展 開 さ れ て し ま わ な い よ う に す る た め で あ る 。
−newer file フ ァ イ ル が file よ り も 最 近 に 内 容 を 更 新 さ れ て い れ ば 、 真 を 返 す 。 引 き 数 file が シ ン ボ リ ッ ク リ ン ク で 、 し か も −H−L オ プ シ ョ ン が 有 効 に な っ て い る 場 合 は 、 リ ン ク 先 の フ ァ イ ル の 内 容 更 新 日 時 が 比 較 に 使 用 さ れ る こ と に な る 。
−newerXY reference 検 査 対 象 フ ァ イ ル の タ イ ム ス タ ン プ の X 日 時 が 、 リ フ ェ レ ン ス フ ァ イ ル reference の タ イ ム ス タ ン プ の Y 日 時 よ り 新 し け れ ば 、 真 を 返 す 。 XY の 位 置 に 来 る 文 字 は 、 以 下 の ど の 文 字 で も よ い 。

組 み 合 わ せ に よ っ て は 、 無 効 な も の も あ る 。 た と え ば 、 Xt を 指 定 し て も 無 効 で あ る 。 組 み 合 わ せ の 中 に は 、 す べ て の シ ス テ ム で 実 装 さ れ て い る と は か ぎ ら な い も の も あ る 。 た と え ば 、 B は す べ て の シ ス テ ム で サ ポ ー ト さ れ て い る わ け で は な い 。 XY の 無 効 な 組 み 合 わ せ や サ ポ ー ト さ れ て い な い 組 み 合 わ せ を 指 定 す る と 、 致 命 的 エ ラ ー が 生 じ る 。 日 時 を 直 接 指 定 す る と 、 そ れ は GNU date−d オ プ シ ョ ン に 対 す る 引 き 数 と 同 じ よ う に 解 釈 さ れ る 。 リ フ ァ レ ン ス フ ァ イ ル の 作 成 日 時 を 使 用 し よ う と し た 場 合 に 、 作 成 日 時 が 特 定 で き な い と 、 致 命 的 エ ラ ー の メ ッ セ ー ジ が 出 力 さ れ る 。 ま た 、 検 査 対 象 フ ァ イ ル の 作 成 日 時 を 参 照 す る 検 査 を 指 定 し た 場 合 に 、 作 成 日 時 が わ か ら な い 環 境 で は 、 そ の 検 査 は い か な る フ ァ イ ル に 対 し て も 失 敗 す る こ と に な る (訳 注 : こ の 場 合 、 失 敗 す る と い う の は 、 検 査 が 偽 に な る こ と で は な く 、 エ ラ ー に な る こ と の よ う だ 。 ご 自 分 の 環 境 で 確 か め て い た だ き た い )。

−nogroup フ ァ イ ル の グ ル ー プ ID 番 号 に 対 応 す る グ ル ー プ が 、 シ ス テ ム に 存 在 し な い 場 合 に 、 真 を 返 す 。
−nouser フ ァ イ ル の ユ ー ザ ID 番 号 に 対 応 す る ユ ー ザ が 、 シ ス テ ム に 存 在 し な い 場 合 に 、 真 を 返 す 。
−path pattern フ ァ イ ル 名 が シ ェ ル の パ タ ー ン pattern に マ ッ チ す れ ば 、 真 を 返 す 。 メ タ 文 字 は 、 ’/’ や ’.’ を 例 外 扱 い し な い 。 従 っ て 、 た と え ば 、

find . −path "./sr*sc" は 、 ’./src/misc’ と い う デ ィ レ ク ト リ を (存 在 し て い れ ば ) 表 示 す る こ と に な る 。 あ る デ ィ レ ク ト リ 以 下 を す べ て 無 視 す る に は 、 そ こ に 存 在 す る フ ァ イ ル を 一 つ 一 つ 抑 止 す る よ り も 、 −prune を 使 用 し た 方 が よ い 。 た と え ば 、 デ ィ レ ク ト リ ’src/emacs’ と 、 そ の 下 に あ る フ ァ イ ル や デ ィ レ ク ト リ の す べ て を ス キ ッ プ し 、 そ れ 以 外 の フ ァ イ ル が 見 つ か っ た ら 、 そ の 名 前 を 表 示 す る と し よ う 。 そ の た め に は 、 こ ん な 風 に す る 。
find . −path ./src/emacs −prune −o −print パ タ ー ン マ ッ チ の 検 査 は 、 パ ス を 含 む フ ァ イ ル 名 の 全 体 に 対 し て 行 わ れ る が 、 そ う し た フ ァ イ ル 名 は 、 コ マ ン ド ラ イ ン で 指 定 し た 探 索 開 始 点 の 一 つ か ら 始 ま っ て い る こ と に 注 意 し て し て い た だ き た い 。 だ か ら 、 −path の 引 き 数 に 絶 対 パ ス 名 を 使 用 す る こ と に 意 味 が あ る の は 、 関 連 す る 探 索 開 始 点 が こ ち ら も 絶 対 パ ス で あ る と き だ け だ ろ う 。 従 っ て 、 次 の コ マ ン ド は 何 に も マ ッ チ し な い こ と に な る 。
find bar −path /foo/bar/myfile −print

find は 、 −path の 引 き 数 を 、 目 下 検 査 し て る フ ァ イ ル の デ ィ レ ク ト リ 名 と ベ ー ス ネ ー ム を 連 結 し た も の と 比 較 す る 。 そ の 連 結 し た も の の 末 尾 が ス ラ ッ シ ュ に な る こ と は 絶 対 に な い の で 、 ス ラ ッ シ ュ で 終 わ る −path の 引 き 数 は 、 何 に も マ ッ チ し な い こ と に な る (た だ し 、 コ マ ン ド ラ イ ン で 指 定 さ れ た 探 索 開 始 点 と な ら 、 場 合 に よ っ て は マ ッ チ す る か も し れ な い が )。 −path と い う 述 語 は 、 HP−UX の find で も サ ポ ー ト さ れ て お り 、 POSIX 規 格 の 次 期 バ ー ジ ョ ン で も 採 用 さ れ る こ と に な る だ ろ う (訳 注 : 実 際 に POSIX 2008 で 採 用 さ れ て い る )。

−perm mode フ ァ イ ル の 許 可 属 性 が mode (8 進 数 表 現 で も シ ン ボ ル 表 現 で も よ い ) と ま っ た く 同 じ な ら 、 真 を 返 す 。 mode 指 定 の こ の 形 式 で は 、 許 可 属 性 が ぴ っ た り 一 致 す る こ と を 要 求 す る こ と に な る の で 、 シ ン ボ ル に よ る 表 現 で こ の 形 式 を 使 お う と す る と 、 か な り 複 雑 な モ ー ド 文 字 列 を 指 定 し な け れ ば な ら な い か も し れ な い 。 た と え ば ’−perm g=w’ は 、 許 可 属 性 が 0020 の フ ァ イ ル に し か マ ッ チ し な い (す な わ ち 、 許 可 属 性 の う ち 、 グ ル ー プ の 書 き 込 み 許 可 の み が 立 っ て い る フ ァ イ ル だ )。 従 っ て 、 mode の 前 に ’/’ や ’−’ を 付 け る 形 式 を 使 い た く な る こ と の 方 が 、 多 分 多 い だ ろ う 。 た と え ば 、 ’−perm −g=w’ と す れ ば 、 グ ル ー プ の 書 き 込 み 許 可 が あ る フ ァ イ ル な ら 、 ど ん な フ ァ イ ル に も マ ッ チ す る こ と に な る 。 具 体 例 に つ い て は 「 用 例 」 セ ク シ ョ ン を ご 覧 い た だ き た い 。
−perm −mode

mode で 指 定 し た 許 可 属 性 ビ ッ ト の す べ て が 、 フ ァ イ ル で も 立 っ て い れ ば 、 真 を 返 す 。 mode 指 定 の こ の 形 式 で も 、 シ ン ボ ル に よ る 許 可 属 性 表 現 が 使 用 で き る 。 そ こ で 、 こ の 形 式 で は シ ン ボ ル に よ る 表 現 を 使 い た く な る こ と が 多 い だ ろ う 。 シ ン ボ ル に よ る 表 現 を 使 用 す る 場 合 は 、 ’u’ や ’g’ や ’o’ を き ち ん と 指 定 し な け れ ば な ら な い 。 具 体 例 に つ い て は 「 用 例 」 セ ク シ ョ ン を ご 覧 い た だ き た い 。

−perm /mode

mode で 指 定 し た 許 可 属 性 ビ ッ ト の ど れ か が 、 フ ァ イ ル で も 立 っ て い れ ば 、 真 を 返 す 。 mode 指 定 の こ の 形 式 で も 、 シ ン ボ ル に よ る 許 可 属 性 表 現 が 使 用 で き る 。 シ ン ボ ル に よ る 表 現 を 使 用 す る 場 合 は 、 ’u’ や ’g’ や ’o’ を き ち ん と 指 定 し な け れ ば な ら な い 。 具 体 例 に つ い て は 「 用 例 」 セ ク シ ョ ン を ご 覧 い た だ き た い 。 な お 、 mode で 許 可 属 性 ビ ッ ト が 一 つ も 立 っ て い な い 場 合 、 こ の 検 査 は い か な る フ ァ イ ル に も マ ッ チ す る こ と に な る (こ れ は 、 −perm −000 と 動 作 に 一 貫 性 を 持 た せ る た め の 変 更 で あ る 。 (訳 注 : −permmode−perm /mode の ど ち ら の 指 定 法 に お い て も 、 0 は 何 で あ っ て も よ い を 意 味 す る よ う に し た と い う こ と ))。

−perm +mode こ の 形 式 は 、 今 で は サ ポ ー ト さ れ て い な い (2005 年 以 来 、 非 推 奨 だ っ た ) 。 代 わ り に −perm /mode を 使 用 す る こ と 。
−readable 読 み 込 み 可 能 な フ ァ イ ル に マ ッ チ す る 。 検 査 −perm が ACL (ア ク セ ス ・ コ ン ト ロ ー ル ・ リ ス ト ) な ど の パ ー ミ ッ シ ョ ン 制 御 の 仕 組 み を 無 視 す る の に 対 し て 、 こ の 検 査 は ACL な ど も 考 慮 に 入 れ る 。 こ の 検 査 は access(2) シ ス テ ム コ ー ル を 使 用 し て い る の で 、 UID マ ッ ピ ン グ (ま た は root−squashing) を 行 っ て い る NFS サ ー バ が あ る と 、 正 確 な 結 果 を 得 ら れ な い こ と が あ る 。 な ぜ な ら 、 た い て い の シ ス テ ム で は access(2) を ク ラ イ ア ン ト の カ ー ネ ル で 実 装 し て お り 、 そ れ 故 、 サ ー バ 側 に 保 持 さ れ て い る UID マ ッ ピ ン グ 情 報 を 利 用 で き な い か ら で あ る 。
−regex pattern フ ァ イ ル 名 が 正 規 表 現 pattern に マ ッ チ す れ ば 、 真 を 返 す 。 こ れ は パ ス を 含 む フ ァ イ ル 名 全 体 に 対 す る マ ッ チ で あ っ て 、 ベ ー ス ネ ー ム の 検 索 で は な い 。 だ か ら 、 た と え ば 、 ’./fubar3’ と い う 名 前 の フ ァ イ ル に マ ッ チ さ せ る た め に 、 正 規 表 現 ’.*bar.’ や ’.*b.*3’ は 使 用 で き る が 、 ’f.*r3’ は 使 用 で き な い 。 find が 理 解 す る 正 規 表 現 は 、 デ フ ォ ル ト で は Emacs の 正 規 表 現 だ が 、 こ れ は −regextype オ プ シ ョ ン で 変 更 す る こ と が で き る 。
−samefile name フ ァ イ ル が name と 同 じ inode を 参 照 し て い れ ば 、 真 を 返 す 。 −L が 有 効 な 場 合 、 シ ン ボ リ ッ ク リ ン ク も 真 を 返 す 。
−size n[cwbkMG] フ ァ イ ル が n 単 位 分 の 領 域 を 使 用 し て い れ ば 、 真 を 返 す (対 象 と な る フ ァ イ ル の サ イ ズ を 、 単 位 に ま で 切 り 上 げ て 比 較 す る )。 以 下 の 接 尾 辞 が 使 え る 。

[訳 注 ]: ブ ロ ッ ク 数 を 指 定 す る と き は 、 注 意 し て い た だ き た い 。

−size

で は 、 検 査 対 象 フ ァ イ ル の ブ ロ ッ ク 数 の 算 出 を 、 単 に フ ァ イ ル の サ イ ズ を 512 で 割 り 、 そ の 結 果 を 切 り 上 げ て 整 数 に す る こ と で 行 っ て い る 。 こ れ は 、 stat コ マ ン ド の 出 力 や POSIXLY_CORRECT が 設 定 さ れ て い る と き の ls −s の 結 果 と 、 同 じ で は な い こ と が 多 い 。 statls は 、 フ ァ イ ル に 対 す る デ ィ ス ク ス ペ ー ス の 割 当 が 、 フ ァ イ ル シ ス テ ム の ブ ロ ッ ク サ イ ズ (ext4 な ら 、 た い て い 4096 バ イ ト 、 つ ま り 8 ブ ロ ッ ク ) の 倍 数 で 行 わ れ る こ と を 考 慮 に 入 れ て い る の で あ る 。 な お 、 ア ク シ ョ ン −printf に お け る ’%b’ の 出 力 は 、 stat な ど と 同 じ で あ る 。

’b’ 単 位 は ブ ロ ッ ク 。

1 ブ ロ ッ ク は 512 バ イ ト 。 (こ れ が 接 尾 辞 を

使 わ な い と き の デ フ ォ ル ト で あ る )

’c’ 単 位 は バ イ ト 。

’w’ 単 位 は ワ ー ド 。

1 ワ ー ド は 2 バ イ ト 。

’k 単 位 は キ ビ バ イ

ト (1 キ ビ バ イ ト は 1024 バ イ ト )。
’M’ 単 位 は メ ビ バ イ ト (1 メ ビ バ イ ト は 1048576 バ イ ト )。
’G’ 単 位 は ギ ビ バ イ ト (1 ギ ビ バ イ ト は 1073741824 バ イ ト )。

サ イ ズ に は 間 接 ブ ロ ッ ク (indirect block) の 分 は 含 ま れ な い が 、 穴 空 き フ ァ イ ル (sparse file) に お け る 、 実 際 に は 割 り 当 て ら れ て い な い ブ ロ ッ ク の 分 は 含 ま れ る 。 ア ク シ ョ ン −printf の ’%k’ や ’%b’ 書 式 指 定 子 と は 、 穴 空 き フ ァ イ ル の 扱 い 方 が 違 う こ と を 心 に と め て お い て い た だ き た い 。 ま た 、 接 尾 辞 ’b’ は 常 に 512 バ イ ト の ブ ロ ッ ク を 意 味 し 、 1 キ ロ バ イ ト の ブ ロ ッ ク を 指 す こ と は な い 。 そ の 点 で 、 ア ク シ ョ ン −ls の 動 作 と は 異 な っ て い る 。 数 値 の 前 に + や − を 付 け る と 、 他 の 場 合 と 同 様 、 「 よ り 大 き い 」 や 「 よ り 小 さ い 」 を 意 味 す る こ と に な る が 、 フ ァ イ ル の サ イ ズ は 、 単 位 以 下 の 部 分 が 、 単 位 に ま で 切 り 上 げ ら れ る こ と に 留 意 し て い た だ き た い (だ か ら 、 1 byte の フ ァ イ ル は 、 −size −1M に マ ッ チ し な い 。 (訳 注 : −size 1M と な ら マ ッ チ す る ))。

−true 常 に 真 。

−type c フ ァ イ ル の タ イ プ が c で あ れ ば 真 。 (訳 注 : c の 位 置 に は 実 際 に は 以 下 の 文 字 が 来 る 。 )

b ブ ロ ッ ク ・ ス ペ シ ャ ル フ ァ イ ル

(バ ッ フ ァ あ り )

c キ ャ ラ ク タ ・ ス ペ シ ャ ル フ ァ イ ル

(バ ッ フ ァ な し )

d デ ィ レ ク ト リ

p 名 前 付 き パ イ プ

(FIFO)

f 通 常 の フ ァ イ ル

l シ ン ボ リ ッ ク リ ン ク 。 オ プ シ ョ ン

−L−follow が 有 効 な 場

合 、 シ ン ボ リ ッ ク リ ン ク が リ ン ク 切 れ の 場 合 を 除 い て 、 こ の 検 査 が 真 に な る こ と は な い 。 −L が 有 効 な と き に シ ン ボ リ ッ ク リ ン ク を 検 索 し た か っ た ら 、 −xtype を 使 う べ き で あ る 。

s ソ ケ ッ ト

D ド ア

(Solaris の 場 合 )

−uid n フ ァ イ ル 所 有 者 の ユ ー ザ

ID 番 号 が n な ら ば 真 。

−used n フ ァ イ ル が 最 後 に ア ク セ ス さ れ た の が 、 フ ァ イ ル の 最 終 ス テ ー タ ス 変 更 日 時 よ り n 日 後 な ら ば 、 真 を 返 す 。
−user uname フ ァ イ ル の 所 有 者 が uname と い う ユ ー ザ な ら ば 真 (ユ ー ザ ID 番 号 で 指 定 し て も よ い )。
−wholename pattern

−path と 同 じ で あ る 。 こ の 別 名 は 移 植 性 で −path に 劣 る 。

−writable 書 き 込 み 可 能 な フ ァ イ ル に マ ッ チ す る 。 検 査 −perm が ACL (ア ク セ ス ・ コ ン ト ロ ー ル ・ リ ス ト ) な ど の パ ー ミ ッ シ ョ ン 制 御 の 仕 組 み を 無 視 す る の に 対 し て 、 こ の 検 査 は ACL な ど も 考 慮 に 入 れ る 。 こ の 検 査 は access(2) シ ス テ ム コ ー ル を 使 用 し て い る の で 、 UID マ ッ ピ ン グ (ま た は root−squashing) を 行 っ て い る NFS サ ー バ が あ る と 、 正 確 な 結 果 を 得 ら れ な い こ と が あ る 。 な ぜ な ら 、 た い て い の シ ス テ ム で は access(2) を ク ラ イ ア ン ト の カ ー ネ ル で 実 装 し て お り 、 そ れ 故 、 サ ー バ 側 に 保 持 さ れ て い る UID マ ッ ピ ン グ 情 報 を 利 用 で き な い か ら で あ る 。
−xtype c 検 査 の 対 象 と な る フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク で な い か ぎ り 、 −type と 同 じ で あ る 。 フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク の と き は 、 以 下 の よ う に 動 作 す る 。 −H−P オ プ シ ョ ン が 指 定 さ れ た 場 合 は 、 タ イ プ が c の フ ァ イ ル に 対 す る リ ン ク な ら ば 、 真 を 返 す 。 ま た 、 −L オ プ シ ョ ン が 指 定 さ れ て い る 場 合 は 、 c が ’l’ な ら ば 、 真 を 返 す 。 言 い 換 え る と 、 フ ァ イ ル が シ ン ボ リ ッ ク で あ る と き 、 −xtype は 、 −type が チ ェ ッ ク し な い 方 の フ ァ イ ル の タ イ プ を チ ェ ッ ク す る わ け だ 。
−context pattern

(SELinux が 有 効 な と き の み ) フ ァ イ ル の セ キ ュ リ テ ィ ・ コ ン テ キ ス ト が glob の パ タ ー ン (訳 注 : つ ま り 、 シ ェ ル 式 の パ タ ー ン ) pattern に マ ッ チ す れ ば 、 真 を 返 す 。 ア ク シ ョ ン

−delete フ ァ イ ル を 消 去 す る 。 消 去 に 成 功 す れ ば 、 真 を 返 す 。 消 去 に 失 敗 し た 場 合 は 、 エ ラ ー メ ッ セ ー ジ を 表 示 す る 。 −delete に 失 敗 し た 場 合 の find の 終 了 ス テ ー タ ス は 、 ゼ ロ 以 外 で あ る (find が 最 終 的 に 終 了 し た と き の 終 了 ス テ ー タ ス の こ と だ )。 −delete を 使 用 す る と 、 自 動 的 に ’−depth’ オ プ シ ョ ン が 有 効 に な る 。 警 告 : 忘 れ な い で い た だ き た い が 、 find の コ マ ン ド ラ イ ン は 一 つ の 式 (expression) と し て 評 価 さ れ る の で 、 一 番 最 初 に −delete を 指 定 す る と 、 find は 、 指 定 さ れ た 探 索 の 開 始 点 以 下 に あ る も の を 、 こ と ご と く 消 去 し よ う と す る 。 後 で −delete を 付 け て 使 用 す る つ も り で 、 find の コ マ ン ド ラ イ ン を テ ス ト 実 行 す る と き は 、 −depth を 明 示 的 に 指 定 す る と よ い 。 そ う す れ ば 、 後 で 「 こ ん な は ず で は な か っ た 」 と 慌 て な い で す む 。 −delete を 指 定 す る と 自 動 的 に −depth が 有 効 に な る の で 、 −prune−delete と 一 緒 に 使 っ て も 役 に 立 た な い 。
−exec command ;

command を 実 行 す る 。 command の 返 り 値 が 0 な ら ば 、 真 を 返 す 。 find の コ マ ン ド ラ イ ン で 指 定 さ れ て い る こ れ 以 降 の 引 き 数 は 、 ’;’ と い う 引 き 数 が 現 れ る ま で 、 す べ て コ マ ン ド に 対 す る 引 き 数 と 見 な さ れ る 。 文 字 列 ’{}’ は 、 そ れ が コ マ ン ド の 引 き 数 中 に 現 れ る す べ て の 場 所 で 、 現 在 処 理 中 の フ ァ イ ル 名 に 置 き 換 え ら れ る 。 find の 一 部 の 版 と は 違 い 、 ’{}’ は 引 き 数 中 の 一 ヶ 所 で し か 使 え な い わ け で は な い 。 こ う し た 構 文 の 要 素 (訳 注 : す な わ ち 、 ’{}’ や ’;’) は 、 シ ェ ル に よ っ て 展 開 さ れ な い よ う に 、 ど ち ら も ’\’ で エ ス ケ ー プ す る な り 、 引 用 符 で 囲 む な り す る 必 要 が あ る か も し れ な い 。 ア ク シ ョ ン −exec の 使 用 例 に つ い て は 「 用 例 」 セ ク シ ョ ン を 見 て い た だ き た い 。 指 定 し た コ マ ン ド は 、 マ ッ チ し た 各 フ ァ イ ル に 対 し て 一 回 づ つ 実 行 さ れ る 。 ま た 、 コ マ ン ド は find を 実 行 し た デ ィ レ ク ト リ で 実 行 さ れ る 。 そ こ で 、 −exec ア ク シ ョ ン の 使 用 を 巡 っ て は 、 セ キ ュ リ テ ィ の 問 題 が 避 け ら れ な い わ け で あ り 、 −exec の 代 わ り に 、 −execdir ア ク シ ョ ン を 使 用 す る こ と を お 勧 め す る 。 (訳 注 : ’;’ は 引 き 数 な の で 、 直 前 の 引 き 数 と の 間 に 空 白 が 必 要 だ と い う こ と に 注 意 し て い た だ き た い 。 )

−exec command {} + ア ク シ ョ ン −exec の こ の 変 形 も 、 選 択 し た フ ァ イ ル に 対 し て 指 定 し た コ マ ン ド を 実 行 す る が 、 コ マ ン ド ラ イ ン を 形 成 す る と き 、 選 択 し た 各 フ ァ イ ル 名 を コ マ ン ド ラ イ ン の 末 尾 に 追 加 し て 行 く と い う 方 法 を 取 る (訳 注 : コ マ ン ド ラ イ ン が 長 く な り す ぎ る と き は 、 処 理 す る フ ァ イ ル 名 の リ ス ト を 適 宜 分 割 し て 、 コ マ ン ド を 複 数 回 実 行 す る )。 そ の た め 、 コ マ ン ド を 呼 び 出 す 回 数 が 、 マ ッ チ し た フ ァ イ ル の 数 よ り ず っ と 少 な く て す む 。 コ マ ン ド ラ イ ン の 形 成 法 は 、 xargs の コ マ ン ド ラ イ ン 形 成 法 と ほ ぼ 同 じ で あ る 。 ’{}’ は コ マ ン ド ラ イ ン 中 の 一 ヶ 所 で し か 使 え な い 。 な お 、 コ マ ン ド は find を 実 行 し た デ ィ レ ク ト リ で 実 行 さ れ る 。 find が エ ラ ー に 出 会 う と 、 こ の ア ク シ ョ ン は find を そ の 場 で 終 了 さ せ て し ま う こ と が あ り 、 そ の た め 、 予 定 さ れ て い る コ マ ン ド の 中 に 全 く 実 行 さ れ な い も の が 生 ず る か も し れ な い 。 −exec の こ の 変 形 は 、 常 に 真 を 返 す 。 (訳 注 : ’+’ は 引 き 数 な の で 、 直 前 の 引 き 数 と の 間 に 空 白 が 必 要 だ と い う こ と に 注 意 し て い た だ き た い 。 )
−execdir command ;
−execdir command {} +

−exec と 似 て い る が 、 指 定 し た コ マ ン ド を 、 マ ッ チ し た フ ァ イ ル が 存 在 す る サ ブ デ ィ レ ク ト リ で 実 行 す る と い う 点 が 異 な っ て い る 。 そ の サ ブ デ ィ レ ク ト リ は 、 find を 実 行 し た デ ィ レ ク ト リ と は 違 う の が 普 通 だ 。 こ れ は コ マ ン ド を 呼 び 出 す 方 法 と し て ず っ と 安 全 で あ る 。 マ ッ チ し た フ ァ イ ル の パ ス を 解 決 す る 際 に 、 競 合 状 態 が 起 き る の を 避 け ら れ る か ら だ 。 ア ク シ ョ ン −exec の 場 合 と 同 様 、 −execdir の ’+’ を 伴 う 形 式 で も 、 マ ッ チ し た 複 数 の フ ァ イ ル を 一 度 に 処 理 す る よ う に 、 コ マ ン ド ラ イ ン を 形 成 す る こ と に な る が 、 command の ど の 呼 び 出 し に お い て も 、 処 理 の 対 象 と し て リ ス ト さ れ る フ ァ イ ル は 、 同 じ サ ブ デ ィ レ ク ト リ に 存 在 す る も の だ け で あ る 。 こ の ア ク シ ョ ン を 使 用 す る の な ら 、 環 境 変 数 $PATH が ’.’ を 参 照 し な い よ う に し な け れ ば な ら な い 。 さ も な い と 、 悪 意 を 持 っ た 攻 撃 者 が 、 あ な た が −execdir を 実 行 す る こ と に な る デ ィ レ ク ト リ に 適 当 な 名 前 の フ ァ イ ル を 入 れ て お く こ と に よ っ て 、 何 で も 好 き な コ マ ン ド を 実 行 で き て し ま う か ら だ 。 $PATH の 中 に 、 空 っ ぽ の エ ン ト リ や 、 絶 対 パ ス の デ ィ レ ク ト リ 名 で は な い エ ン ト リ が あ る 場 合 に も 、 同 じ こ と が 言 え る 。 find が エ ラ ー に 出 会 う と 、 こ の ア ク シ ョ ン は find を そ の 場 で 終 了 さ せ て し ま う こ と が あ り 、 そ の た め 、 予 定 さ れ て い る コ マ ン ド の 中 に 全 く 実 行 さ れ な い も の が 生 ず る か も し れ な い 。 こ の ア ク シ ョ ン が 返 す 値 は 、 +; の ど ち ら を 使 う か に よ っ て 異 な っ て い る 。 −execdir command {} + が 常 に 真 を 返 す の に 対 し て 、 −execdir command {} ; は 、 command が 0  を 返 し た と き の み 、 真 を 返 す の で あ る 。

−fls file 真 を 返 す 。 −ls と 似 て い る が 、 −fprint 同 様 、 出 力 を file に 書 き 出 す 点 が 違 う 。 出 力 用 の フ ァ イ ル は 、 こ の 述 語 の 対 象 に な る も の が 一 つ も な か っ た 場 合 で も 、 必 ず 作 成 さ れ る 。 フ ァ イ ル 名 中 の 普 通 使 わ な い 文 字 が ど の よ う に 扱 わ れ る か に つ い て は 、 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。
−fprint file 真 を 返 す 。 パ ス 付 き の フ ァ イ ル 名 を フ ァ イ ル file に 出 力 す る 。 find の 実 行 時 に file が 存 在 し な け れ ば 、 新 た に 作 成 さ れ る 。 す で に 存 在 し て い れ ば 、 元 の 中 身 が 捨 て ら れ る 。 フ ァ イ ル 名 ’/dev/stdout’ と ’/dev/stderr’ の 扱 い は 特 別 で 、 そ れ ぞ れ 標 準 出 力 と 標 準 エ ラ ー 出 力 を 指 し て い る 。 出 力 用 の フ ァ イ ル は 、 こ の 述 語 の 対 象 に な る も の が 一 つ も な か っ た 場 合 で も 、 必 ず 作 成 さ れ る 。 フ ァ イ ル 名 中 の 普 通 使 わ な い 文 字 が ど の よ う に 扱 わ れ る か に つ い て は 、 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。
−fprint0 file 真 を 返 す 。 −print0 と 似 て い る が 、 −fprint 同 様 、 出 力 を file に 書 き 出 す 点 が 違 う 。 出 力 用 の フ ァ イ ル は 、 こ の 述 語 の 対 象 に な る も の が 一 つ も な か っ た 場 合 で も 、 必 ず 作 成 さ れ る 。 フ ァ イ ル 名 中 の 普 通 使 わ な い 文 字 が ど の よ う に 扱 わ れ る か に つ い て は 、 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。
−fprintf file format 真 を 返 す 。 −printf と 似 て い る が 、 −fprint 同 様 、 出 力 を file に 書 き 出 す 点 が 違 う 。 出 力 用 の フ ァ イ ル は 、 こ の 述 語 の 対 象 に な る も の が 一 つ も な か っ た 場 合 で も 、 必 ず 作 成 さ れ る 。 フ ァ イ ル 名 中 の 普 通 使 わ な い 文 字 が ど の よ う に 扱 わ れ る か に つ い て は 、 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。

−ls 真 を 返 す 。 処 理 対 象 の フ ァ イ ル を

ls −dils の 書 式 で 標 準 出 力 に リ ス ト

す る 。 ブ ロ ッ ク 数 は 、 1 ブ ロ ッ ク 1 キ ロ バ イ ト の 計 算 で あ る 。 た だ し 、 環 境 変 数 POSIXLY_CORRECT が 設 定 さ れ て い る 場 合 は 、 1 ブ ロ ッ ク 512 バ イ ト が 使 用 さ れ る 。 フ ァ イ ル 名 中 の 普 通 使 わ な い 文 字 が ど の よ う に 扱 わ れ る か に つ い て は 、 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。

−ok command ;

−exec と 似 て い る が 、 ま ず ユ ー ザ に 問 い 合 わ せ を 行 う 。 ユ ー ザ ー が 同 意 す れ ば 、 コ マ ン ド を 実 行 す る 。 同 意 し な け れ ば 、 何 も せ ず に 偽 を 返 す 。 コ マ ン ド を 実 行 す る 場 合 、 そ の コ マ ン ド の 標 準 入 力 は 、 /dev/null に 付 け 換 え ら れ る 。 プ ロ ン プ ト に 対 す る ユ ー ザ の 応 答 は 、 肯 定 ・ 否 定 を 表 す 一 組 の 正 規 表 現 と 照 合 し て 、 同 意 か 、 不 同 意 か が 判 断 さ れ る 。 こ の 正 規 表 現 は 、 環 境 変 数 ’POSIXLY_CORRECT’ が 設 定 さ れ て い れ ば 、 シ ス テ ム か ら 得 ら れ る が 、 設 定 さ れ て い な け れ ば 、 find の 持 つ メ ッ セ ー ジ 翻 訳 か ら 取 得 さ れ る 。 な お 、 シ ス テ ム に 適 切 な 定 義 が 存 在 し な い 場 合 は 、 find の 持 つ 定 義 が 使 用 さ れ る こ と に な る 。 ど ち ら の 場 合 で も 、 正 規 表 現 そ の も の の 解 釈 は 、 環 境 変 数 ’LC_CTYPE’ (文 字 ク ラ ス に つ い て ) や ’LC_COLLATE’ (文 字 の 範 囲 や 等 価 ク ラ ス に つ い て ) の 影 響 を 受 け る 。

−okdir command ;

−execdir と 似 て い る が 、 −ok と 同 じ よ う に 、 ま ず ユ ー ザ に 問 い 合 わ せ を 行 う 。 ユ ー ザ が 同 意 し な け れ ば 、 何 も せ ず に 偽 を 返 す 。 コ マ ン ド を 実 行 す る 場 合 、 そ の コ マ ン ド の 標 準 入 力 は 、 /dev/null に 付 け 換 え ら れ る 。

−print 真 を 返 す 。 パ ス 付 き の フ ァ イ ル 名 を 標 準 出 力 に 表 示 し 、 各 フ ァ イ ル 名 の 後 ろ に 改 行 文 字 を 付 け る 。

find の 出 力 を パ イ プ を 使 っ て 他 の プ ロ グ ラ ム に 渡 し て い る 場 合 、 検 索 対 象 の フ ァ イ ル 名 に 改 行 文 字 が 含 ま れ て い る 可 能 性 が 、 わ ず か に で も あ る な ら ば 、 −print で は な く 、 −print0 ア ク シ ョ ン を 使 用 す る こ と を 真 剣 に 考 え る べ き だ 。 フ ァ イ ル 名 中 の 普 通 使 わ な い 文 字 が ど の よ う に 扱 わ れ る か に つ い て は 、 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。
−print0 真 を 返 す 。 パ ス 付 き の フ ァ イ ル 名 を 標 準 出 力 に 表 示 し 、 各 フ ァ イ ル 名 の 後 ろ に (−print が 改 行 文 字 を 付 け る の と は 違 っ て ) ヌ ル 文 字 を 追 加 す る 。 こ の ア ク シ ョ ン を 使 え ば 、 find の 出 力 を 処 理 す る プ ロ グ ラ ム が 、 改 行 文 字 な ど の ホ ワ イ ト ス ペ ー ス を 含 む フ ァ イ ル 名 を 正 し く 解 釈 で き る よ う に な る 。 こ の ア ク シ ョ ン は 、 xargs−0 オ プ シ ョ ン に 呼 応 し て い る 。
−printf format 真 を 返 す 。 標 準 出 力 に format を 表 示 す る 。 そ の と き format 中 の ’\’ に よ る エ ス ケ ー プ シ ー ケ ン ス と 、 ’%’ に 始 ま る 書 式 指 定 子 を 認 識 し て 変 換 す る 。 フ ィ ー ル ド の 幅 や 精 度 は 、 C 言 語 の ’printf’ 関 数 と 同 じ 方 法 で 指 定 で き る 。 %d で は な く 、 %s と し て (訳 注 : す な わ ち 、 数 値 で は な く 、 文 字 列 と し て ) 表 示 さ れ る フ ィ ー ル ド が 多 い こ と に 注 意 し て い た だ き た い 。 そ の た め 、 フ ラ グ が 期 待 通 り に 効 か な い か も し れ な い の だ 。 た だ し 、 ’−’ フ ラ グ (フ ィ ー ル ド を 強 制 的 に 左 揃 え に す る ) は き ち ん と 働 く と い う こ と で も あ る 。 −print と は 違 っ て 、 −printf は 文 字 列 の 末 尾 に 改 行 文 字 を 追 加 し な い 。 バ ッ ク ス ラ ッ シ ュ ・ エ ス ケ ー プ シ ー ケ ン ス と 書 式 指 定 子 は 以 下 の と お り で あ る 。

\a 警 告 ベ ル 。

\b バ ッ ク ス ペ ー ス 。

\c こ の フ ォ ー マ ッ ト に よ る 出 力 を た だ ち に 停 止 し 、 出 力 を フ ラ ッ シ ュ す る 。

\f フ ォ ー ム フ ィ ー ド 文 字 。

\n 改 行 文 字 。

\r 復 帰 文 字 。

\t 水 平 タ ブ 。

\v 垂 直 タ ブ 。

\0

ASCII NUL 文 字 。

\\ バ ッ ク ス ラ ッ シ ュ 文 字 そ の も の

(’\’)。

\NNN

ASCII コ ー ド が NNN (8 進 数 ) の 文 字 。 バ ッ ク ス ラ ッ シ ュ 文 字 ’\’ に 上 記 以 外 の 文 字 が 続 く 場 合 、 ’\’ は 普 通 の 文 字 と し て 扱 わ れ る 。 従 っ て 、 二 文 字 と も 表 示 さ れ る こ と に な る 。

%% パ ー セ ン ト 文 字 そ の も の 。

%a フ ァ イ ル の 最 終 ア ク セ ス 日 時 を

C 言 語 の ’ctime’ 関 数 が 返 す

形 式 で 表 示 す る 。

%Ak フ ァ イ ル の 最 終 ア ク セ ス 日 時 を

k で 指 定 し た 書 式 で 表 示 す

る 。 k に は ’@’ か 、 あ る い は C 言 語 の ’strftime’ 関 数 の 書 式 指 定 子 を 用 い る 。 k に 指 定 可 能 な 値 を 以 下 に 列 挙 す る 。 一 部 の も の は 使 え な い シ ス テ ム が あ る か も し れ な い が 、 そ れ は シ ス テ ム 間 で の ’strftime’ の 非 互 換 性 に よ る 。

@

Jan. 1, 1970, 00:00 GMT か ら の 経 過 秒 数 。 小 数 点 以 下 も 表 示 す る 。

時 刻 フ ィ ー ル ド :

H 時

(00..23)

I 時

(01..12)

k 時

( 0..23)

l 時

( 1..12)

M 分

(00..59)

p 現 在

の ロ ケ ー ル に お け る AM/PM の 相 当 語
r

12 時 間 制 の 時 刻 (hh:mm:ss [AP]M)

S

秒 (00.00 .. 61.00)。 小 数 点 以 下 も 表 示 。
T

24 時 間 制 の 時 刻 (hh:mm:ss)

+

日 付 と 時 刻 。 両 者 の 間 は ’2004−04−28+22:22:05.0’ と い っ た 具 合 に ’+’ で 区 切 ら れ る 。 こ れ は GNU の 拡 張 で あ る 。 日 時 は 現 在 の タ イ ム ゾ ー ン の も の が 使 わ れ る (そ れ 故 、 環 境 変 数 TZ の 設 定 に よ っ て 変 わ る か も し れ な い )。 秒 に は 小 数 点 以 下 も 付 く 。

X

現 在 の ロ ケ ー ル に よ る 時 刻 表 示 (H:M:S)
Z タ イ ム ゾ ー ン (JST な ど )。 タ イ ム ゾ ー ン を 決 定 で き な

い 場 合 は 、 何 も 表 示 し な い 。 日 付 フ ィ ー ル ド :

a 現 在 の ロ ケ ー ル に よ る 曜 日 の 短 縮 形

(Sun..Sat)

A 現 在 の ロ ケ ー ル に よ る 曜 日 の 省 略 し な

い 表 示 。 長 さ は 可 変 (Sunday..Saturday)

b 現 在

の ロ ケ ー ル に よ る 月 名 の 短 縮 形 (Jan..Dec)

B 現 在 の ロ ケ ー ル に よ る 月 名 の 省 略 し な

い 表 示 。 長 さ は 可 変 (January..December)

c 現 在

の ロ ケ ー ル に よ る 日 付 と 時 刻 の 表 示 (Sat Nov 04 12:02:33 EST 1989)。 こ の 表 示 形 式 は ctime(3) の も の と 同 じ で あ り 、 ctime(3) の 形 式 と の 互 換 性 を 維 持 す る た め に そ う な っ て い る 。 秒 に は 小 数 点 以 下 が 付 か な い 。

d

そ の 月 の 何 日 目 か の 表 示 (01..31)
D 日 付 (mm/dd/yy)
h

b と 同 じ

j そ の 年 の 何 日 目 か の 表 示

(001..366)

m 月

(01..12)

U そ の 年 の 何 週 目 か

(日 曜 日 を 週 の 始 ま り と す る )

(00..53)

w 曜 日

(0..6)

W そ の 年

の 何 週 目 か (月 曜 日 を 週 の 始 ま り と す る ) (00..53)

x

現 在 の ロ ケ ー ル に よ る 日 付 表 示 (mm/dd/yy)
y 年 の 下 二 桁 (00..99)
Y 年

(1970...)

%b フ ァ イ ル の デ ィ ス ク ス ペ ー ス 使 用 量 を

1 ブ ロ ッ ク 512 バ イ ト

の ブ ロ ッ ク 数 で 表 示 す る 。 デ ィ ス ク ス ペ ー ス は 、 フ ァ イ ル シ ス テ ム の ブ ロ ッ ク サ イ ズ の 倍 数 で 割 り 当 て ら れ る の で 、 こ の 表 示 は た い て い %s/512 よ り 大 き い 。 だ が 、 フ ァ イ ル が 穴 空 き フ ァ イ ル (sparse file) の 場 合 は 、 %s/512 よ り 小 さ く な る こ と も あ る 。

%c フ ァ イ ル の 最 終 ス テ ー タ ス 変 更 日 時 を

C 言 語 の ’ctime’ 関 数

が 返 す 形 式 で 表 示 す る 。

%Ck フ ァ イ ル の 最 終 ス テ ー タ ス 変 更 日 時 を

k で 指 定 し た 書 式 で 表 示

す る 。 k は %A の 場 合 と 同 じ で あ る 。

%d フ ァ イ ル が デ ィ レ ク ト リ ツ リ ー 中 で ど の 深 さ に あ る か を 示 す 。

0 だ っ た ら 、 そ の フ ァ イ ル が 探 索 開 始 点 だ と い う こ と だ 。

%D フ ァ イ ル が ど の デ バ イ ス 上 に あ る か を 十 進 数 の デ バ イ ス 番 号 で 示 す

(stat 構 造 体 の st_dev フ ィ ー ル ド に 当 た る )。

%f 先 行 す る デ ィ レ ク ト リ を す べ て 取 り 去 っ た フ ァ イ ル 名

(す な わ

ち 、 最 後 の 要 素 の み 表 示 )。

%F フ ァ イ ル が 置 か れ て い る フ ァ イ ル シ ス テ ム の タ イ プ 。 こ こ で 表 示 さ れ た 値 は

−fstype の 引 き 数 に 指 定 す る こ と が で き る 。

%g フ ァ イ ル の グ ル ー プ 名 。 該 当 す る グ ル ー プ 名 が 存 在 し な い 場 合 は 、 グ ル ー プ

ID 番 号 。

%G フ ァ イ ル の グ ル ー プ

ID 番 号 。

%h フ ァ イ ル 名 中 の 先 行 す

る デ ィ レ ク ト リ の 部 分 (す な わ ち 、 最 後 の 要 素 以 外 の す べ て )。 フ ァ イ ル 名 に ス ラ ッ シ ュ が 一 つ も 含 ま れ な い 場 合 は (そ れ は 、 カ レ ン ト デ ィ レ ク ト リ 中 に あ る と い う こ と だ か ら )、 %h 書 式 指 定 子 は "." に 展 開 さ れ る 。
%H

探 索 開 始 点 の う ち 、 そ の 下 に 問 題 の フ ァ イ ル が 見 つ か っ た も の 。

%i フ ァ イ ル の

inode 番 号 (十 進 数 表 示 )。

%k フ ァ イ ル の デ

ィ ス ク ス ペ ー ス 使 用 量 を 1 ブ ロ ッ ク 1 キ ロ バ イ ト の ブ ロ ッ ク 数 で 表 示 す る 。 デ ィ ス ク ス ペ ー ス は 、 フ ァ イ ル シ ス テ ム の ブ ロ ッ ク サ イ ズ の 倍 数 で 割 り 当 て ら れ る の で 、 こ の 表 示 は た い て い %s/1024 よ り 大 き い 。 だ が 、 フ ァ イ ル が 穴 空 き フ ァ イ ル (sparse file) の 場 合 は 、 %s/1024 よ り 小 さ く な る こ と も あ る 。

%l

シ ン ボ リ ッ ク リ ン ク の 参 照 先 (フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク で な か っ た ら 、 空 文 字 列 )。

%m

フ ァ イ ル の 許 可 属 性 ビ ッ ト (8 進 数 表 示 )。 こ の オ プ シ ョ ン が 使 用 し て い る 数 値 は 、 Unix の た い て い の 実 装 が 使 用 し て い る 「 伝 統 的 な 」 数 値 で あ る 。 し か し 、 ご 使 用 の シ ス テ ム の 実 装 で は 、 8 進 数 で 表 示 す る 許 可 属 性 ビ ッ ト の 並 び 方 が 独 特 か も し れ な い 。 そ の 場 合 は 、 フ ァ イ ル の 許 可 属 性 の 実 際 の 値 と %m の 出 力 と が 、 相 違 す る こ と に な る 。 こ の 数 値 の 先 頭 に 0 を 付 け て 表 示 し た い こ と も よ く あ る が 、 そ の た め に は 、 # フ ラ グ を 使 用 す れ ば よ い (た と え ば 、 ’%#m’ と い っ た 具 合 に )。

%M

フ ァ イ ル の 許 可 属 性 (ls と 同 様 の シ ン ボ ル に よ る 表 現 )。 こ の 書 式 指 定 子 は findutils 4.2.5 以 来 サ ポ ー ト さ れ て い る 。
%n

フ ァ イ ル の ハ ー ド リ ン ク 数 。

%p フ ァ イ ル 名 。

%P 問 題 の フ ァ イ ル が 、 あ る 探 索 開 始 点 の 下 に あ っ た 場 合 に 、 フ ァ イ ル 名 か ら 探 索 開 始 点 を 示 す 部 分 を 取 り 去 っ た も の 。

%s バ イ ト で 表 示 し た フ ァ イ ル サ イ ズ 。

%S フ ァ イ ル の 穴 空 き 率

(sparseness)。 こ の 値 は 、 (BLOCKSIZE*st_blocks / st_size) で 計 算 さ れ る 。 あ る 大 き さ の 普 通 の フ ァ イ ル か ら 得 ら れ る 値 は 、 厳 密 に 言 う と 、 シ ス テ ム 依 存 で あ る 。 そ れ で も 、 穴 空 き フ ァ イ ル の 穴 空 き 率 は 、 通 常 1.0 未 満 に な る し 、 間 接 ブ ロ ッ ク を 使 用 し て い る フ ァ イ ル の 穴 空 き 率 は 、 1.0 以 上 に な る こ と が あ る 。 BLOCKSIZE に 使 わ れ る 値 は 、 シ ス テ ム 次 第 だ が 、 普 通 は 512 バ イ ト で あ る 。 フ ァ イ ル サ イ ズ が 0 の 場 合 、 出 力 さ れ る 値 は 不 定 で あ る 。 st_blocks を サ ポ ー ト し て い な い シ ス テ ム で は 、 フ ァ イ ル の 穴 空 き 率 は 、 1.0 と 見 な さ れ る 。

%t フ ァ イ ル の 最 終 内 容 更 新 日 時 を 、

C 言 語 の ’ctime’ 関 数 が 返 す

形 式 で 表 示 す る 。

%Tk フ ァ イ ル の 最 終 内 容 更 新 日 時 を

k で 指 定 し た 書 式 で 表 示 す る 。

k は %A の 場 合 と 同 じ で あ る 。

%u フ ァ イ ル の 所 有 者 名 。 該 当 す る ユ ー ザ 名 が 存 在 し な い 場 合 は 、 ユ ー ザ

ID 番 号 。

%U フ ァ イ ル の ユ ー ザ

ID 番 号 。

%y フ ァ イ ル の タ イ プ

(ls −l の 表 現 と ほ ぼ 同 じ )。 U=unknown type

(こ れ が 表 示 さ れ る こ と は な い は ず だ )

%Y フ ァ イ ル の タ イ プ

(表 示 は %y と 同 じ )。 た だ し 、 シ ン ボ リ ッ ク

リ ン ク を た ど る 。 そ の 場 合 、 L=loop, N=nonexistent で あ る 。

%Z

(SELinux が 有 効 な と き の み ) フ ァ イ ル の セ キ ュ リ テ ィ ・ コ ン テ ク ス ト 。

%{ %[ %( 将 来 の 使 用 の た め に 予 約 さ れ て い る 。 一 個 の ’%’ に 上 記 以 外 の 文 字 が 続 く 場 合 、 ’%’ 文 字 は 捨 て ら れ る が 、 そ れ に 続 く 文 字 は 表 示 さ れ る (書 式 指 定 文 字 が 新 た に 追 加 さ れ る か も し れ な い の で 、 こ の 動 作 を 当 て に し て は い け な い 。 (訳 注 : 以 前 は そ の と お り だ っ た が 、 現 在 で は 、 無 効 な 書 式 指 定 子 を 使 っ た 場 合 、 ’%q’ の よ う に ’%’ も 表 示 さ れ る よ う だ ))。 書 式 指 定 の 末 尾 に ’%’ が あ る と き の 動 作 は 、 続 く 文 字 が な い の で 不 定 で あ る 。 ロ ケ ー ル に よ っ て は 、 お 宅 の ド ア の 鍵 が 見 つ か ら な く な る か も し れ な い 。 ま た 、 別 の ロ ケ ー ル で は 、 お 読 み に な っ て い る 小 説 の 最 後 の ペ ー ジ が 消 え て し ま う か も し れ な い 。 書 式 指 定 子 %m と %d は フ ラ グ #, 0, + を サ ポ ー ト す る が 、 そ れ 以 外 の 書 式 指 定 子 で は 、 数 値 を 表 示 す る 場 合 で も 、 そ う し た フ ラ グ を サ ポ ー ト し な い 。 # な ど を サ ポ ー ト し な い 数 値 関 係 の 書 式 指 定 子 に は 、 G, U, b, D, k, n な ど が あ る 。 し か し 、 書 式 フ ラ グ ’−’ は サ ポ ー ト さ れ て お り 、 フ ィ ー ル ド を (デ フ ォ ル ト の ) 右 揃 え か ら 左 揃 え に 変 更 す る 。 フ ァ イ ル 名 中 の 普 通 使 わ な い 文 字 が ど の よ う に 扱 わ れ る か に つ い て は 、 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン の 説 明 を 参 照 し て い た だ き た い 。

−prune 真 を 返 す 。 処 理 対 象 の フ ァ イ ル が デ ィ レ ク ト リ の 場 合 は 、 そ の デ ィ レ ク ト リ 以 下 に 降 り て 行 か な い 。

−depth が 指 定 し て あ る と 、 −prune は 、 偽 を 返 し 、 そ の 効 果 を 失 う 。 −delete を 指 定 す る と 自 動 的 に −depth が 有 効 に な る の で 、 −prune−delete と 一 緒 に 使 っ て も 役 に 立 た な い 。

[訳 注 ]: つ ま り 、

−prune は 指 定 さ れ た デ ィ レ ク ト リ の 、 い わ ゆ る 枝 刈

り (prune) を す る 。 バ ー ジ ョ ン 4.3.11 以 降 の find で は 、 −prune の 動 作 が 、 上 の 説 明 と 少 し 違 っ て い る 。 −depth が 指 定 し て あ る と 、 −prune が 効 果 を 失 う (す な わ ち 、 枝 刈 り を 行 わ な く な る ) こ と は 、 そ れ 以 前 と 変 わ り が な い が 、 返 り 値 は 真 を 返 す よ う に な っ て い る の だ 。 こ れ は POSIX 準 拠 の 動 作 で あ る 。 ご 自 分 で 、 find . −depth −path "./foo" −prune −print な ど を 実 行 し て 、 確 認 し て い た だ き た い 。 −prune が 真 を 返 し て い れ ば 、 デ ィ レ ク ト リ ./foo が 表 示 さ れ る は ず で あ る 。

−quit 直 ち に 終 了 す る 。 動 い て い る 子 プ ロ セ ス を 残 し た ま ま 終 了 し た り は し な い が 、 コ マ ン ド ラ イ ン で 指 定 し た パ ス を こ れ 以 上 処 理 す る こ と は な い 。 た と え ば 、

find /tmp/foo /tmp/bar −print −quit は 、 /tmp/foo を 表 示 す る だ け で あ る 。 −execdir ... {} + に よ っ て す で に 作 成 さ れ た コ マ ン ド ラ イ ン が あ れ ば 、 find が 終 了 す る 前 に 、 呼 び 出 し て 実 行 す る 。 終 了 ス テ ー タ ス は 、 エ ラ ー が す で に 起 き て い る か ど う か よ っ て 、 0 の こ と も 、 0 で な い こ と も あ る 。 演 算 子 演 算 子 を 優 先 順 位 の 高 い も の か ら 順 に 列 挙 す る 。
( expr ) カ ッ コ の 内 側 を 先 に 処 理 す る 。 カ ッ コ は シ ェ ル に と っ て 特 別 な 意 味 を 持 っ て い る の で 、 普 通 は ク ォ ー ト す る 必 要 が あ る だ ろ う 。 こ の マ ニ ュ ア ル ペ ー ジ で 挙 げ て い る 例 の 多 く で は 、 そ の た め に バ ッ ク ス ラ ッ シ ュ を 使 っ て い る 。 す な わ ち ’(...)’ で は な く 、 ’\(...\)’ と 書 い て い る 。

! expr

expr が 偽 の 場 合 、 真 に な る 。 通 常 、 こ の 記 号 も シ ェ ル に よ っ て 解 釈 さ れ な い よ う に す る 必 要 が あ る だ ろ う 。

−not expr

! expr と 同 じ だ が 、 POSIX 準 拠 の 表 現 で は な い 。

expr1 expr2 連 続 す る 二 つ の 式 は 、 and 結 合 と 解 釈 さ れ る (明 示 さ れ て い な い が 、 式 の 間 に "−a" が あ る と 見 な さ れ る わ け だ )。 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 と 同 じ だ が 、 POSIX 準 拠 の 表 現 で は な い 。

expr1 , expr2 リ ス ト で あ る 。 常 に expr1expr2 の 両 方 が 評 価 さ れ る 。 expr1 の 値 は 捨 て ら れ 、 expr2 の 値 が リ ス ト 全 体 の 値 に な る 。 コ ン マ 演 算 子 は い く つ か の 異 な っ た タ イ プ の 対 象 を 捜 す と き 便 利 だ が 、 フ ァ イ ル シ ス テ ム 階 層 の 探 索 は 一 度 し か 行 わ れ な い 。 異 な っ た 形 で マ ッ チ し た 対 象 の 一 覧 を そ れ ぞ れ 別 の 出 力 フ ァ イ ル に 書 き 出 す に は 、 −fprintf ア ク シ ョ ン を 利 用 す れ ば よ い 。

[訳 注 ]:

find に と っ て 演 算 子 も 引 き 数 で あ る 。 だ か ら ’(’, ’)’, ’!’, ’,’ と い っ た 演 算 子 も 、 前 後 の 引 き 数 と の 間 に 空 白 が 必 要 だ と い う こ と に 気 を つ け て い た だ き た い 。

変 わ り 者 の フ ァ イ ル 名

多 く の 場 合 find の ア ク シ ョ ン は 、 他 の ユ ー ザ が 自 由 に で き る デ ー タ を 端 末 に 表 示 す る こ と に な る 。 そ う し た デ ー タ に は 、 た と え ば 、 フ ァ イ ル の 名 前 、 サ イ ズ 、 内 容 更 新 日 時 な ど が あ る 。 こ の 内 、 フ ァ イ ル 名 は ’\0’ と ’/’ 以 外 の ど ん な 文 字 で も 使 え る こ と に な っ て い る の で 、 時 と し て 問 題 の 種 と な る 。 フ ァ イ ル 名 の 中 に 普 通 は 使 わ な い 文 字 が あ る と 、 使 用 し て い る 端 末 に 思 い が け な い 、 そ し て し ば し ば 望 ま し く な い 影 響 を も た ら す こ と が あ る の だ (た と え ば 、 端 末 に よ っ て は 、 フ ァ ン ク シ ョ ン ・ キ ー の 現 在 の 設 定 が 変 更 さ れ て し ま う )。 普 通 使 わ な い 文 字 を ど う 扱 う か は ア ク シ ョ ン に よ っ て 異 な っ て い る 。 そ れ を 以 下 に 示 そ う 。

−print0, −fprint0 常 に フ ァ イ ル 名 に 手 を 加 え ず 、 そ の ま ま 出 力 す る 。 出 力 先 が 端 末 で あ っ て も 、 同 じ で あ る 。
−ls, −fls 普 通 使 わ な い 文 字 は 、 常 に エ ス ケ ー プ さ れ る 。 ホ ワ イ ト ス ペ ー ス (空 白 、 改 行 、 タ ブ な ど )、 バ ッ ク ス ラ ッ シ ュ 、 ダ ブ ル ク ォ ー ト は C 言 語 式 の エ ス ケ ー プ 表 現 で 出 力 さ れ る (た と え ば ’\f’, ’\"’)。 他 の 普 通 使 わ な い 文 字 に は 、 エ ス ケ ー プ し た 8 進 数 が 使 わ れ る 。 そ れ 以 外 の 表 示 可 能 な 文 字 は (−ls−fls と っ て は 8 進 数 の 041 か ら 0176 に 当 た る 文 字 )、 手 を 加 え ず に そ の ま ま 出 力 さ れ る 。
−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 ls と 同 じ で あ る (訳 注 : 厳 密 に 言 う と 、 現 在 の と こ ろ ls −N と 同 じ 。 ls は バ ー ジ ョ ン に よ っ て は 、 デ フ ォ ル ト の 表 示 が −N で は な い こ と が あ る )。 つ ま り 、 −ls−fls に お け る ク ォ ー ト 方 法 と は 違 う と い う こ と だ 。 も し 、 find の 出 力 に 使 用 す る 形 式 を 自 由 に 決 め る こ と が で き る な ら ば 、 た い て い の 場 合 、 終 端 文 字 に 改 行 で は な く 、 ’\0’ を 使 用 し た 方 が よ い 。 フ ァ イ ル 名 に は 空 白 や 改 行 が 含 ま れ て い る こ と が あ る か ら だ 。 ど の 文 字 に ク ォ ー ト が 必 要 か を 判 断 す る に は 、 環 境 変 数 ’LC_CTYPE’ の 設 定 が 使 用 さ れ る 。
−print, −fprint ク ォ ー ト は −printf−fprintf と 同 じ や り 方 で 行 わ れ る 。 find を ス ク リ プ ト 中 で 使 っ て い る 場 合 や 、 マ ッ チ す る フ ァ イ ル が 我 儘 な フ ァ イ ル 名 を 持 っ て い る か も し れ な い 場 合 は 、 −print で は な く 、 −print0 の 使 用 を 考 え た 方 が よ い だ ろ う 。 ア ク シ ョ ン −ok−okdir は 、 対 象 と な る フ ァ イ ル 名 を そ の ま ま 手 を 加 え ず に 出 力 す る 。 こ の 動 作 は 、 将 来 の リ リ ー ス で 変 わ る か も し れ な い 。

規 格 へ の 準 拠

POSIX 規 格 に で き る だ け 準 拠 し た 動 作 を 求 め る の な ら 、 環 境 変 数 POSIXLY_CORRECT を 設 定 す る と よ い 。 以 下 の オ プ シ ョ ン や 述 語 は POSIX 規 格 (IEEE Std 1003.1, 2003 Edition) で 規 定 さ れ て い る 。

−H こ の オ プ シ ョ ン は サ ポ ー ト し て い る 。

−L こ の オ プ シ ョ ン は サ ポ ー ト し て い る 。

−name こ の 述 語 は サ ポ ー ト し て い る 。 し か し 、

POSIX へ の 準 拠 度 は 、 シ ス テ ム

fnmatch(3) ラ イ ブ ラ リ 関 数 が ど の 程 度 POSIX に 準 拠 し て い る か に 依 存 し て い る 。 findutils−4.2.2 以 来 、 シ ェ ル の メ タ 文 字 (’*’, ’?’, ’[]’ な ど ) は 、 フ ァ イ ル 名 の 先 頭 の ’.’ 文 字 に マ ッ チ す る が 、 こ れ は IEEE PASC interpretation 126 が そ う 要 求 し て い る か ら で あ る 。 こ の 動 作 は そ れ 以 前 の バ ー ジ ョ ン の findutils と 異 な っ て い る 。

−type サ ポ ー ト し て い る 。

POSIX で は ’b’, ’c’, ’d’, ’l’, ’p’, ’f’, ’s’

を 規 定 し て い る 。 GNU find は 、 そ の ほ か 「 ド ア 」 を 表 す ’D’ も サ ポ ー ト し て い る が 、 使 え る の は OS が そ う し た フ ァ イ ル ・ タ イ プ を 用 意 し て い る 場 合 の み で あ る 。

−ok サ ポ ー ト し て い る 。 プ ロ ン プ ト に 対 す る 応 答 は 、

"yes"、 "no" を 表 す パ

タ ー ン に 照 ら し て 解 釈 さ れ る が 、 そ の パ タ ー ン は 、 環 境 変 数 ’LC_MESSAGES’ を 設 定 す る こ と に よ っ て 選 択 さ れ る 。 環 境 変 数 ’POSIXLY_CORRECT’ が 設 定 さ れ て い る 場 合 は 、 何 が 肯 定 的 応 答 (yes) で 、 何 が 否 定 的 応 答 (no) か を 決 め て い る シ ス テ ム の 定 義 が 、 こ の パ タ ー ン と し て 使 用 さ れ る 。 nl_langinfo(3) に 関 す る シ ス テ ム の 文 書 、 特 に YESEXPR と NOEXPR の 部 分 を 参 照 し て ほ し い 。 そ れ に 対 し 、 ’POSIXLY_CORRECT’ が 設 定 さ れ て い な い 場 合 は 、 パ タ ー ン は 、 シ ス テ ム で は な く 、 find の 持 つ メ ッ セ ー ジ ・ カ タ ロ グ か ら 取 得 さ れ る の で あ る 。

−newer サ ポ ー ト し て い る 。 指 定 さ れ た フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク の 場 合 は 、 必 ず リ ン ク 先 が 参 照 さ れ る

(訳 注 : 訳 者 と し て は 、 「 −L−H オ プ シ ョ ン が 有 効 な 場 合 は 」 と い う 条 件 が 必 要 で は な い か と 思 う 。 −P, −L, −H オ プ シ ョ ン や 、 検 査 −newer の 説 明 を 参 照 )。 以 前 の バ ー ジ ョ ン で は 、 シ ン ボ リ ッ ク リ ン ク そ の も の か ら 比 較 に 使 う 日 時 を 取 得 し て い た が 、 動 作 が こ の よ う に 変 更 に な っ た 。 後 述 の 「 履 歴 」 セ ク シ ョ ン も 参 照 し て ほ し い 。

−perm サ ポ ー ト し て い る 。 環 境 変 数

POSIXLY_CORRECT が 設 定 さ れ て い な い 場

合 は 、 POSIX で は 無 効 な (た と え ば 、 +a+x と い っ た ) モ ー ド 指 定 の 引 き 数 も 、 後 方 互 換 の た め に 使 用 で き る よ う に な っ て い る (訳 注 : find 4.6.0 で は 、 POSIXLY_CORRECT が 設 定 さ れ て い な い と き で も 、 +a+x の よ う な −perm +mode の 形 式 は 使 え な く な っ て い る )。 そ の 他 の 述 語
−atime
, −ctime, −depth, −group, −links, −mtime, −nogroup, −nouser, −perm, −print, −prune, −size, −user −xdev と い っ た 述 語 は 、 す べ て サ ポ ー ト し て い る 。

POSIX 規 格 は 、 カ ッ コ ’(’, ’)’、 否 定 ’!’、 そ れ に and と or 演 算 子 (−a, −o) を 規 定 し て い る 。 上 記 以 外 の す べ て の オ プ シ ョ ン 、 述 語 、 式 な ど は 、 POSIX 規 格 に な い 拡 張 で あ る 。 と は 言 え 、 そ う し た 拡 張 の 多 く は 、 GNU find に 特 有 な も の で は な い 。

POSIX 規 格 に よ れ ば 、 find は ル ー プ を 検 出 す る こ と に な っ て い る 。

find ユ ー テ ィ リ テ ィ は 無 限 ル ー プ を 検 出 し な け れ ば な ら な い 。 無 限 ル ー プ と は 、 探 索 中 に 入 っ た デ ィ レ ク ト リ が 、 す で に 訪 れ た こ と が あ り 、 し か も 直 前 に 処 理 対 象 に し た フ ァ イ ル の 上 位 に あ る デ ィ レ ク ト リ で あ る こ と で あ る 。 無 限 ル ー プ を 検 出 し た 場 合 、 find は 何 が 起 き た か を 告 げ る 診 断 メ ッ セ ー ジ を 標 準 エ ラ ー に 表 示 し 、 探 索 位 置 を デ ィ レ ク ト リ 階 層 上 の 元 の 位 置 に 戻 す か 、 終 了 す べ き で あ る 。

GNU find は そ う し た 要 求 に 従 っ て い る 。 デ ィ レ ク ト リ が そ の 中 に 上 位 デ ィ レ ク ト リ へ の ハ ー ド リ ン ク で あ る エ ン ト リ を 含 ん で い る 場 合 は 、 デ ィ レ ク ト リ の ハ ー ド リ ン ク 数 が 、 そ の エ ン ト リ が 普 通 の サ ブ デ ィ レ ク ト リ な ら そ う な る は ず の 数 よ り も 、 た い て い 少 な く な る も の だ (訳 注 : 実 際 に は 、 Linux を 始 め 、 デ ィ レ ク ト リ の ハ ー ド リ ン ク を 禁 止 し て い る シ ス テ ム が 多 い )。 そ の 結 果 、 GNU find が 時 と し て 、 実 際 に は 上 位 デ ィ レ ク ト リ へ の ハ ー ド リ ン ク で あ る サ ブ デ ィ レ ク ト リ を 、 最 適 化 の 副 作 用 で 探 索 し な い こ と が 起 こ り え る 。 そ の 場 合 、 find は 確 か に そ う し た デ ィ レ ク ト リ に 足 を 踏 み 入 れ な い わ け だ か ら 、 「 ル ー プ 検 出 」 の 診 断 メ ッ セ ー ジ を 出 さ な い で も よ い こ と に な っ て い る 。 こ れ は か な り 紛 ら わ し い 動 作 か も し れ な い が 、 find の こ の 動 作 を 本 気 で 当 て に し て い る 人 も い な い こ と だ ろ う 。 −noleaf オ プ シ ョ ン を 指 定 し て 、 デ ィ レ ク ト リ ・ ツ リ ー 上 の 葉 っ ぱ を 簡 易 判 別 す る 最 適 化 を 無 効 に し て い る 場 合 は (訳 注 : −noleaf 参 照 )、 こ う し た デ ィ レ ク ト リ ・ エ ン ト リ に 対 す る 検 査 も 省 略 さ れ ず に 行 わ れ 、 必 要 な ら ば 、 診 断 メ ッ セ ー ジ が 表 示 さ れ る こ と に な る 。 シ ン ボ リ ッ ク リ ン ク を 使 っ て い れ ば 、 フ ァ イ ル シ ス テ ム 上 に 本 物 の 循 環 を 起 こ す こ と は な い が 、 そ れ で も 、 −L−follow を 使 用 し て い る 場 合 は 、 探 索 中 に シ ン ボ リ ッ ク リ ン ク の ル ー プ に 出 会 え ば 、 診 断 メ ッ セ ー ジ が 表 示 さ れ る 。 ハ ー ド リ ン ク を 含 む ル ー プ の 場 合 と 同 様 、 葉 っ ぱ を 簡 易 判 別 す る 最 適 化 を 使 用 し て い る と 、 find は た い て い の 場 合 、 シ ン ボ リ ッ ク リ ン ク に 対 し て stat()chdir() を 呼 び 出 す ま で も な い と 知 っ て い る こ と に な る の で 、 ル ー プ の 診 断 は 不 要 に な る こ と が 多 い 。

−d オ プ シ ョ ン は BSD シ ス テ ム 各 種 と の 互 換 性 の た め に サ ポ ー ト さ れ て い る 。 だ が 、 POSIX に 準 拠 し て い る −depth オ プ シ ョ ン の 方 を 使 っ た 方 が よ い 。 環 境 変 数 POSIXLY_CORRECT は 、 検 査 −regex−iregex の 動 作 に 影 響 を 与 え な い 。 そ う し た 検 査 は 、 POSIX 規 格 で 規 定 さ れ て い な い か ら で あ る 。

環 境 変 数

LANG 国 際 化 関 係 の 環 境 変 数 の う ち 、 値 が 設 定 さ れ て い な か っ た り 、

null

だ っ た り す る 変 数 に 対 し て 、 LANG の 値 が デ フ ォ ル ト の 値 に な る 。

LC_ALL こ の 環 境 変 数 が 空 文 字 列 以 外 の 値 に 設 定 さ れ て い る と 、 そ の 値 が 国 際 化 関 係 の 他 の す べ て の 環 境 変 数 の 値 よ り も 優 先 さ れ る 。

LC_COLLATE

POSIX の 規 定 に よ れ ば 、 こ の 環 境 変 数 は 検 査 −name で 使 わ れ る パ タ ー ン マ ッ チ ン グ に 影 響 す る 。 GNU find は fnmatch(3) ラ イ ブ ラ リ 関 数 を 使 用 し て い る の で 、 LC_COLLATE へ の 対 応 は シ ス テ ム の ラ イ ブ ラ リ 次 第 で あ る 。 ま た 、 こ の 変 数 は ア ク シ ョ ン −ok に 対 す る 応 答 の 解 釈 に も 影 響 を 及 ぼ す 。 −ok に 対 す る 応 答 の 解 釈 に 使 用 さ れ る 実 際 の パ タ ー ン は LC_MESSAGES 変 数 に よ っ て 選 択 さ れ る の だ が 、 そ の パ タ ー ン 中 に 角 カ ッ コ 式 が 使 わ れ て い る 場 合 の 解 釈 は 、 LC_COLLATE の 影 響 を 受 け る の で あ る 。

LC_CTYPE こ の 環 境 変 数 は 、 正 規 表 現 で 使 用 さ れ る 文 字 ク ラ ス の 処 理 に 影 響 す る 。 シ ス テ ム の fnmatch(3) ラ イ ブ ラ リ 関 数 が 対 応 し て い る 場 合 は 、 検 査 −name で 使 わ れ る 文 字 ク ラ ス の 処 理 に も 影 響 を 及 ぼ す 。 ま た 、 こ の 変 数 は 、 ア ク シ ョ ン −ok が 出 す プ ロ ン プ ト に 対 し て ユ ー ザ が 応 答 す る 際 、 諾 否 の 判 断 に 使 用 さ れ る 正 規 表 現 に 文 字 ク ラ ス が 使 わ れ て い れ ば 、 そ の 解 釈 に も 影 響 す る 。 さ ら に ま た 、 環 境 変 数 LC_CTYPEは 、 フ ァ イ ル 名 が 表 示 さ れ る と き 、 ど の 文 字 を 表 示 不 可 能 (unprintable) と 見 な す か に も か か わ る こ と に な る 。 「 変 わ り 者 の フ ァ イ ル 名 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。
LC_MESSAGES 国 際 化 さ れ た メ ッ セ ー ジ で 使 用 す る ロ ケ ー ル を 決 め る 。 環 境 変 数 ’POSIXLY_CORRECT’ が 設 定 さ れ て い る 場 合 で も 、 や は り こ の 変 数 に よ っ て 、 ア ク シ ョ ン −ok が 出 し た プ ロ ン プ ト に 対 す る 応 答 を ど う 解 釈 す る か が 決 ま っ て く る 。
NLSPATH 国 際 化 メ ッ セ ー ジ ・ カ タ ロ グ を 置 く 場 所 を 決 め る 。

PATH

−exec, −execdir, −ok, −okdir に よ っ て 呼 び 出 さ れ る 実 行 フ ァ イ ル を 捜 す た め に 検 索 す る デ ィ レ ク ト リ に 影 響 す る 。

POSIXLY_CORRECT

−ls−fls が 使 用 す る ブ ロ ッ ク サ イ ズ を 決 め る 。 POSIXLY_CORRECT が 設 定 さ れ て い る と き は 、 1 ブ ロ ッ ク 512 バ イ ト 、 設 定 さ れ て い な い と き は 、 1 ブ ロ ッ ク 1024 バ イ ト で あ る 。 ま た 、 こ の 変 数 を 設 定 す る と 、 警 告 メ ッ セ ー ジ を 出 さ な い の が デ フ ォ ル ト に な る (す な わ ち 、 −nowarn に な る わ け だ )。 な ぜ な ら ば 、 POSIX の 規 定 で は 、 −ok の 出 す プ ロ ン プ ト を 除 い て 、 標 準 エ ラ ー に 出 力 さ れ る メ ッ セ ー ジ は 、 す べ て 問 題 が 起 き た こ と を 知 ら せ る も の で あ り 、 そ の と き の 終 了 ス テ ー タ ス は 0 以 外 で な け れ ば な ら な い か ら で あ る 。

POSIXLY_CORRECT が 設 定 さ れ て い な い 場 合 は 、 +zzz が 許 可 属 性 を 表 す シ ン ボ ル と し て そ れ 自 体 有 効 な 表 現 で あ る と き を 除 き 、 −perm +zzz は −perm /zzz と ま っ た く 同 じ よ う に 扱 わ れ る (訳 注 : 現 在 で は 、 POSIXLY_CORRECT が 設 定 さ れ て い な い 場 合 も 、 −perm +mode の 書 式 は サ ポ ー ト さ れ て い な い 。 検 査 −perm の 説 明 を 参 照 )。 POSIXLY_CORRECT が 設 定 さ れ て い る 場 合 は 、 許 可 属 性 の 前 に ’+’ を 取 る 形 式 は 、 エ ラ ー と し て 処 理 さ れ る (訳 注 : も ち ろ ん 、 +zzz が そ れ 自 体 有 効 な シ ン ボ ル 表 現 で あ る と き は 除 く 。 た と え ば 、 −perm +u+x と い っ た も の が そ う い う 表 現 で あ る 。 こ れ は 、 −perm 0111 と い う 「 ぴ っ た り 一 致 す る 」 表 現 と 等 価 に な る )。

POSIXLY_CORRECT が 設 定 さ れ て い る と 、 ア ク シ ョ ン −ok が 出 す プ ロ ン プ ト に 対 す る ユ ー ザ の 応 答 を 解 釈 す る 際 に 、 find の 持 つ メ ッ セ ー ジ 翻 訳 で は な く 、 シ ス テ ム の メ ッ セ ー ジ ・ カ タ ロ グ が 参 照 さ れ る 。

TZ タ イ ム ゾ ー ン に 影 響 す る 。 タ イ ム ゾ ー ン は 、

−printf−fprintf の 日

時 に 関 係 す る 一 部 の 書 式 指 定 子 で 使 用 さ れ る 。

用 例

find /tmp −name core −type f −print | xargs /bin/rm −f

/tmp デ ィ レ ク ト リ 以 下 に core と い う 名 前 の フ ァ イ ル を 捜 し て 、 そ れ を 消 去 す る 。 フ ァ イ ル 名 (パ ス を 含 む ) の 中 に 改 行 、 シ ン グ ル ク ォ ー ト 、 ダ ブ ル ク ォ ー ト 、 空 白 な ど を 含 む も の が あ る と 、 正 し く 動 作 し な い の で 、 注 意 す る こ と 。

find /tmp −name core −type f −print0 | xargs −0 /bin/rm −f

/tmp デ ィ レ ク ト リ 以 下 に core と い う 名 前 の フ ァ イ ル を 捜 し て 、 そ れ を 消 去 す る 。 フ ァ イ ル 名 の 処 理 に 当 た っ て は 、 フ ァ イ ル や デ ィ レ ク ト リ の 名 前 に シ ン グ ル ク ォ ー ト 、 ダ ブ ル ク ォ ー ト 、 空 白 、 改 行 な ど が 含 ま れ て い て も 、 適 切 に 扱 わ れ る よ う に し て い る 。 検 査 −name−type の 前 に 置 い て い る の は 、 す べ て の フ ァ イ ル に 対 し て stat(2) シ ス テ ム コ ー ル を 行 う 無 駄 を 省 く た め で あ る 。

find . −type f −exec file '{}' \; カ レ ン ト デ ィ レ ク ト リ 以 下 の あ ら ゆ る フ ァ イ ル に 対 し て file コ マ ン ド を 実 行 す る 。 中 カ ッ コ を シ ン グ ル ク ォ ー ト で 囲 ん で い る こ と に 注 目 し て い た だ き た い 。 シ ェ ル ス ク リ プ ト の ブ ロ ッ ク 区 切 り 記 号 と し て 解 釈 さ れ な い よ う に す る た め で あ る 。 同 様 に 、 セ ミ コ ロ ン も バ ッ ク ス ラ ッ シ ュ を 使 っ て 保 護 し て い る 。 こ ち ら に も シ ン グ ル ク ォ ー ト を 使 用 し て も よ い 。

find / \( −perm −4000 −fprintf /root/suid.txt '%#m %u %p\n' \) , \
\( −size +100M −fprintf /root/big.txt '%−10s %p\n' \)
全 フ ァ イ ル シ ス テ ム を 一 回 だ け 探 索 し て 、 setuid ビ ッ ト の 立 っ て い る フ ァ イ ル や デ ィ レ ク ト リ の リ ス ト を /root/suid.txt に 、 サ イ ズ の 大 き い フ ァ イ ル の リ ス ト を /root/big.txt に 出 力 す る 。

find $HOME −mtime 0 こ こ 24 時 間 の 内 に 内 容 が 更 新 さ れ た フ ァ イ ル を ホ ー ム デ ィ レ ク ト リ 以 下 で 検 索 す る 。 こ の コ マ ン ド が そ う い う 動 作 に な る の は 、 そ れ ぞ れ の フ ァ イ ル が 最 後 に 更 新 さ れ て か ら 現 在 ま で の 経 過 時 間 が 、 24 時 間 で 割 ら れ て 、 余 り は 捨 て ら れ る か ら で あ る 。 そ こ で 、 フ ァ イ ル が −mtime 0 に マ ッ チ す る た め に は 、 過 去 24 時 間 未 満 の 期 間 内 に 内 容 が 更 新 さ れ て い な け れ ば な ら な い こ と に な る 。

find /sbin /usr/sbin −executable \! −readable −print 実 行 可 能 で あ り な が ら 、 読 み 出 し 不 可 能 な フ ァ イ ル を 捜 す 。

find . −perm 664 フ ァ イ ル の 所 有 者 と グ ル ー プ は 読 む こ と も 書 く こ と も 可 能 だ が 、 他 の ユ ー ザ は 読 み 出 し の み 可 能 で 書 き 込 み は で き な い フ ァ イ ル を 捜 す 。 そ う し た 条 件 を 満 た す も の の 、 他 の 許 可 属 性 ビ ッ ト も 立 っ て い る よ う な (た と え ば 、 そ の フ ァ イ ル を 実 行 で き る 人 が い る よ う な ) フ ァ イ ル は 、 こ の 式 に マ ッ チ し な い 。

find . −perm −664 フ ァ イ ル の 所 有 者 と グ ル ー プ は 読 む こ と も 書 く こ と も 可 能 で あ り 、 他 の ユ ー ザ も 読 む こ と が 可 能 で あ る よ う な フ ァ イ ル を 捜 す 。 そ れ 以 外 の 許 可 属 性 ビ ッ ト に つ い て は (た と え ば 、 実 行 許 可 ビ ッ ト )、 立 っ て い て も い な く て も か ま わ な い 。 こ の 条 件 は 、 た と え ば 、 0777 の モ ー ド を 持 つ フ ァ イ ル に も マ ッ チ す る こ と に な る 。

find . −perm /222 書 き 込 め る 人 の い る フ ァ イ ル を 捜 す (書 き 込 め る の は 、 フ ァ イ ル の 所 有 者 で も 、 グ ル ー プ で も 、 他 の 一 般 ユ ー ザ で も よ い )。

find . −perm /220
find . −perm /u+w,g+w
find . −perm /u=w,g=w
上 記 の コ マ ン ド は 三 つ と も 同 じ 動 作 を す る 。 最 初 の も の は 、 フ ァ イ ル の 許 可 属 性 を 8 進 数 で 表 し 、 後 の 二 つ は 、 シ ン ボ ル に よ る 表 現 形 式 を 使 っ て い る 。 こ う し た コ マ ン ド は ど れ も 、 フ ァ イ ル の 所 有 者 や グ ル ー プ が 書 き 込 み 可 能 な フ ァ イ ル を 捜 す 。 所 有 者 と グ ル ー プ の 両 方 が 書 き 込 み 可 能 な 場 合 し か 、 マ ッ チ し な い わ け で は な い 。 ど ち ら か 片 方 だ け で も 十 分 で あ る 。

find . −perm −220
find . −perm −g+w,u+w
こ の 二 つ の コ マ ン ド は 同 じ 動 作 を す る 。 す な わ ち 、 フ ァ イ ル の 所 有 者 と グ ル ー プ の 両 方 が 書 き 込 み 可 能 な フ ァ イ ル を 捜 す 。

find . −perm −444 −perm /222 \! −perm /111
find . −perm −a+r −perm /a+w \! −perm /a+x
こ の 二 つ の コ マ ン ド は 両 方 と も 次 の よ う な 条 件 の フ ァ イ ル を 捜 す 。 そ の 条 件 と は 、 誰 に で も 読 み 出 す こ と が 可 能 で (−perm −444−perm −a+r が そ れ に に 当 た る )、 書 き 込 み 許 可 ビ ッ ト が 少 な く と も 一 つ は 立 っ て い る が (−perm /222−perm /a+w)、 誰 に も 実 行 す る こ と は で き な い (! −perm /111! −perm /a+x) と い う も の で あ る 。

cd /source−dir
find . −name .snapshot −prune −o \( \! −name '*~' −print0 \)|
cpio −pmd0 /dest−dir
こ の コ マ ン ド は /source−dir の 中 身 を /dest−dir に コ ピ ー す る が 、 そ の 際 .snapshot と い う 名 前 の フ ァ イ ル や デ ィ レ ク ト リ (及 び 、 そ の デ ィ レ ク ト リ 内 に あ る も の ) を 除 外 し て い る 。 さ ら に こ の コ マ ン ド は 、 名 前 の 末 尾 に ~ が 付 く フ ァ イ ル や デ ィ レ ク ト リ も 除 外 す る が 、 そ う し た デ ィ レ ク ト リ の 中 身 に つ い て は 除 外 の 対 象 に し な い 。 −prune −o \( ... −print0 \) と い う 構 文 は か な り よ く 利 用 さ れ る 。 こ こ で 肝 腎 な の は 、 −prune の 前 に あ る 式 が マ ッ チ す る 項 目 は 、 find の 探 索 の 対 象 か ら −prune に よ っ て 取 り 除 か れ る (訳 注 : pruned、 枝 刈 り さ れ る ) と い う こ と で あ る 。 し か し 、 ア ク シ ョ ン −prune 自 体 は 返 り 値 と し て 真 を 返 す の で 、 直 後 に 続 く −o に よ っ て 、 探 索 の 対 象 か ら 取 り 除 か れ な か っ た デ ィ レ ク ト リ に 対 し て だ け −o の 右 辺 の 評 価 が 行 わ れ る こ と に な る (探 索 の 対 象 か ら 取 り 除 か れ た デ ィ レ ク ト リ の 中 身 は 、 処 理 の 対 象 に す ら な ら な い の だ か ら 、 そ う し た も の は も う 関 係 が な い )。 −o の 右 辺 の 式 を カ ッ コ で 囲 ん で い る の は 、 見 や す く す る た め に す ぎ な い 。 ア ク シ ョ ン −print0 が 行 わ れ る の は 、 −prune が 適 用 さ れ な か っ た 項 目 の み で あ る こ と を 強 調 し て い る だ け だ 。 述 語 間 の デ フ ォ ル ト の 結 合 は and で あ り 、 and の 結 合 は −o よ り も 強 い か ら 、 カ ッ コ が あ っ て も デ フ ォ ル ト の 動 作 と 同 じ な の だ が 、 カ ッ コ を 使 う と 、 何 を や っ て い る か が わ か り や す く な る 。

find repo/ \( −exec test −d {}/.svn \; −or \
−exec test −d {}/.git \; −or −exec test −d {}/CVS \; \) \
−print −prune
以 下 の よ う な プ ロ ジ ェ ク ト の デ ィ レ ク ト リ と そ れ に 関 連 す る SCM (ソ ー ス コ ー ド 管 理 シ ス テ ム ) の 管 理 用 デ ィ レ ク ト リ が あ る 場 合 に 、 プ ロ ジ ェ ク ト の ル ー ト を 効 率 的 に 検 索 す る 。

repo/project1/CVS
repo/gnu/project2/.svn
repo/gnu/project3/.svn
repo/gnu/project3/src/.svn
repo/project4/.git
こ の 例 で は 、 −prune を 使 う こ と に よ っ て 、 す で に プ ロ ジ ェ ク ト の ル ー ト で あ る こ と が わ か っ た デ ィ レ ク ト リ 以 下 で 不 必 要 な 探 索 を し な い で す ま せ て い る (た と え ば 、 project3/src は 探 索 し な い が 、 そ れ は project3/.svn が す で に 見 つ か っ て い る か ら だ )。 そ れ で い て 、 同 格 の デ ィ レ ク ト リ (た と え ば 、 project2 と project3) は き ち ん と 見 つ か る よ う に し て い る 。 (訳 注 : こ の 例 の 場 合 、 カ ッ コ は 必 要 で あ る 。 and の 結 合 は or よ り も 強 い の で 。 )

終 了 ス テ ー タ ス

find は 、 す べ て の フ ァ イ ル を 問 題 な く 処 理 で き れ ば 、 ス テ ー タ ス 0 で 終 了 す る 。 エ ラ ー が 起 き た 場 合 の 終 了 ス テ ー タ ス は 、 1 以 上 で あ る 。 こ こ で は あ え て ご く 大 雑 把 な 言 い 方 を し て い る が 、 返 り 値 が 0 以 外 だ っ た 場 合 は 、 find が 出 し た 結 果 を 正 し い と 思 い 込 ま な い 方 が よ い だ ろ う 。 エ ラ ー が 起 き た 場 合 、 find は 、 指 定 さ れ た す べ て の 動 作 を 完 了 せ ず 、 そ の 場 で 終 了 し て し ま う こ と が あ る 。 そ の 場 合 は 、 た と え ば 、 探 索 開 始 点 の あ る も の が 調 査 さ れ な か っ た り 、 −exec ... {} +−execdir ... {} + で 呼 び 出 さ れ る こ と に な っ て い る プ ロ グ ラ ム に 実 行 さ れ な い も の が 生 じ た り す る か も し れ な い 。

関 連 項 目

locate(1), locatedb(5), updatedb(1), xargs(1), chmod(1), fnmatch(3), regex(7), stat(2), lstat(2), ls(1), printf(3), strftime(3), ctime(3)

find に は 、 Texinfo マ ニ ュ ア ル の 形 で 保 守 さ れ て い る 充 実 し た 文 書 が あ る 。 infofind プ ロ グ ラ ム が 、 御 使 用 の サ イ ト で き ち ん と イ ン ス ト ー ル さ れ て い る な ら ば 、 info find と コ マ ン ド を 打 ち 込 む こ と で 、 詳 細 な マ ニ ュ ア ル が 読 め る は ず だ 。 (訳 注 : info find だ と 、 説 明 が 途 中 か ら に な る の で 、 info "Finding files" と 打 ち 込 む こ と を お 勧 め す る 。 )

履 歴

findutils−4.2.2 以 来 、 フ ァ イ ル 名 の パ タ ー ン に 使 わ れ る シ ェ ル の メ タ 文 字 (’*’, ’?’, ’[]’ な ど ) は 、 先 頭 の ’.’ に マ ッ チ す る 。 こ れ は 、 IEEE POSIX interpretation 126 が そ う 要 求 し て い る か ら で あ る 。

findutils−4.3.3 以 来 、 −perm /000 は 、 ど ん な フ ァ イ ル に も マ ッ チ し な い で は な く 、 す べ て の フ ァ イ ル に マ ッ チ す る 、 に な っ て い る 。 ナ ノ 秒 ま で 表 現 す る タ イ ム ス タ ン プ は findutils−4.3.3 で 実 装 さ れ た 。

findutils−4.3.11 以 来 、 ア ク シ ョ ン −delete は 、 実 行 に 失 敗 す る と 、 find の 終 了 ス テ ー タ ス を 0 以 外 の 値 に す る 。 と は 言 え 、 find が そ の 場 で 即 座 に 終 了 し て し ま う わ け で は な い 。 以 前 の バ ー ジ ョ ン で は 、 −delete が 実 行 に 失 敗 し て も 、 find の 終 了 ス テ ー タ ス は 影 響 を 受 け な か っ た 。

−perm +MODE と い う 書 き 方 は 、 findutils−4.5.12 で 廃 止 さ れ た 。 代 わ り に 、 −perm /MODE を 使 用 す る こ と 。 +MODE と い う 記 法 は 、 2005 年 に リ リ ー ス さ れ た findutils−4.2.21 以 来 非 推 奨 に な っ て い た 。

バ グ に あ ら ず

$ find . −name *.c −print
find: paths must precede expression
Usage: find [−H] [−L] [−P] [−Olevel] [−D help|tree|search|stat|rates|opt|exec] [path...] [expression] こ う し た エ ラ ー が 起 き る 原 因 は 、 *.c が シ ェ ル に よ っ て 展 開 さ れ て 、 find が 実 際 に 受 け 取 る コ マ ン ド ラ イ ン が 、 た と え ば 次 の よ う な も の に な っ て し ま う か ら で あ る 。

find . −name bigram.c code.c frcode.c locate.c −print 当 然 な が ら 、 こ ん な コ マ ン ド が う ま く 動 く わ け が な い 。 書 き 方 を 改 め て 、 パ タ ー ン を 引 用 符 で 囲 む か 、 ワ イ ル ド カ ー ド を エ ス ケ ー プ す る べ き だ 。
$ find . −name '*.c' −print
$ find . −name \*.c −print

バ グ

POSIX 規 格 が find に つ い て 規 定 し て い る 動 作 に は 、 セ キ ュ リ テ ィ 上 の 問 題 が あ る が 、 そ れ は そ の 動 作 に 内 在 す る 問 題 な の で 、 修 正 す る こ と が で き な い 。 一 例 を 挙 げ る と 、 ア ク シ ョ ン −exec は 本 質 的 に 安 全 で は な い 。 だ か ら 、 −execdir の 方 を 使 う べ き な の だ 。 よ り 詳 し い 情 報 に つ い て は 、 Finding Files を ご 覧 い た だ き た い 。 環 境 変 数 LC_COLLATE は ア ク シ ョ ン −ok に ま っ た く 影 響 を 及 ぼ さ な い (訳 注 : 環 境 変 数 LC_COLLATE の 説 明 で は 「 こ の 変 数 は ア ク シ ョ ン −ok に 対 す る 応 答 の 解 釈 に も 影 響 を 及 ぼ す 」 と 述 べ て い る )。 バ グ 報 告 の 最 善 の 方 法 は 、 http://savannah.gnu.org/bugs/?group=findutils に あ る 書 式 を 使 用 す る こ と で あ る 。 そ う す れ ば 、 問 題 解 決 の 進 行 状 態 を 追 う こ と が で き る か ら だ 。 find(1) や findutils パ ッ ケ ー ジ 全 般 に つ い て の そ の 他 の ご 意 見 は 、 bug−findutils メ ー リ ン グ リ ス ト に お 出 し に な れ ば よ い 。 メ ー リ ン グ リ ス ト に 参 加 す る に は 、 bug−findutils−request [AT] gnu.org 宛 に E メ ー ル を 送 っ て い た だ き た い 。

翻 訳 に つ い て

こ の 翻 訳 は findutils-4.6.0 所 収 の find.1 の 翻 訳 で あ る 。 お 手 元 の findutils は 、 も っ と 新 し い バ ー ジ ョ ン 、 た と え ば 4.7.0-git に な っ て い る か も し れ な い 。 だ が 、 4.7.0 は 開 発 中 の 版 な の で 、 manpage も 変 化 し 続 け て お り 、 現 時 点 で 最 新 の 4.7.0 の マ ニ ュ ア ル を 翻 訳 し て も 、 お 手 元 の 英 語 マ ニ ュ ア ル と は 内 容 が 微 妙 に 違 う か も し れ な い の だ 。 バ ー ジ ョ ン が 同 じ 4.7.0 な の に 、 そ れ で は 紛 ら わ し い 。 そ こ で 、 あ え て 現 在 の 安 定 版 、 4.6.0 の マ ニ ュ ア ル を 底 本 に し た 。

4.6.0 と 最 近 の 4.7.0-git と の 大 き な 相 違 は 、 −D の デ バ ッ ク オ プ シ ョ ン に exec と search が 増 え て い る こ と と 、 検 査 −type−xtype で "-type f,l" な ど と 、 複 数 の フ ァ イ ル タ イ プ を コ ン マ で 区 切 っ て 指 定 で き る よ う に な っ た こ と く ら い で あ る 。 な お 、 バ ー ジ ョ ン 4.4.2 ま で の 翻 訳 で は 、 述 語 の Test (−mtime, −name, −type な ど ) を 「 判 別 式 」 と 訳 し て き た が 、 今 回 は 素 直 に 「 検 査 」 と 訳 す こ と に し た 。 同 じ も の で あ る 。 「 条 件 、 条 件 式 、 検 索 式 、 検 索 条 件 、 テ ス ト 」 な ど の 訳 語 も あ っ た と 思 う 。 こ れ ま で の 「 判 別 式 」 と い う 訳 語 に 慣 れ た 方 に は 、 ご 迷 惑 だ っ た か も し れ な い 。 お 許 し い た だ き た い 。 (2018/03/03)