web-dev-qa-db-ja.com

bashコマンドのドットの意味は何ですか?アスタリスクとはどのように異なりますか?

Bashのドットの重要性と、それがアスタリスクとどのように異なるかを理解しようとしています。誰かが詳しく説明してもらえますか?たとえば、cp -ar /foo/. /foo2/cp -pr /foo/* /foo2/の違いは何ですか

11
Mike B

ドット(.)は、ディレクトリ自体と同じディレクトリ内の.ディレクトリです(ls -la /fooで表示されます)。したがって、foo/.を他の場所にコピーすると、foo自体をコピーせずに、fooの下のすべてのツリーを効果的にコピーできます(これはfoo2/.にコピーします。これはと同じです。 foo2)。

/foo/*は、シェルによって/foo内の隠されていないファイルとディレクトリのリストに展開されるため、/fooの下の同じディレクトリ構造も/foo2にコピーされます。 dotfiles/dotdirsを除いて。事実上、cpは(潜在的に)多くの引数を受け取ります。リストが大きすぎると、cpの実行が失敗する可能性さえあります。

12