検索〜と検索*の違い

検索〜と検索*の違い

検索ファイルfind *との違いは何ですか?find ~端末で現在の作業ディレクトリを開くと、root端末で

root@devils-ey3:~# find * -print -quit
~

同じディレクトリに

root@devils-ey3:~# find ~ -print -quit
/root

ただし、変更するとpwd出力はfind ~ -print -quit以前と同じですが、他の出力は変更されます。ファイル検索は何を*しますか?~

答え1

の基本形式find

find WHERE WHAT

したがって、find **見なされますWHERE。今*それはワイルドカードです。現在のディレクトリ内のすべてのエントリと一致します(デフォルトで始まるファイル/ディレクトリを除く.)。 Windowsに該当するのはです*.**拡大するこれを説明するために、find次のディレクトリを検討してください。

$ ls
file  file2

set -xデバッグ情報を有効にしてコマンドを実行すると、find次のようになります。

$ find * -print -quit
+ find file file2 -print -quit
file

上記のように、*ディレクトリ内のすべてのファイルに展開すると、実際に実行されるのは次のとおりです。

find file file2 -print -quit

そのため、-quit検索を指定したファイルの最初のファイル名を印刷して終了します。あなたの場合は、というファイルまたはディレクトリがあるように見え、~それが印刷されます。

ただし、チルダ(~)には特別な意味もあります。これはあなたのディレクトリへのショートカットです$HOME

$ echo ~
/home/terdon

したがってfind ~、rootとして実行すると、~これに拡張され、/home/root実際に実行されるコマンドは次のようになります。

# find ~ -print -quit
+ find /root -print -quit
/root

find繰り返しますが、特定の場所からファイルまたはディレクトリを検索し、最初の項目を印刷して終了することを意味します。最初に一致するファイルまたはディレクトリが/rootそれ自体であるため、これが印刷されます。

答え2

まず、次の構文を覚えておいてくださいfind

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

ファイルを検索するときのfind *とfind〜の違いは何ですか?

  • *すべてに合うwhileカードです。

    ここでは、find *現在のディレクトリのファイル/ディレクトリのリストと、検索するターゲット名のリストを渡します。したがって、次のファイルと同じ名前のすべてのファイルを検索します。pwd

    (ありがとうございます。@テデン~のため説明する「find*」は何を見ますか?それ回答)

  • ~使用$HOME目次。

    したがって、(ホームディレクトリ)find ~内で(再帰的に)ファイルとディレクトリを探します。~


root@devils-ey3:~# find * -print -quit
~

上記の出力には、名前付きファイルまたはディレクトリが必要です~/root~as$HOMEディレクトリと混同しないでください。)


root@devils-ey3:~# find ~ -print -quit
/root

説明するfind ~ -print -quit:-

非常に多様な選択-quit::

-quit すぐに終了します。子プロセスは引き続き実行されませんが、パスはコマンドに割り当てられなくなりました。
              行が処理されます。たとえば、 find /tmp/foo /tmp/bar -print -quit は /tmp/foo のみを印刷します。
              -execdir ... {} +で構築されたすべてのコマンドラインは、findが終了する前に呼び出されます。
              終了ステータスは、エラーが発生したかどうかに応じてゼロであってもなくてもよい。
  1. ~/rootルート端末にあるため、ルートと見なされます。
  2. -quitディレクトリ名のみ印刷

しかし、パスワードを変更すると、find〜-print -quitの出力は以前と同じです...

上記のように:-find ~ -print -quit印刷/rootパスが~/rootルートシェルのため)に設定されている-quitepwd

関連情報