【cp, scp】ディレクトリをコピーするときのスラッシュの入れ方にいつも悩む【パターン別】

コマンド
※当ブログの記事内にはプロモーションが含まれている場合があります。

/のパターン別によるコピーのされ方の違い

ディレクトリの最後にスラッシュがあるかどうか、
コピー先のパスの最後にスラッシュがあるかどうか
によって、コピーされる内容が変わります

パターン1:スラッシュなし

$ cp -r /mnt/c/xxx/upload_folder /home/sample/www/upload_box

# 結果
# /home/sample/www/upload_box/upload_folder

この場合、
/mnt/c/xxx/upload_folderディレクトリ自体がupload_boxディレクトリの中にコピーされます

結果として、
/home/sample/www/upload_box/upload_folderというディレクトリが作成され、
その中にupload_folderの内容が入ります。

パターン2:コピー元だけスラッシュあり

$ cp -r /mnt/c/xxx/upload_folder/ /home/sample/www/upload_box

# 結果
# /home/sample/www/upload_box

この場合、
/mnt/c/xxx/upload_folder/の中身(ディレクトリ配下のファイルとサブディレクトリ)が、
upload_boxディレクトリの中に直接コピーされます。

つまり、
/home/sample/www/upload_boxに、
upload_folderの内容がそのままコピーされます。

パターン3:どちらもスラッシュあり

$ cp -r /mnt/c/xxx/upload_folder/ /home/sample/www/upload_box/

# 結果
# /home/sample/www/upload_box

この場合も、
/mnt/c/xxx/upload_folder/の中身が、
upload_boxディレクトリの中に直接コピーされます。

つまり、
/home/sample/www/upload_boxに、
upload_folderの内容がそのままコピーされます。

パターン4:アップロード先だけスラッシュあり

$ cp -r /mnt/c/xxx/upload_folder /home/sample/www/upload_box/

# 結果
# /home/sample/www/upload_box/upload_folder

この場合、パターン1と同様に
/mnt/c/xxx/upload_folderディレクトリ自体が
upload_boxディレクトリの中にコピーされます。

結果として、
/home/sample/www/upload_box/upload_folderというディレクトリが作成され、
その中にupload_folderの内容が入ります。

まとめ

  • アップロード元の最後にスラッシュなし(upload_folder
    • (パターン1とパターン4)
    • ディレクトリ自体がコピー先に作成され、その中に内容がコピーされる
    • /home/sample/www/upload_box/upload_folder
  • アップロード元の最後にスラッシュあり(upload_folder/
    • (パターン2とパターン3)
    • ディレクトリの内容が直接コピー先に展開される
    • /home/sample/www/upload_box

■■コマンドが学べるUdemy講座■■

icon icon はじめてのLinuxサーバー構築運用入門 – Linuxコマンドを基礎から学ぶ icon

コメント

タイトルとURLをコピーしました