NAME
find - 遞 歸 地 在 層 次 目 錄 中 處 理 文 件
總 覽 SYNOPSIS
find [path...] [expression]
描 述 DESCRIPTION
這 個 文 檔 是 GNU版 本 find 命 令 的 使 用 手 冊 。 find 搜 索 目 錄 樹 上 的 每 一 個 文 件 名 , 它 從 左 至 右 運 算 給 定 的 表 達 式 , 按 照 優 先 規 則 (見 運 算 符 OPERATORS一 節 )進 行 匹 配 , 直 到 得 出 結 果 ( 左 邊 運 算 在 ’與 ’ 操 作 中 得 出 假 , 在 ’或 ’ 操 作 中 得 出 真 ) , 然 後 find 移 向 下 一 個 文 件 名 。 第 一 個 以 ’-’ , ’(’ , ’)’ , ’,’ 或 ’!’ 這 些 字 符 起 始 的 參 數 是 表 達 式 的 開 始 ; 在 它 之 前 的 任 何 參 數 是 要 搜 索 的 路 徑 , 在 它 之 後 的 任 何 參 數 都 是 表 達 式 的 餘 下 部 分 。 如 果 沒 有 路 徑 參 數 , 缺 省 用 當 前 目 錄 。 如 果 沒 有 表 達 式 , 缺 省 表 達 式 用 ’-print’. 當 所 有 文 件 都 成 功 處 理 時 find 退 出 並 返 回 狀 態 值 0。 如 果 發 生 錯 誤 則 返 回 一 個 大 於 0的 值 。
表 達 式 EXPRESSIONS
表 達 式 是 由 選 項 (選 項 總 是 影 響 所 有 的 操 作 , 而 不 僅 僅 是 一 個 指 定 的 文 件 的 處 理 , 而 且 總 是 返 回 真 值 ), 測 試 (測 試 返 回 一 個 真 值 或 一 個 假 值 ), 還 有 動 作 (動 作 有 side effects, 返 回 一 個 真 值 或 假 值 ) 組 成 。 它 們 都 以 運 算 符 分 開 .忽 略 運 算 符 的 時 候 , 默 認 使 用 -and 連 接 . 如 果 表 達 式 沒 有 包 含 -prune 以 外 的 動 作 , 當 表 達 式 爲 真 時 會 執 行 -print 動 作 。 選 項 OPTIONS 所 有 的 選 項 都 總 是 返 回 真 值 , 它 們 總 會 被 執 行 , 除 非 放 在 表 達 式 中 執 行 不 到 的 地 方 。 因 此 , 清 楚 起 見 , 最 好 把 它 們 放 在 表 達 式 的 開 頭 部 分 。
-daystart 從 當 日 起 始 時 開 始 而 不 是 從 24小 時 之 前 , 計 算 時 間 (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime)。
-depth 先 處 理 目 錄 的 內 容 再 處 理 目 錄 本 身 。 |
-follow 不 檢
索 符 號 鏈 接 。
隱 含 了 -noleaf。
-help, --help 列 出 find 的
命 令 行 用 法 的
概 要 , 然 後 退
出 。
-maxdepth levels 進 入 命 令
行 參 數 指 定 的
目 錄 下 層 目 錄
時 , 最 深 不 超
過 levels(一 個 非 負
整 數 ) 層 。 ’-maxdepth
0’ 意 味 着 只 在
命 令 行 參 數 指
定 的 目 錄 中 執
行 測 試 和 動 作
。
-mindepth levels 不 在
levels(一 個 非 負 整
數 )層 之 內 執 行
任 何 測 試 和 動
作 。 ’-mindepth 1’意 味
着 處 理 所 有 的
文 件 , 除 了 命
令 行 參 數 指 定
的 目 錄 中 的 文
件 。
-mount 不 進 入 處 於 其 它 文 件 系 統 之 上 的 目 錄 。 可 以 用 |
-xdev代 替 , 從 而 和 一 些 其 |
他 版 本 的 find 兼 容 。
-noleaf 不 爲
“目 錄 中 子 目 錄
數 量 比 硬 連 接
數 少 2”這 種 假
設 做 優 化 。 這
個 選 項 在 搜 索
那 些 不 遵 循 UNIX文
件 系 統 鏈 接 約
定 的 文 件 系 統
時 用 , 比 如
CD-ROM,MS-DOS文 件 系 統 或
AFS卷 的 加 載 點 。
在 普 通 的 UNIX文 件
系 統 中 ,每 個 目
錄 至 少 有 兩 個
硬 連 接 ,它 的 名
字 和 它 的 ’.’ 條
目 。 另 外 , 它
的 子 目 錄 (假 如
有 )還 會 各 有 一
個 ’..’ 鏈 接 到
它 。 在 find 檢 索
一 個 目 錄 時 ,
發 現 子 目 錄 數
比 它 的 連 接 數
少 二 時 , 它 就
知 道 目 錄 中 的
其 他 條 目 並 非
目 錄 (而 是 目 錄
樹 中 的 葉
(’leaf’)節 點 )。 除
非 需 要 檢 索 的
是 這 個 葉 節 點
, 否 則 沒 必 要
去 處 理 它 。 這
樣 可 以 帶 來 很
大 的 搜 索 速 度
提 升 。
-version, --version 打 印 find的
版 本 號 然 後 退
出 。
-xdev 不 進 入 處 於 其 他 文 件 系 統 之 上 的 目 錄 。 測 試 |
TESTS 數 字 參 數 可 以 這 樣 給 出 :
+n 是 比 |
n 大 , |
||
-n 是 比 |
n 小 , |
||
n 正 好 是 |
n 。 |
-amin n 對
文 件 的 最 近 一
次 訪 問 是 在 n
分 鐘 之 前 。
-anewer file 對 文 件 的
最 近 一 次 訪 問
比 file 修 改 時 間
要 晚 。 如 果 命
令 行 中 -follow 在 -anewer 之
前 , (也 只 有 在
這 種 情 況 下 ) -anewer
會 受 -follow 的 影 響
。
-atime n 對 文 件 的 最
近 一 次 訪 問 是
在 n*24 小 時 之 前
。
-cmin n 對 文 件 狀 態
的 最 近 一 次 修
改 是 在 n 分 鐘
之 前 。
-cnewer file 對 文 件 狀
態 的 最 近 一 次
修 改 比 file 修 改
時 間 要 晚 。 如
果 命 令 行 中 -follow
在 -cnewer 之 前 , (也
只 有 在 這 種 情
況 下 ) -cnewer 會 受 -follow
的 影 響 。
-ctime n 對 文 件 狀 態
的 最 近 一 次 修
改 是 在 n*24 小 時
之 前 。
-empty 文 件 是 空 的 普 通 文 件 或 者 空 目 錄 。 |
||
-false 總 是 |
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 類 似
, 但 是 匹 配 時
是 不 區 分 大 小
寫 的 。
-iname pattern 和 -name 類 似
, 但 是 匹 配 時
是 不 區 分 大 小
寫 的 。 例 如 ,
’fo*’ and ’F??’ 模 式
與 文 件 名 ’Foo’,
’FOO’, ’foo’, ’fOo’
等 等 相 匹 配 。
-inum n 文 件 的 i 結
點 數 是 n。
-ipath pattern 和 -path 類 似
, 但 是 匹 配 時
是 不 區 分 大 小
寫 的 。
-iregex pattern 和 -regex 類 似 ,
但 是 匹 配 時 是
不 區 分 大 小 寫
的 。
-links n 文 件 有 n 個
鏈 接 。
-lname pattern 文 件 是 一
個 與 pattern 匹 配 的
符 號 鏈 接 。 元
字 符 不 會 對 ’/’
或 ’.’ 做 特 殊 處
理 。
-mmin n 對 文 件 數 據
的 最 近 一 次 修
改 是 在 n 分 鐘
之 前 。
-mtime n 對 文 件 數 據
的 最 近 一 次 修
改 是 在 n*24 小 時
之 前 。
-name pattern 基 本 的 文
件 名 (將 路 徑 去
掉 了 前 面 的 目
錄 )與 shell模 式
pattern相 匹 配 。 元
字 符 (’*’, ’?’,
還 有 ’[]’ ) 不 會
匹 配 文 件 名 開
頭 的 ’.’ 。 使 用
-prune 來 略 過 一 個 目
錄 及 其 中 的 文
件 。 查 看 -path 的 描
述 中 的 範 例 。
-newer file 對 文 件 的
最 近 一 次 修 改
比 file 修 改 時 間
要 晚 。 如 果 命
令 行 中 -follow 在 -newer 之
前 , (也 只 有 在
這 種 情 況 下 ) -newer
會 受 -follow 的 影 響
。
-nouser 沒 有 符 合 文
件 的 數 字 形 式
的 用 戶 ID的 用 戶
。
-nogroup 沒 有 符 合 文
件 的 數 字 形 式
的 組 ID的 組 。
-path pattern 文 件 名 與
shell模 式 pattern相 匹
配 。 元 字 符 不
會 對 ’/’ 或 ’.’
做 特 殊 處 理 。
因 此 , 例 如 :
find . -path
’./sr*sc’ 如 果 存 在
’./src/misc’ 的 話 , 會
將 它 打 印 出 來
。 想 要 忽 略 一
個 完 整 的 目 錄
樹 , 應 當 使 用 -prune
而 不 是 檢 查 目
錄 樹 中 所 有 的
文 件 。 例 如 :
要 跳 過 ’src/emacs’ 目
錄 和 其 中 所 有
的 文 件 和 子 目
錄 , 把 其 他 找
到 的 文 件 打 印
出 來 , 應 當 這
樣 :
find . -path ’./src/emacs’ -prune -o -print
-perm mode 文
件 的 權 限 位 恰
好 是 mode (八 進 制
或 符 號 )。 Symbolic modes use mode
0 as a point of departure.
-perm -mode 所 有 的 權
限 位 mode 都 被 設
置 了 的 文 件 。
-perm +mode 任 何 權 限
位 mode 被 設 置 了
的 文 件 。
-regex pattern 文 件 名 與
正 則 表 達 式 pattern
匹 配 。 這 是 對
整 個 路 徑 的 匹
配 , 不 是 搜 索
文 件 。 例 如 ,
要 匹 配 名 爲
’./fubar3’ 的 文 件 ,
可 以 使 用 正 則
表 達 式 ’.*bar.’ 或
者 ’.*b.*3’, 但 是
不 能 用 ’b.*r3’。
-size n[bckw] 文 件 使 用
了 n 單 位 個 存
儲 單 元 。 默 認
的 單 位 是 512字 節
的 塊 , 也 可 以
用 n後 面 加 上
’b’ 來 指 定 這 個
值 。 其 他 的 單
位 是 字 節 , 如
果 在 n 後 面 加
上 ’c’ ; 千 字 節
(kB), 如 果 在 n 後
面 加 上 ’k’ ; 兩
字 節 的 字 , 如
果 在 n 後 面 加
上 ’w’ 。 大 小 不
會 計 入 indirect blocks, 但
是 會 計 入 沒 有
真 正 分 配 空 間
的 疏 鬆 文 件 中
的 塊 。
-true 總 是 |
true。 |
-type c 文 件 是 c 類 型 的 。 類 型 可 取 值 如 下 :
b 特 殊 塊 文 件 |
(緩 衝 的 )
件 (不 緩
衝 ) (Solaris 特 有 )
-used n 文
件 最 後 一 次 存
取 是 在 最 後 一
次 修 改 它 的 狀
態 的 n 天 之 後
。
-print0 返 回
true; 在 標 準 輸 出
打 印 文 件 全 名
, 然 後 是 一 個
null字 符 。 這 樣 可
以 使 得 處 理 find
的 輸 出 的 程 序
可 以 正 確 地 理
解 帶 有 換 行 符
的 文 件 名 。
tab
|