find -name "?"
find ~ -name "?"
これらのコマンドの 1 つは検出できて.
、もう 1 つは検出できないのはなぜですか? 明示的なパスを持つ 2 番目のバージョンで、.
指定されたディレクトリ内の他の 1 文字ファイルとともにエントリを検出するには、どうすればよいですか?
find (GNU findutils) 4.5.11
重要な場合に備えて...
答え1
starting point
forがない場合find
、.
(現在のディレクトリ) が使用されます。実際、次の 2 行は同じ出力を生成します。
find -name "?"
find . -name "?"
出発点を指定できるようにするそしてfind
ディレクトリを見つけて.
、/.
開始点に追加します。例:
find ~/. -name "?"
編集: では、なぜなのかという疑問について、次の 2 つのコマンドを比較してみましょう。
find ~/. -name "?"
find ~ -name "?"
出力には 2 つの違いがあります。まず、コマンド with は、予想どおり、各行に/.
追加の を含む結果を生成します。2 番目は、これが OP の根本的な質問ですが、コマンドは擬似ディレクトリ自体を見つけますが、コマンドは見つけないということです。これは、検索で を明示的に検索するように要求しているためです。コマンド ラインにリストされていない限り、および擬似ディレクトリは無視されます。(そうでない場合を想像できますか?)/.
/.
~/.
~
~/.
.
find
find
.
..
man find
詳細については、を参照してください。