Я учусь в колледже и должен представить свою домашнюю работу cs со школьного компьютера с Linux, но мне нравится делать домашнюю работу на моем ноутбуке (Mac). Поэтому вместо того, чтобы копировать мои файлы каждый раз, а затем отправлять их, я решил создать сценарий, чтобы сделать это для меня, используя scp
и ssh
. Когда я впервые протестировал мой скрипт, scp
команда создала каталог hw3
на другом компьютере. В следующий раз, когда я протестировал его, он создал каталог hw4
. В обоих каталогах были мои программные файлы. Поскольку оба каталога созданы только для тестирования, я удалил их оба, используя rm -r
. Но здесь возникает проблема.
В ходе последующего тестирования моего сценария и другой отладки я обнаружил, что теперь не могу создать файл или папку с именем hw3 или hw4 на другом компьютере, пока он подключен к нему через него ssh
. Я могу создать папку с именем что-нибудь еще, только нет hw3
или hw4
. Я не могу сделать их через mkdir
, mv
, cp
или прикосновения, заставляя меня думать , есть что - то не так с файловой системой. Однако я могу сделать hw3
и hw4
файлы в родительском каталоге. Никто из тех, с кем я говорил, не знает, что это такое, и никогда не видел этого раньше, и поиск в Google не дал результатов.
В моей школе есть много разных машин, на которые я могу войти, и я попробовал несколько, но проблема сохраняется на всех из них, что имеет смысл, так как я работаю с сетевого диска (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 (вы можете google это на github) для связи файловых систем Windows и unix / linux, и была сделана студентом здесь, поэтому, естественно, в ней есть ошибки. Видимо, я нашел один из них. Я также провел дополнительное тестирование и обнаружил, что следующий процесс работает, чтобы позволить мне снова создавать каталоги. У меня есть Mac, поэтому я не уверен, что это будет работать для Windows.
- Подключите сетевой диск к Mac OS, чтобы вы могли получить к нему доступ через Finder
- Создайте через Finder каталог, который не мог быть создан ранее.
- Подключитесь к удаленному компьютеру через ssh и перейдите в каталог, в котором вы не можете создать папки или файлы.
- Тип
mv dirCreatedViaFinder newName
- Теперь вы можете создавать каталоги и файлы с именами, которые не могли быть созданы ранее, но есть недостаток. Если вы
rm -r newName
, теперь вы не можете создаватьnewName
файлы и папки. Поэтому я думаю, что вся проблема вызвана удалением каталогов.