taro373
@taro373

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

scp実行時に転送元のディレクトリのファイル名で、転送の途中で“No such file or directory”が表示

MacOSで、scp実行時に転送元のディレクトリのファイル名で、転送の途中で“No such file or directory”が表示されます。
ほとんどのファイルは転送されていますが、12件のファイルで“No such file or directory”が表示されました

転送元はRockylinux8のサーバ、転送先はMacでマウントしたQNAPのNASです。

~ $ scp -rq sun:/data1/tmp/scpwork2024/20181229 /Volumes/home/
/Volumes/home//20181229/data/test/hoge/T04692.gz: No such file or directory

-r オプションを指定していますから、転送元のディレクトリですら“No such file or directory”が表示されこともないケースです。

同じディレクトリをcpコマンドでLinuxシステム内でコピーしたときには、“No such file or directory”とはなりませんでした

この原因はNAS側にあるのでしょうか?

コマンドプロンプトからNAS上にディレクトリを作成しようとしたら「存在している」と言われ
lsで参照しようとしたら「ありません」と言われました

~ $ mkdir  /Volumes/home/20181229/hoge/fuga/prn 
mkdir: /Volumes/home/20181229/hoge/fuga/prn: File exists
~ $ ls -ld  /Volumes/home/20181229/hoge/fuga/prn
ls: /Volumes/home/20181229/hoge/fuga/prn: No such file or directory

ディレクトリ名のconとprnでこのメッセージが表示されます
転送先のNASはLinuxなのですが(だと思っている)の制限のように思えます

ディレクトリ作成.jpg
WindwsPC上でmkdirコマンドでディレクトリを作成すると、conとprnとディレクトリ名を指定すると「ディレクトリ名が無効です」となりました

0

2Answer

「PRN」「CON」といえば、大昔MS-DOSでそれぞれプリンタ・シリアルポートを指す特別なファイル名であり、Windowsでもそれらのファイル名は使えないようになっています。
(でも、試しにWindows11のエクスローラ上で試したら作れたので、最近はどうか知りません)

linuxとMacなので関係ないかと思ってましたが、NASを使っているのであれば、もしかするとSMBの関係で影響があるのかもしれません。

1Like

NAS側の問題なのでは?パーミッションやハードウェアエラーなどが起きてないですか?

0Like

Comments

  1. @taro373

    Questioner

    150Gあるディレクトリ内のほとんどのファイルが転送できています
    名前がprnとconになっているディレクトリのファイルでだけ発生しています
    それとNASをマウントとしたMac上からprnディレクトリを作成しようとしたら「すでに存在する」となって、lsで参照しようとすると「存在しない」となりました
    NAS側の問題かどうかを切り分けるために、別のNAS(こちらはSynology社製)に転送してみます

    ~ $ mkdir /Volumes/home/20181229/hoge/fuga/prn 
    mkdir: /Volumes/home/20181229/hoge/fuga/prn: File exists  <= 作ろうとすると"ある"
    ~ $ ls -ld /Volumes/home/20181229/hoge/fuga/prn
    ls: /Volumes/home/20181229/hoge/fuga/prn: No such file or directory <= 参照すると"ない"
    

Your answer might help someone💌