¿Cómo eliminarías una carpeta llamada * in / from bash?


8

Digamos que tenía una carpeta nombrada *debajo /. Sé que los comandos comunes como rm -rf * no funcionarán. ¿Alguna ayuda?


2
Técnicamente, rm *funcionaría para eliminar esa carpeta.
Coronel Panic

Respuestas:


7

usa este breve comando:

rm /\*

1
Eso no funcionará, es un directorio.
naught101

1
Luego use 'rmdir / \ *' en su lugar. La otra opción es usar 'rm -rf / \ *'. Pero hacer esto último es peligroso si cometes un error.
Serge

14

Puede comillas simples para evitar el procesamiento por parte del shell.

rm -r '/*'

Pruébelo de forma segura utilizando ls(en carpetas que contienen archivos):

$ ls '*'
ls: *: No such file or directory

En este caso, las comillas dobles también funcionarían, pero si hubiera una $involucrada, no lo harían, ya que el shell supondría que es una variable:

$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory

Para GNU rm, también puede agregar --argumentos antes del nombre del archivo para evitar que se analicen como argumentos. Esto le permitirá eliminar archivos nombrados -rfsin problemas.


No requerido. Simplemente puede escapar del '*' para que el shell no lo expanda cuando Serge respondió.
darnir

55
@darnir No necesita usarlo si no le gusta. Pero tienes que saber a qué personajes escapar cuando usas el enfoque de Serge (considerar &), y escapar de ellos individualmente, lo que fácilmente puede convertirse en más esfuerzo que citar una vez. Por lo tanto, considero que el individuo escapa inferior y publico esta alternativa.
Daniel Beck

3
@Serge No digo que tu respuesta sea mala. Hace el trabajo y fue aceptado . Sin embargo, si hay varias formas (razonablemente diferentes) de lograr algo con diferentes ventajas y desventajas, no dude en enumerarlas todas. Es posible que no funcionen en todas las situaciones, por lo que es bueno tener alternativas para elegir. Tenga en cuenta también que los usuarios con problemas similares (no idénticos) pueden llegar a una pregunta de Google. También es una buena idea ampliar el alcance si genera preguntas que pueden ayudar a más personas. Escribir respuestas más amplias es un comienzo allí.
Daniel Beck

1
No tenía el objetivo de que todas mis respuestas fueran aceptadas y con el dolor más alto. Paso un par de días (este fin de semana) con algunos de estos sitios. La primera impresión fue que puedo compartir con la gente mi conocimiento, por eso comencé a dar respuestas. En SO obtuve 760 puntos en estos tres días. Sí, algunas de mis respuestas no fueron de alta calidad desde diferentes puntos. Pero todos ellos eran correctos. Pero ahora veo que la mayoría de las personas que hacen preguntas aquí son escolares que no quieren pasar un segundo para encontrar una solución por sí mismos. ¿Para qué pasaré mi tiempo?
Serge

1
@Serge No estoy seguro de qué tratan sus comentarios. Por lo que vi después de que lo mencionaste, tuviste un comienzo impresionante para contribuir a los sitios. Si hay algo en lo que pueda ayudarlo a usar los sitios, o algo más que quiera discutir, no dude en enviarme un mensaje de chat. Sin embargo, estoy en UTC + 2, por lo que es posible que no recibas una respuesta muy pronto. Con respecto a las preguntas "para principiantes": tenga en cuenta que cierta información no es fácilmente detectable. La lectura de la bashpágina de manual completa lleva un tiempo si no sabe qué buscar.
Daniel Beck
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.