古いMS-DOSを使用していたように、現在のディレクトリにフォルダーをコピーするための同一のコマンドがあるかどうか疑問に思います。私の現在のディレクトリの場所は次のとおりだとしましょう:
/var/www/
次の場所にフォルダーとファイルがあります。
/home/hope/subfolder/docs/
/home/hope/subfolder/images/
/home/hope/subfolder/.config
/home/hope/subfolder/readme.txt
私は次のコマンドを知っています:
cp -rT /home/hope/subfolder .
「サブフォルダ」フォルダ内のすべてのファイル(ドット隠しファイルも含む)およびフォルダを現在のディレクトリにコピーするため、結果は次のようになります。
/var/www/docs/
/var/www/images/
/var/www/.config
/var/www/readme.txt
ソースフォルダーを現在の場所にコピーするコマンドは次のようになります。
cp -rT /home/hope/subfolder ./subfolder
これは問題ありませんが、宛先の複雑なフォルダ名を間違えることがあるので、次のようなコマンドを使用する方法があります。
cp -rT /home/hope/subfolder .
またはこのように
cp -rT /home/hope/subfolder /var/www/.
次の結果が得られます。
/var/www/subfolder/docs/
/var/www/subfolder/images/
/var/www/subfolder/.config
/var/www/subfolder/readme.txt
ありがとうございました。
-Tパラメーターを省略すると、コマンドが正しく機能しなくなるためです。
cp -r /home/hope/subfolder .
-Tパラメーターは、ターゲット引数をファイルとして扱うため、それが実際にディレクトリーである場合、コピーはまったく実行されません。
フレンドリーなリマインダー:事実上すべてのUnixコマンドには-helpコマンドライン引数があり、トラブルが発生した場合に試してみる価値があります:)
私にとっての主な障壁は/ homeの部分でした。 「a」という文字で始まった自宅のフォルダから、自宅ではない現在のフォルダにファイルをコピーする必要がありました。だから私は使用しました:
cp home/tmp/a* ./
最初の行は私のために働いた。私は次のようなコマンドを試していました:
cp ~/home/tmp/a* ./
しかし、これはうまくいきませんでした。