答え1
grep
「なぜフォルダを見つけることができますか?」という質問には間違った前提が含まれているため、答えはありません。表示されるのは、確認しているファイルへのパスではなく、一部のファイルの内容ですgrep
。 grepがパスのように見えるテキストを見つけました。 grepで確認したファイルの実際のパスは印刷されません。使用しないと表示されます-h
。
-h
、--no-filename
止める出力のファイル名の接頭辞。検索するファイルが1つだけ(または標準入力のみ)ある場合、これはデフォルトです。
(源泉:man 1 grep
、強調内)
「このフォルダまたはこのフォルダ内のファイルをルートとして表示できないのはなぜcd
ですか?」に対する答えは、次のエラーメッセージにあります。そのようなディレクトリが一時的にあった可能性があり、別のコンピュータ(検査中のファイルが起動されたgrep
場所)にあった可能性があります。
例:
$ echo '/nonexistent/path something' > file1
$ echo '/another/fake/path whatever' > file2
$
$ grep -h path file1 file2
/nonexistent/path something
/another/fake/path whatever
$
$ grep path file1 file2
file1:/nonexistent/path something
file2:/another/fake/path whatever
$
file1
およびfile2
既存のファイルへのパス。/nonexistent/path
そして/another/fake/path
ファイルで見つかった文字列です。パスのように見えますが、これはファイル階層にパスが存在するという意味ではありません。