私のコースでは、すべての課題と課題を読み取り専用フォルダに配置するので、SSH接続時にこのファイル(あまり大きくない)を自分の個人フォルダにコピーしたいと思います。これまでは時々ファイルをコピーするスクリプトを取得することができましたが、他の場合(常にファイルを更新するために再度実行する場合)、すべての名前は同じですが?最後に。私は次のような--verboseを投稿しました。
`/homes/USERNAME/PUBLIC_FOLDER/project_descriptions' -> `/homes/USERNAME/PRIVATE_FOLDER/publicCP\r/project_descriptions'
なぜ\ rを追加するのかわかりません。ファイルがない唯一のディレクトリは "projects"であり、毎回うまくコピーされます。 -r、-R、-rf、および-RFを試しましたが、役に立ちませんでした。最悪のことは、WinSCP(ChromeでPDFを開くために使用)が次のように言うので、2番目のpublicCPディレクトリにあるファイルでさえ使用できないことです。
System Error. Code: 123.
The filename, directory name, or volume label syntax is incorrect
両方のpublicCPの名前がまったく同じであることを示すので、これが予想されるようです。私はこれについて完全に慌てており、Googleは句読点を認識せず、もちろん「-r」は「r」を含む項目を検索しないように指示するので役に立ちません。
また、個人用フォルダにCDを挿入し、フルパスなしですべてのアイテムをコピーしてみましたが、それも機能しませんでした。
答え1
行末のキャリッジリターンを削除する必要があります。 notepad++はそれが正しいと思うのでそれを追加しますが、Linuxはそれを好きではありません。
答え2
授業中だから…
コマンドラインで役立つ場所がいくつかあります。
マニュアルページ:
man cp
man ssh
情報ページ:
info cp
info ssh
参考にするいくつかの用語:
cp -r
再帰コピーディレクトリに切り替えます。
スペースを含めることができるディレクトリパス/名前には、「二重引用符」が使用されます。
"/パス/tomyfiles/ここ/file.text"
トラブルシューティングを支援するには:
スクリプトが "shebang"#! /bin/bash
やbash以外のシェルで始まることを確認してください。
スクリプトにコマンドを追加する前に、コマンドラインを使用して正しいコマンドを取得してください。
スクリプトのスキーマを検証します。
ls -la
- 表示モード。
sudo chmod a+x /path/file.sh
——モードを変更します。