GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:directorios dañados, ¿problema para eliminarlos?

Hay un directorio en mi sistema Linux debido a un mal funcionamiento del software, se crearon algunos directorios con un nombre no deseado, como puede ver a continuación, tengo problemas para eliminarlos,

$ ll
total 1532
drwxr-xr-x   2 sensage sensage   4096 Apr 19 16:56 -?$??
drwxrwxr-x 248 sensage sensage   4096 Apr 23 11:37 .
drwxrwxr-x  99 sensage sensage   4096 Apr 16 14:23 ..
drwxr-xr-x   2 sensage sensage   4096 Apr  6 14:54 }???;?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 03:01 }??=?|
-rw-r--r--   1 sensage sensage     88 Apr 22 13:37 $
drwxr-xr-x   2 sensage sensage   4096 Apr  2 12:43 ?
drwxr-xr-x   2 sensage sensage   4096 Mar 20 02:51 ?=??&?
drwxr-xr-x   2 sensage sensage   4096 Apr 11 08:40 ?;%??;
drwxr-xr-x   2 sensage sensage   4096 Apr 14 09:38 ?:????
drwxr-xr-x   2 sensage sensage   4096 Mar 22 17:21 ?(?>~?
drwxr-xr-x   2 sensage sensage   4096 Apr  1 13:45 ?[???%
drwxr-xr-x   2 sensage sensage   4096 Apr  3 14:03 [email protected]????
drwxr-xr-x   2 sensage sensage   4096 Apr 12 16:18 ??
drwxr-xr-x   2 sensage sensage   4096 Apr 17 16:38 ??&???
drwxr-xr-x   2 sensage sensage   4096 Mar 25 02:43 ??+???
drwxr-xr-x   2 sensage sensage   4096 Apr 19 00:46 Ü¡?,??
drwxr-xr-x   2 sensage sensage   4096 Mar 28 18:54 ÚŸ??"?
drwxr-xr-x   2 sensage sensage   4096 Mar 27 01:04 ???(?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 22:41 ??ͨ?`
drwxr-xr-x   2 sensage sensage   4096 Apr 15 11:44 ?????-

como puede ver los nombres de los directorios en azul. cuando quiero eliminarlos me sale el siguiente error:

$ ls -1  | grep -v 20 | xargs rm -rf 
xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
rm: invalid option -- ¼
Try `rm ./'-¼$Þ¸Í'' to remove the file `-274$336270315'.
Try `rm --help' for more information.

¿Qué debo hacer con ellos?

Respuesta aceptada:

ls imprimirá caracteres que no sean ASCII (o más bien, caracteres no admitidos en la configuración regional actual) como ? . Esta es una de las razones por las que analizar la salida de ls es una mala cosa que hacer. La salida de ls está destinado a ser mirado . En algunos casos, como este, esos no son los nombres reales que existen en el sistema de archivos.

En su lugar, intente algo como (esto eliminará todos archivos y directorios, incluidos /path/to/dir )

rm -rf /path/to/dir

o

find /path/to/dir -delete

o

find /path/to/dir -exec rm -rf {} +

o

find /path/to/dir -print0 | xargs -0 rm -rf

Modificar para adaptarse a sus necesidades. Para eliminar solo archivos, agregue -type f después de la ruta en find ejemplos, por ejemplo.

Haciendo solo rm -rf * dentro de ese directorio (eso es importante , el directorio de trabajo actual debe ser el directorio cuyos archivos y directorios desea eliminar) también puede ser suficiente.

Relacionado:en Microsoft Access, ¿cómo elimina todos los valores en una sola columna sin eliminar todo el campo?
Linux
  1. 8 consejos para ayudar a los no expertos en tecnología a migrar a Linux

  2. Copiar archivos y directorios en Linux

  3. 5 comandos de Linux que voy a empezar a usar

  4. Cómo cambiar el nombre de un directorio en Linux

  5. Subir varios directorios en linux

Cómo cambiar el nombre de los directorios en Linux

Cómo comparar directorios con Meld en Linux

Cómo navegar directorios más rápido en Linux

Encuentre archivos y directorios en Linux fácilmente

Comando mkdir:crear nuevos directorios en Linux

Cómo enumerar solo directorios en Linux