古いfind(1)と新しいfind(1)
ソース読むときのためのメモ。
https://www.gnu.org/software/findutils/manual/html_mono/find.html#fts
The findutils source distribution contains two different implementations of find. The older implementation descends the file system recursively, while the newer one uses fts. Both are normally installed.
If the option –without-fts was passed to configure, the recursive implementation is installed as find and the fts-based implementation is installed as ftsfind. Otherwise, the fts-based implementation is installed as find and the recursive implementation is installed as oldfind.
「findutilsソースディストリビューションには、findの2つの異なる実装が含まれています。古い実装はファイルシステムを再帰的に降下させ、新しいものはftsを使用します。どちらも通常インストールされています」
「configureに–without-ftsオプションが渡された場合、再帰的実装はfindとしてインストールされ、fts-based実装はftsfindとしてインストールされます。それ以外の場合、ftsベースの実装はfindとしてインストールされ、再帰実装はoldfindとしてインストールされます」
v4.6.0のソース
root/find/Makefile.amより
http://git.savannah.gnu.org/cgit/findutils.git/tree/find/Makefile.am?h=v4.6.0
|
|
root/find/ftsfind.c より
http://git.savannah.gnu.org/cgit/findutils.git/tree/find/ftsfind.c?h=v4.6.0
L567
|
|
root/find/oldfind.c より
http://git.savannah.gnu.org/cgit/findutils.git/tree/find/oldfind.c?h=v4.6.0
L1425
|
|
コミットログ確認
2005-11-21 05:42:27 +0000
Findutils 4.3.x defaults to using the the FTS implementation of find.
http://git.savannah.gnu.org/cgit/findutils.git/commit/?id=f0759ab8db9cab16699fba45fa6117ef06620194