find コマンドは原理を示します。目次

find コマンドは原理を示します。目次

findコマンドは時々現在のディレクトリ( . )をリストしますが、時々そうでない理由や根拠が何であるか疑問に思います。

「.」を使用すると、現在のディレクトリは外部ディレクトリに表示されますが、内部ディレクトリには表示されません。

$ pwd
/home/me/a

$ find . -exec echo  {} \;
.
./abc.txt
./a.txt
./d
./d/da.txt

特定のディレクトリを指定すると、現在のディレクトリを表示できません。

$ find /home/me/a  -exec echo  {} \;
/home/me/a
/home/me/a/abc.txt
/home/me/a/a.txt
/home/me/a/d
/home/me/a/d/da.txt

これがlsの見解です。

$ ls -lR
.:
total 4.0K
-rw-r--r--. 1 me    0 Oct 20 19:03 abc.txt
-rw-r--r--. 1 me    0 Oct 21 14:56 a.txt
drwxr-xr-x. 2 me 4.0K Oct 21 14:57 d/

./d:
total 0
-rw-r--r--. 1 me 0 Oct 21 14:57 da.txt

ベストアンサー1

出力に表示される点は、まさにコマンドで指定したfind現在位置です。find .あなたが言うときも同じですfind /home/me/a。どちらの場合も、findは検索されているディレクトリ(指定どおり)とfindその場所で見つかった対応するファイルとディレクトリを表示します。

はい

私たちが探しているディレクトリは.

$ find . ....
.
./abc.txt
./a.txt

検索は、指定したパラメータ(たとえば)に基づいて結果を表示します.

私たちが探しているディレクトリは/home/me/a

$ find /home/me/a ....
/home/me/a
/home/me/a/abc.txt
/home/me/a/a.txt

find指定したパラメータに従って結果を再表示します/home/me/a

用語

規範を内部または外部の用語として考えるのではなく、むしろ相対的または絶対的なものと考えてください。比較的そうです.、もちろんです/home/me/a。どちらにしても構いませんfind。その場所で下方に見つかったディレクトリとファイルのみを表示します。

おすすめ記事