web-dev-qa-db-ja.com

スクリプトを使用してマウント共有ドライブからローカルフォルダーにコピーする

Linuxスクリプトを使用するのはこれが初めてなので、これは明らかなことかもしれません。

これが私がやろうとしていることです:

  1. ローカルフォルダーからすべてのコンテンツを削除する-rm/home/user/Documents/Exercise /
  2. 共有Windowsネットワークドライブからファイルをコピーする-cp smb:// server/arc/Exercise%20Files/Word /

だから私の理解から私のコマンドは次のようになります

  rm /home/user/Documents/Exercise/
  cp smb://server/arc/Exercise%20Files/Word/ /home/user/Documents/Exercise/

しかし、上記のコマンドのいずれかを実行しようとすると、次のエラーが発生します。

  "rm: cannot remove `/home/user/Documents/Exercise/': Is a directory"
  "cp: cannot stat `smb://server/arc/Exercise%20Files/Word/': No such file or directory"

何が間違っていますか?

敬具、

M

編集:

rm関数が動作するようになりましたが、cp関数に悩まされています。フォルダー名のスペースに問題がないことを確認するために、共有上のフォルダーの名前を変更して、次のようになりました://server/Arc/ExerciseFiles/*

フォルダーをマウントしたので、smb://が不要になったと仮定します。現在読み取ります:cp -rfv /home/user/Documents/ExerciseShare/ExerciseFiles/Word/ /home/user/Documents/Exercise/

M

3
Mitchell

あなたのコマンドは次のようにはなりません

  rm -rfv /home/user/Documents/Exercise/*

フォルダーExerciseはサブディレクトリを持つことができるため

そして、Samba共有の場合、まずローカルにマウントする必要があります

つまり.

mount -t smbfs smb://"server/arc/Exercise Files/Word/" /mnt 

してから

 cp /mnt /home/user/Documents/Exercise/
3
Registered User

「マイナスr」フラグまたは-rを使用する必要があります

rm -r

そして

cp -r

これにより、ファイルまたはフォルダー内のファイルに再帰的にコピーまたは削除されます。

2
noel