Acabo de notar que tengo un archivo llamado ~
en mi ~
directorio.
$ ls -la ~
...
-rw-r----- 1 x1 x1 733962240 Mar 1 17:55 ~
...
Cualquier idea de lo que pueda mv
o rm
que?
linux
bash
filesystems
scrrr
fuente
fuente
Respuestas:
La solución más o menos definitiva cuando se trata de archivos que no se pueden eliminar por medios normales:
La primera columna mostrará el número de inodo de los archivos.
Esto eliminará el archivo con el número de inodo especificado después de la verificación.
fuente
-delete
lugar de-exec
, luego me di cuenta de que estaba usando, lorm -i
cual es una buena idea, así que retrocedí. Lo siento.Debería poder referirse a ese archivo como
~/~
(sin comillas) porque tilde-expansion solo aplica tilde (~
) al comienzo de la palabra.fuente
rm ./~
, por la misma razón que usted dijo./~
literalmente significa "un archivo o carpeta nombrado~
en el directorio actual" . No hay hacks como caracteres de escape o referencias de inodo../~
sí. Después de cinco años, mi memoria está un poco borrosa, pero creo que es por eso que sugerí en~/~
lugar de lo más normal./~
: la pregunta se refiere específicamente a "un archivo nombrado~
en el directorio de inicio de [OP] "; no "en el directorio actual".Cítala (
rm '~'
) o escapa (rm \~
).Siempre es uno de esos (también para, por ejemplo
$
), o agregar--
para evitar que el nombre del archivo se interprete como argumento:rm -- -i
elimina el archivo nombrado-i
; También es útil pararm -- *
cuando desea eliminar todos los archivos en el directorio actual: No accidentalrm -f *
solo porque un archivo se llama así.fuente
--
solo detiene la interpretación de los siguientes argumentos como parámetros: no impide que el shell realice su expansión (por ejemplo*
), que es lo que está sucediendo aquí. (Sé que lo sugirió como alternativa para otras situaciones, pero una advertencia sería buena).