このワイルドカードはどのように機能しますか? "*.*"

このワイルドカードはどのように機能しますか?

これが出力です。

echo  *.*
file1.txt file2.txt file3.txt

echo * .*
file1.txt file2.txt file3.txt . ..

2番目のコマンドにピリオドの前にスペース文字が含まれていない場合、これらのファイルが含まれるのはなぜですか?たくさん愛してくれてありがとう!

ベストアンサー1

これらは2つの別々の領域です。最初の項目は*隠しファイルを除くすべての項目と一致するのでfile1.txtfile2.txtfile3.txt。 2番目は.*、名前が:で始まる隠しファイルとディレクトリにのみ一致するため、およびを.印刷します。...

スペースの後にピリオドがあるファイル/ディレクトリ名のみを印刷するには、スペースが区切り文字として扱われないようにスペースをエスケープする必要があります。

$ ls
 file1.txt  'file2 .txt'
$ echo *\ .*
file2 .txt

最後に、これが「すべてと一致する」という意味ではないことに言及したいと思います*.*。 Windowsシステムとは異なり、* nixシステムにはファイル名拡張子は必要ありません(まれな例外がありますが、拡張子は完全にオプションで任意です)。 * nixシステムでは、globは名前にaを含むファイル名*.*のみを印刷します。.

$ ls
 file   file1.txt  'file2 .txt'
$ echo *.*
file1.txt file2 .txt

すべてのファイルを印刷するには、単一を使用します*

$ echo *
file file1.txt file2 .txt

おすすめ記事