「/path/to/file/」と「/path/to/file/.」の違いは何ですか? Linux、特にRHELやRHELなどのディストリビューションの「/path/to/file」とは何ですか?

「/path/to/file/」と「/path/to/file/.」の違いは何ですか? Linux、特にRHELやRHELなどのディストリビューションの「/path/to/file」とは何ですか?

RHEL 9では

  1. このコマンドを実行すると、cp -a /somedir/. .「somedir」ディレクトリ(ディレクトリ自体ではない)のすべてのファイルが現在のディレクトリにコピーされます。

  2. ただし、コマンドを実行すると、mv /somedir/. .「移動できません。デバイスまたはリソースが使用中です」というエラーが発生します。

  3. コマンドmv /somedir/ .mv /somedir .結果は、「somedir」ディレクトリを現在のディレクトリに移動します。

質問

  1. 2番目のコマンドでエラーが発生するのはなぜですか?

  2. 1つを使用せずにコマンドを使用して、ディレクトリ自体ではなくディレクトリの内容のみを現在のディレクトリに移動する*方法はありますか?somedirmv

  3. Linux、特にRHELとRHELのようなディストリビューションでは/path/to/file//path/to/file/.との違いは何ですか?/path/to/file

答え1

で終わるパス/は と同じなので、 を/.使用すると、最初と 2 番目のパスの両方が失敗します。mvなぜなら、ディレクトリを移動(またはほとんどの方法で変更)できないからです.。最初の項目では、-aオプションがcp再帰的にコピーするように指示するため、このエラーは発生しません。したがって、ディレクトリを変更しようとせずにコンテンツのみをコピーします。

ディレクトリを移動する場合は末尾/

すべてのファイル名を一覧表示しなくても、ディレクトリの内容を簡単に移動できます*。もちろん、*とにかくシェルはすべてのファイル名に拡張されるので、これも同様であるので避けられません*

ファイル名の補完を使用して、コマンドラインからファイル名を拡張することもできます。 bashの1つの方法は、次を使用することです。esc {

関連情報