Estoy en la universidad y tengo que enviar mi tarea de cs desde una máquina Linux de la escuela, pero me gusta hacer la tarea en mi computadora portátil (Mac). Entonces, en lugar de copiar mis archivos cada vez y luego enviarlos, decidí hacer un script para que lo haga usando scp
y ssh
. Cuando probé mi script por primera vez, el scp
comando creó el directorio hw3
en la otra máquina. La próxima vez que lo probé, creó el directorio hw4
. Ambos directorios tenían mis archivos de programa en ellos. Dado que ambos directorios solo se crearon para la prueba, los eliminé usando ambos rm -r
. Pero aquí es donde surge el problema.
A través de pruebas posteriores de mi secuencia de comandos y otras depuraciones, descubrí que ahora no puedo crear ningún archivo o carpeta llamado hw3 o hw4 en la otra máquina mientras estoy conectado a través de ella ssh
. Puedo crear una carpeta llamada cualquier otra cosa, simplemente no hw3
o hw4
. No los puedo hacer a través de mkdir
, mv
, cp
, o el tacto, me hace pensar que hay algo mal con el sistema de archivos. Sin embargo, puedo hacer hw3
y hw4
archivos en el directorio principal. Nadie con quien he hablado sabe qué es esto y nunca lo ha visto antes, y Googlear el problema no ha arrojado ningún resultado.
En mi escuela hay muchas máquinas diferentes en las que puedo iniciar sesión y probé varias, pero el problema persiste en todas ellas, lo que tiene sentido ya que estoy trabajando desde una unidad de red (SDRIVE en el camino). Para que el script funcione, utilicé la solución de simplemente crearlo en hww#
lugar de hacerlo hw#
, pero todavía me gustaría saber qué está sucediendo y cómo solucionarlo.
Esta es la salida de mi terminal desde que inicio sesión vía ssh
y mis comandos.
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$
EDITAR: según lo solicitado, la ejecución de "stat -f ~ / SDRIVE" genera lo siguiente:
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
EDITAR - SOLUCIONAR: Hice un poco de espionaje, y descubrí que nuestra escuela usa dfshack (puede buscarlo en google en github) para vincular Windows y sistemas de archivos unix / linux, y fue hecho por un estudiante aquí, así que, naturalmente, tiene errores. Aparentemente encontré uno de ellos. También hice algunas pruebas más y descubrí que el siguiente proceso funciona para permitirme crear los directorios nuevamente. Tengo una Mac, así que no estoy seguro de si esto funcionaría para Windows.
- Asigne la unidad de red a Mac OS para que pueda acceder a ella a través del Finder
- Cree a través de Finder el directorio que no se pudo crear antes.
- Conéctese a la máquina remota a través de ssh y navegue hasta el directorio donde no podría crear las carpetas o archivos.
- Tipo
mv dirCreatedViaFinder newName
- Ahora puede crear directorios y archivos llamados lo que no se pudo crear antes, pero hay un inconveniente. Si es así
rm -r newName
, ahora no puede crearnewName
archivos y carpetas. Así que creo que todo el problema es causado por la eliminación de directorios.