私は大学にいて、学校のLinuxマシンからcsの宿題を提出しなければなりませんが、ラップトップ(Mac)で宿題をするのが好きです。そのため、ファイルを毎回コピーして送信するのではなく、scp
およびを使用してそれを実行するスクリプトを作成することにしましたssh
。スクリプトを初めてテストしたとき、scp
コマンドhw3
は他のマシンにディレクトリを作成しました。次にテストしたときに、ディレクトリが作成されましたhw4
。両方のディレクトリに私のプログラムファイルがありました。両方のディレクトリはテスト用にのみ作成されたため、を使用して両方を削除しましたrm -r
。しかし、ここで問題が発生します。
スクリプトとその他のデバッグを後でテストしたところ、hw3またはhw4という名前のファイルまたはフォルダーを、を介して接続されている他のマシンに作成できないことがわかりましたssh
。hw3
またはではなく、他の名前のフォルダを作成できますhw4
。私は経由でそれらを作ることができないmkdir
、mv
、cp
私はファイルシステムに何か問題があると思い作り、またはタッチ。しかし、私が作ることができるhw3
とhw4
、親ディレクトリ内のファイル。これが何であるかを知り、これまでに見たことがない人は誰もいません。問題をグーグルで調べても結果は出ていません。
私の学校では、ログオンできるマシンがたくさんあり、いくつか試しましたが、すべてのマシンで問題が解決しません。ネットワークドライブ(パスのSDRIVE)から作業しているので、これは理にかなっています。スクリプトを機能させるためhww#
に、の代わりに単にスクリプトを作成するという回避策を使用しましたがhw#
、何が起こっているのか、そしてそれを修正する方法を知りたいと思っています。
これは、ssh
およびコマンドを使用してログオンしたときの端末出力です。
Last login: Tue Mar 3 11:40:18 2015 from r03ane3md.device.mst.edu
You are currenly one of 7 users on this host!
ane3md@rc07xcs213:~$ cd SDRIVE/cs1510
ane3md@rc07xcs213:~/SDRIVE/cs1510$ ls -l
total 0
drwxr-xr-x 2 ane3md mst_users 0 Mar 3 12:01 hw1
drwxr-xr-x 2 ane3md mst_users 0 Feb 21 21:37 hw2
drwxr-xr-x 2 ane3md mst_users 0 Mar 3 11:59 hww3
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mkdir hw3
mkdir: cannot create directory ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ touch hw3
touch: cannot touch ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mv hww3 hw3
mv: failed to access ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$
編集:要求に応じて、「stat -f〜/ SDRIVE」を実行すると、次のように出力されます。
ane3md@rc07xcs213:~$ stat -f ~/SDRIVE
File: "/usr/local/home/ane3md/SDRIVE"
ID: 0 Namelen: 4096 Type: fuseblk
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 0 Free: 0 Available: 0
Inodes: Total: 314572031 Free: 66717154
編集-回避策:私はスヌーピングを行いましたが、私たちの学校はdfshack(githubでグーグルできます)を使用してWindowsとunix / linuxファイルシステムをリンクしていることがわかりました。どうやら私はそれらの1つを見つけました。さらにテストを行ったところ、次のプロセスでディレクトリを再度作成できることがわかりました。私はMacを持っているので、これがWindowsで機能するかどうかはわかりません。
- ネットワークドライブをMac OSにマップして、Finderからアクセスできるようにします。
- 以前は作成できなかったディレクトリをFinder経由で作成します。
- sshを介してリモートマシンに接続し、フォルダまたはファイルを作成できなかったディレクトリに移動します。
- タイプ
mv dirCreatedViaFinder newName
- これまでは作成できなかった名前のディレクトリとファイルを作成できるようになりましたが、欠点もあります。の場合
rm -r newName
、newName
ファイルやフォルダを作成できなくなります。だから私は全体の問題はディレクトリを削除することによって引き起こされると思います。