it-swarm-es.com

¿El mayor error en la línea de comandos?

¿Cuál es el mayor daño (de cualquier tipo) que haya causado con una sola línea de comando equivocada/mal escrita/mal guiada? Eliminé una base de datos del sistema de producción por error hace un tiempo, por ejemplo, pero tuve suerte (es decir, hice una copia de seguridad) y no hubo pérdida permanente de datos, pérdida de dinero, daños a la propiedad, etc.

Lo más importante (para los votos), ¿qué hace para asegurarse de que no vuelva a suceder nunca más?

35
Peter Hilton

En SQL Server, en un sistema de producción:

update customer set password = '' <enter>

La copia de seguridad más reciente tenía como una semana.

Para mitigar esto, ahora generalmente escribo una declaración select primero para asegurarme de que tengo la cláusula where correcta, luego retrocedo y la edito para insertar la cláusula set y cambie la instrucción a update.

46
Greg Hewgill

¿El error más grande? Pensando que había establecido dos variables cuando no lo había hecho. Entonces rm -rf $ VARIABLE/$ VARIABLE2 se convirtió en rm -rf /. FreeBSD ha actualizado recientemente su herramienta rm para que rm -rf/ya no sea posible precisamente debido a este error.

37
X-Istence
shutdown -h now 

destinado a la estación de trabajo local, pero lo escribió mientras estaba conectado a través de ssh en el servidor de producción. Desde entonces siempre tengo el nombre de host en mi $PS1.

26
vartec

Omitir el -r de un comando de apagado. En un servidor remoto. Al otro lado del país. Sin personal de TI en la oficina remota.

Todos lo hemos hecho, es casi como un rito de iniciación en esta etapa.

26
Maximus Minimus

En un sistema VMS, había estado usando el comando ASSIGN DCL para asignar nombres lógicos y quería RECUPERAR una línea de comando ASSIGN anterior. Ahora, en VMS, solo ingresó tantos caracteres de un comando para que no sea ambiguo. Así que tenía la intención de escribir

REC CULO

pero accidentalmente escribí

REQ CULO

en lugar. REQ no era suficientemente ambiguo para el comando REQUEST, que transmite el argumento a todos los usuarios con privilegios de operador (que eran todos en TI). Así que todo el departamento recibió mi mensaje de transmisión que era simplemente "ASNO".

25
Kevin

En un sistema Solaris: "killall dataLoader".

'dataLoader' era una aplicación en la que estaba trabajando. En Linux, killall funciona como pkill. Envía una señal a los procesos que coinciden con una cadena dada como argumento. En Solaris, killall intenta eliminar todo en el sistema que el usuario actual pueda eliminar. Yo era root.

24
kbyrd

Intentando cambiar la propiedad de todo en un directorio, incluidos los archivos dot, con:

chown -R user * .*

Adivina qué que hace?

16
chaos

Una vez, hace muchas, muchas lunas, necesitaba encontrar un ejecutable en particular, pero no podía recordar el nombre completo (pero podía recordar algunas de las letras). Así que pensé que comprobaría el directorio/usr/bin con algo como esto

rm /usr/bin/i*g*

Extraño. Nada regresó. Suponiendo que acababa de recordar mal la segunda letra, lo intenté de nuevo con

rm /usr/bin/i*

De nuevo, nada. Después de hacer lo mismo con/usr/local/bin,/usr/sbin, y cualquier otra cosa en la que supuse que podría estar, me di cuenta de que había estado escribiendo mal el comando 'ls'.

No sé muy bien de dónde vino el pedo cerebral, pero definitivamente no es un error que haya vuelto a cometer.

16
goldPseudo
setup.exe

Fue Windows Vista.

16
Even Mien

Destinado a destruir/dev/sdb, afortunadamente tenía una buena copia de seguridad actualizada

dd if=/dev/urandom of=/dev/sda
15
Zoredache
select * from <File1> join <file2>

En una caja de producción. Tenga en cuenta la falta de una cláusula on. :-) Ambas tablas eran tablas de varios millones de filas, y esto estaba en un AS/400 a mediados de los 90, donde una vez que el SQL se estaba ejecutando, no podía eliminarlo.

14
WaldenL

En uno de nuestros servidores de producción de datos, una de mis raíces escribió:

chmod -R 777 /

Porque estaba obteniendo un error de permisos con algunos scripts ...

Poco después de eso, su clave privada fue eliminada de todos los servidores y se encargó de la restauración de datos de 1TB en el servidor de producción de datos ...

14
Oct

Hace muchos años estaba en casa codificando algunas cosas en php mientras trabajaba en un proyecto con un amigo mío que era el responsable del proyecto. Nos enviábamos mensajes de texto en un esfuerzo de colaboración. Siempre bromeamos de un lado a otro en el juego.

Estaba tratando de hacer que ssh-agent funcionara correctamente en mi máquina mientras teníamos una guerra religiosa de Perl vs PHP. Luego mencioné algo sobre la necesidad de evaluar ssh-agent (no estoy seguro de por qué dije eso). Entonces me envió este mensaje en un esfuerzo, así que pensé, para ayudarme con mi problema (tenga en cuenta que fui llamado a root):

\# eval $(echo ssh-agent | 
Perl -pe 's/h-a/m -r/' | 
Perl -pe 's/^ss/r/' | 
Perl -pe 's/gent/f \//')

¡ADVERTENCIA! ¡¡¡NO EJECUTES ESE MANDO !!!

SI elimina la evaluación y ejecuta el comando interno por sí solo, es:

rm -rf /

Me tomó 4 segundos darme cuenta de lo que estaba sucediendo, pero el daño ya estaba hecho. Tuve que reinstalar mi sistema operativo. Afortunadamente, nada de mi trabajo se borró, excepto algunas cosas en/etc iirc. Él se rió ENORME cuando le envié un mensaje de horror preguntándole por qué hizo eso. Ambos somos ingenieros de sistemas a largo plazo. Él no pensó que lo ejecutaría y sería más cuidadoso en verificarlo antes de simplemente c & p 'y yo confié en él, así que ni siquiera consideré que estuviera jugando. No hace falta decir que esta pequeña historia surge todo el tiempo entre nosotros. Entonces, decidí inmortalizarlo.

¿Cómo he podido mitigar que esto vuelva a suceder? ¡No confío en nadie!

Otra historia menos interesante es que hace un par de años estaba trabajando en una caja de misión crítica en el trabajo. Tenía algunos términos abiertos para diferentes máquinas. Necesitaba eliminar algunas cosas superfluas en un directorio. Bueno, me perdí en mis términos y accidentalmente entré . en mi directorio local pero en el Host incorrecto (término incorrecto) !!. Ejecuté el comando en/var/lib/mysql en lugar de/tmp en el servidor de aplicaciones (término diferente). No hace falta decir que borré la base de datos de producción. Afortunadamente, teníamos un modo de espera cálido al que cambiamos mientras un compañero de trabajo y yo reconstruíamos el primario a partir de las copias de seguridad y el modo de espera. Eso tomó alrededor de 18 horas.

Mitigación: más cuidado con las ventanas en las que ejecuto los comandos antes de ejecutarlos.

12
Cloaked1

Mi favorito erm fue cuando estaba en la universidad. Estaba construyendo una aplicación (no recuerdo qué) y como no era root la había construido con

PREFIX=~username/usr/local

Entonces podría instalarlo en mi directorio personal. Desafortunadamente se instaló en

/home/username/src/app/~username/usr/local

en lugar. Naturalmente, para eliminarlo como comenzar de nuevo, ejecuté

rm -rf ~username

En el directorio de origen.

Me pregunté por qué estaba tardando tanto ...

:-)

Sin embargo, mi peor fue cuando estaba trabajando con una estación de trabajo solaris y después de configurarlo todo, queríamos borrar la configuración lista para la configuración en vivo. Entonces ejecuté

sys-unconfig

Estuvo de acuerdo con el mensaje de advertencia y en lugar de que la máquina se reiniciara y volviera a los "valores predeterminados de fábrica" ​​La ventana de xterm simplemente decía

connection closed by foreign Host.

Moraleja de la historia ¡Nunca dejes un Shell raíz abierto en otro Host! ¡NUNCA!

12
Vagnerr

Una vez quise borrar un montón de archivos en un directorio.

del *.*

Entonces la computadora dijo "¿Estás seguro? [S/N]". Pensé "POR SUPUESTO, estoy seguro, no habría escrito el maldito comando de otra manera! Estúpidas computadoras gruñido ..."

Y <enter>

C:\Windows>_

Um ... ¿WTF? ¿Acabo de borrar mi directorio de Windows? ....

undelete *.*

En aquellos días de discos duros pequeños, sabía para qué era cada archivo en c:\windows y cuál era su nombre, pero incluso después de recuperar todo el sistema nunca volvió a ser el mismo. Me gané un poco de respeto por el mensaje "¿estás seguro?". Solo un poco.

la versión corta

#/bin/bash
$0&
$0
11
BCS

Primero de dos ...

En una caja Solaris teníamos una copia de seguridad de alquitrán de una máquina AIX.

Uno de los desarrolladores escribió:

tax xvf AIX_Backup.tar

Por supuesto que los caminos en el impuesto eran absolutos y terminamos haciendo una nueva distribución de unix ... Solarix ... El único problema con la distribución es que no arrancó :(

11
Brian G

Creo que lo más estúpido que hice fue eliminar la ruta predeterminada en nuestro clúster de firewall externo, mientras estaba conectado a mi escritorio a más de cien millas de distancia.

Afortunadamente, fue en un período designado como tiempo de inactividad planificado (por si acaso), pero eso no me ahorró el viaje de ida y vuelta de 200 millas para volver a configurar el firewall en el sitio. Tampoco ayudó que esto eliminara nuestros sistemas de producción expuestos a Internet durante la duración de mi viaje y la reparación posterior.

Todos conocemos la definición de nanosegundo. Un ohno-segundo es aún más pequeño, y es el tiempo que transcurre entre que presionas "Enter" y te das cuenta de tu error.

11
Iain

Historia que me contó:

Otra sucursal llamó porque su PBX local) tenía algunos problemas. Después de investigar un poco, nos enteramos de que actualizaron su servidor, pero no su configuración de Asterisk. Por lo tanto, el administrador decidió indicarle al encargado de la sucursal que rehaga La configuración.

Administrador: "Ok, ahora, escriba rm -rf/etc/asterisk"

Chico: "Ok"

Administrador: "Ahora, escriba cp /var/..."

Guy: "Espera, todavía se está ejecutando ..."

Admin: ??? ... !!!

10
Juliano
rm -rf / some/path 

en vez de

rm -rf /some/path 

Por suerte no me pasó a mí ;-)

9
vartec
source ~/.bash_history

Mi intención era la fuente .bashrc, pero me apresuré demasiado con tab-complete ...

9
Dave Pretty

Algo parecido a esto:

Sudo dd if=/dev/zero of=/dev/sda

Me refiero a sda4. Limpié todo el disco, no solo la partición :-(

8
Zifre

tuvo problemas con la red (en una máquina remota) y solo quería reiniciar la interfaz

ifconfig eth0 down && ifconfig eth0 upp

Hoy en día, me aseguro de que haya alguien cerca de la máquina antes de intentar cosas como esta (iptables también es un buen candidato). Y cuando no había nadie, una vez escribí

sleep 600; reboot

en otra terminal (pantalla), de modo que se reiniciara si no pudiera ctrl + c el comando dentro de los 10 minutos.

También aprendí de ese error (ctrl + c el sueño ejecutará el reinicio) y ahora uso

sleep 600 && reboot

lo que me permitirá ctrl + c.

8
mihi
ifconfig eth0 down

Vaya, estoy en el lado externo de eth0. El servidor web está al otro lado del mundo, en una habitación cerrada. Sin acceso a la red para iniciar sesión o reiniciar. Mierda.

8
SpliFF

XCOPY es una bestia poderosa, despiadada en su ejecución y retardada por el hecho de que los argumentos de la línea de comandos van al revés de COPY de Windows y cp de UNIX.

Hace un par de días escribí accidentalmente:

xcopy src \path\to\a\new\nonexistent\directory

XCOPY tuvo la amabilidad de sobrescribir mi directorio src con ... ¡nada! Y tampoco se molestó en poner los archivos antiguos en la papelera de reciclaje.

Ah, y resulta que XCOPY en realidad sobrescribe los mismos sectores en el disco en lugar de asignar nuevos. Probé 3 programas de recuperación de disco, y el mejor solo pudo recuperar 3 de los 10 archivos perdidos. Por supuesto, esos 3 archivos eran solo vshost.exe y sus amigos. ¡Hinchar!

8
Frank Krueger

Mientras limpiaba mi carpeta de inicio en un servidor web de producción, olvidé que había enlazado la raíz web del servidor a un lugar en mi carpeta de inicio. Sin pensar, ejecuté un rm -rf en esa carpeta y lo siguiente que sé es que la gente dice que el sitio web no funciona.

¡Vaya!

6
nabrond

Una cookie gratuita para cualquiera que pueda decirme por qué fui un idiota por intentar eliminar todos los archivos y directorios ocultos de esta manera:

rm -rf. *

6
Matt Simmons

Una vez comparé datos en dos carpetas y ejecuté rsync con la opción -d (eliminar archivos en el destino que no están en la fuente). Y luego cambié el origen y el destino cuando ejecuté rsync. Eso borró todos los archivos nuevos que quería respaldar. Ahora aprendí a ejecutar rsync con -n (ejecución en seco).

rsync -trvd --stats --progress /destination /source

No tenía respaldo.

5
dpzeh

Debido a una mala experiencia con las fallas generales de JBoss después de un reinicio, me gusta borrar los archivos de trabajo de JBoss antes de reiniciar. Normalmente haría:

# cd /var/cache/jboss
# rm -rf tmp/* work/*

Para protegerme de escribir cualquiera de los muchos posibles errores desastrosos, como:

  • / tmp/*
  • tmp/*
  • tienes la idea

Hago el último comando:

# Sudo -u jboss rm -rf tmp/* work/*

Dado que al usuario de JBoss le resultaría difícil eliminar cualquier archivo crítico que no le pertenezca.

En realidad, nunca cometí ese error, pero estoy a salvo en el caso de que lo haga.

4
Francisco Canedo

Érase una vez (probablemente System III, pero fue hace mucho tiempo), fue posible crear un archivo llamado * utilizando la cita de Shell correcta. Cuando encontré uno en mi directorio personal, había escrito rm * y tenía mi dedo en la tecla de retorno cuando algo me hizo dudar y pensar en ello ...

Crear un archivo de este tipo para otros usuarios era una broma común.

Si el archivo está allí en un directorio, es difícil de mitigar. El reflejo de escribir su nombre exactamente como ls lo acaba de mostrar es bastante fuerte.

La otra broma (menos dañina) fue nombrar archivos con espacios en blanco al final (o solo espacios en blanco) que eran mucho más difíciles de eliminar ...

4
RBerteig

Trabajando durante horas y horas editando el archivo de configuración para configurar una aplicación, solo para confundir el archivo de configuración con un archivo temporal y eliminarlo. Maldita autocompletación (¡y mi propia falta de atención!)

2
Shalom Craimer

% dd if = linux_boot_floppy.img of =/dev/hda

en vez de:

% dd if = linux_boot_floppy.img of =/dev/fda

/ dev/hda == disco duro

/ dev/fda == unidad de disquete

Lo primero que pensé fue: "Oh, vaya, eso fue rápido". El segundo pensamiento fue, "Oh mierda".

2
David Poole

Ejecuté cleanlinks en mi directorio $ HOME. Aparentemente, algunos enlaces deberían permanecer sucios y algunos directorios vacíos importan (por ejemplo, los de las carpetas de su buzón). Feh.

2
Telemachus
Thinking: "Before i do this upgrade, I'd better be safe than sorry, and take a backup."
Writing: tar xzvf backup.tgz /path/to/production_site &
... time passes
... checking size of backup.tgz
Thinking: Why is this file not growing?
... thinking some more
... time freezes, realising that a week of development on the site is gone, overwritten by an old backup.
2
Kristian

Al enseñarle a un nuevo administrador junior cómo hacer algo, cometió un error tipográfico y no lo detectamos antes de presionar enter. Entonces en lugar de:

kill -9 <somepid>

Lo hicimos:

kill -%9 <somepid>

En una máquina Solaris 7, esto aparentemente se traduce como "detener". (Podría estar recordando mal el error tipográfico exacto, pero un% estuvo involucrado).

La máquina estaba a tres horas en automóvil en el sitio de un cliente. Tuvimos que llamarlos y rogarles que volvieran a encender la máquina.

2
Kyle Hodgson

Yo solía ser un administrador de laboratorio de Linux, y uno de los estudiantes estaba tratando de que su instalación de Joomla funcionara. Necesitaba agregar permisos de ejecución a uno de los archivos. Sin saber mucho, iba a hacer:

chmod -R 777 /path/to/joomla/

Excepto que lo que hizo fue:

chmod -R 777 /path/to/joomla /

Resulta que su sistema de archivos completo (/ etc/passwd,/etc/shadow ...) era 777.

Cuando no especifica todos los modos, se supone que desea eliminar los permisos que los acompañarían. Así que ahora todo estaba en modo 0777 (es decir, no pegajoso, establezca user/groupID). Hay muchas cosas importantes que están establecidas, como su.

2
Kevin M

El error más molesto que recuerdo haber cometido fue hace algunos años cuando el hardware era caro y a menudo usábamos enrutadores/firewalls de software en lugar de hardware. Una noche nos golpearon algunos ataques DDoS bastante malos. Tratando de depurar esto/averiguar qué podía hacer, inicié sesión en el enrutador principal y comencé a hacer tcpdumps, sin embargo, el sistema no respondía tan increíblemente que pensé que sería mejor dejar las reglas del firewall para poder obtener algo de tiempo de procesamiento tan necesario . Así que escribí;

ipchains -F

El problema es que la política predeterminada de todas las cadenas se eliminó. Tuve que llamar a mi jefe en medio de la noche, tomar un taxi y buscar una tarjeta de acceso, luego ingresar al sitio y reiniciar manualmente el enrutador.

2
Rune Nilssen

En la época oscura de DOS había una utilidad llamada, que yo recuerde, killtree, que borraba un árbol de directorios sin ninguna confirmación.

Luego tuve un teclado que tenía la \ bajo la Return.

En Norton Commander quería eliminar un árbol de directorios en c:\Tuve la selección terminada, así que escribo:

killtree Right CtrlReturn

CtrlReturn La combinación se utilizó para insertar el nombre de archivo/directorio debajo de la selección en la línea de comando.

El problema es, en lugar de Right Ctrl, mi dedo fue al \...

2
macbirdie

En un indicador de DOS, escribí el siguiente comando en mi computadora

C:\deltree/y *. *

Ahora solo selecciono con el mouse lo que quiero eliminar y lo elimino.

2
setatakahashi

Una vez copié/pegué un guión "bash magic" que no entendí de un comentario de slashdot, que no tenía ninguna advertencia y ningún comentario más que ese delineador. Eso es estúpido, lo sé.

Resultó que las líneas malvadas generaban procesos de bash en un bucle que hacía que el servidor no respondiera por completo. Afortunadamente, estaba basado en XEN y pude reiniciarlo usando xm reboot (llamar al centro de datos para hacer un reinicio manual es siempre complicado). Por otro lado, no tuve acceso a dom0 instantáneamente.

Lección aprendida: no copie/pegue cosas que no sepa :)

2
Karolis T.

Al eliminar un fragmento de configuración que acababa de agregar a un enrutador mpls central, lo estaba haciendo escribiendo

no

luego pegar en la línea para eliminar. Desafortunadamente, tenía la línea incorrecta en mi búfer de pegado. Pensé que tenía

vll id X

Me equivoqué y todavía tenía el comando anterior en el búfer. Lo último que vi de ese enrutador antes de que dejara de responder fue

router(config)#no router mpls

Afortunadamente, tuvimos una administración fuera de banda, así que pude volver a ingresar y restaurar toda la configuración de mpls desde la copia de seguridad.

En cuanto a asegurarse de que nunca vuelva a suceder. Primero, discutí con la alta gerencia que deberíamos tener una implementación automática del servicio como lo hicimos para la red de conmutadores y me aseguré de que los "mpls del enrutador" nunca volvieran a acercarse a mi búfer de pegado. Siempre escribí esa línea a mano.

2
Haakon

como root:

find / -type d -exec chmod 755 {} \;
find / -type f -exec chmod 644 {} \;

Terminé reconstruyendo la caja.

... historia verdadera.

1
tomdeb

shutdown -h ahora en el sistema de base de datos de producción Estaba conectado a través de un túnel ssh remoto. Sospeché que algo andaba mal cuando, en lugar de cerrar mi propio buzón, recibí el mensaje "connection closed by remote Host ";)

1
ipozgaj

y ahora para ganar XP la línea de comandos completa el desastre:

C:\Somedir> cacls.exe */r Someuser

hizo algo mucho peor de lo esperado

1
Johan Buret

Quería eliminar todos los archivos de respaldo "~" (passwd ~, group ~, resolv.conf ~) y en un teclado sueco debes presionar la tecla ~ botón y un space escribir un "~" y lo que hice fue:

$ rm  * ~

En/etc

1
rkthkr

Ubuntu 10.10, solo me quedaban 3gb en mi partición, así que borré los archivos.

Pensé, bueno, también podría eliminar los núcleos antiguos (la pantalla de GRUB también se estaba volviendo demasiado grande).

Sudo apt-get remove --purge 2.6.28*

El asterisco era un poco ... codicioso (aunque todavía no sé cómo logró coincidir con 2.6.29 y .30).

Epic freakout, no se atrevió a ctrl + c (¿qué es peor que los kernels desinstalados? Así es, kernels semi-desinstalados). Déjelo correr y reinstale el último kernel. Incluso abrí un documento editado en gedit para que bloqueara cualquier reinicio (lo sé, lo sé ...).

1
orlp

Fácil, fácil ... presionar ENTER cuando mi pantalla se ha desplazado hacia arriba para volver a la línea de comandos. Ejecuté el comando incorrecto varias veces haciendo esto. Me he acostumbrado a presionar CTRL-C en su lugar.

1
McJeff

Teníamos un script FTP que actualizaba los directorios que albergaban los informes de nuestros clientes. El guión se veía así ...

ftp www.ourcompany.com
cd <ClientsDirectory>/
put *.html ( including index.html ) 

Entonces, ¿qué sucede cuando <ClientsDirectory> no existe?

Obtiene la página de índice del cliente como página de inicio de su empresa ... Opps

1
Brian G

Conozco a alguien que escribió una herramienta personalizada para eliminar un árbol de forma recursiva y la probó en una unidad de red que no devolvió ".." como una de las entradas de "buscar el siguiente archivo".

La primera vez que se ejecutó en una unidad que devolvió ".." hizo una copia de seguridad en la raíz y borró el volumen.

1
piCookie

Estaba en/en lugar de otro directorio y realicé el siguiente comando.

rm -Rf *

Cuando cancelé el comando, casi todo el directorio/usr/había sido eliminado.

0
Dereck Martin

Trabajaba para una empresa de marketing en Internet como administrador de sistemas/bases de datos. Le había dado a un compañero de trabajo (ahora un buen amigo) acceso de lectura/escritura a un sistema de publicidad web que estábamos construyendo, una especie de estilo de plataforma de DoubleClick.net, pero solo para nosotros, para que pudiéramos administrar todos nuestros anuncios en varias redes. Estábamos escribiendo un nuevo módulo de informes para recopilar datos sobre algo u otro y él estaba jugando e hizo el clásico error de principiante de SQL:

update advertisements set url='something' 

Sin la cláusula where. Así que esa tarde, cuando el jefe entró y preguntó "¿por qué todos nuestros anuncios publicitarios apuntan a Tragically Hip?" Realmente no tenía idea ... Siendo The Hip una banda canadiense popular, mi colega básicamente había enviado decenas de miles de dólares en espacio publicitario que habíamos comprado en nombre de nuestros clientes al sitio web de su banda favorita por accidente. Ambos pudimos conservar nuestros trabajos, aunque hubo que humillarnos.

Me volví realmente bueno con Netsaint (el predecesor de Nagios) después de eso, y aprendí a no dar acceso a la producción a los principiantes de SQL.

0
Kyle Hodgson

Estaba haciendo un análisis de registro para un servidor de correo usando grep, así que escribí:

grep -r event_string /var/log > output

Desafortunadamente, estaba en /var/log cuando lo escribí, así que cada vez que coincidía con la cadena, escribía la cadena en un archivo que estaba en el directorio que estaba revisando ... Cuando llegó a ese archivo, el archivo se convirtió en una bestia devoradora de espacios que no podía ser alimentado. Llenó toda la máquina y, dado que era un servidor de correo, causó un problema bastante urgente.

0
Satanicpuppy

En un controlador de dominio de Windows NT 4 en el pasado:

C:\WINNT\System32>DEL *.*

Había estado trabajando en una subcarpeta (creo que WINS) y esperaba eliminar esa carpeta, pero eliminé la mayor parte de System32.

¿Cómo me aseguro de que eso nunca vuelva a suceder? Hago las cosas un poco más lento estos días ... verifique dos veces esa línea de comando antes de presionar enter.

0
Aaron Parker
net send /domain "Hello World"

Oh sh! +, Este no es el dominio del laboratorio .....

0
squillman

Comenzaré con el descargo de responsabilidad estándar: fue hace muchos años, acababa de comenzar, era un novato, ¡honesto!

Estaba tratando de depurar algo en un enrutador Cisco (ni siquiera recuerdo qué era), pero no podía averiguar qué necesitaba exactamente. Si alguna vez ha probado el comando debug en IOS, sabrá a qué me refiero. Cada comando tiene un montón de subcomandos, argumentos, opciones, etc.

¡Finalmente, se me ocurrió una idea brillante! Simplemente "depuraré todo" y luego eliminaré las cosas inútiles. (Puedo escuchar los gemidos de las otras personas que han probado esto).

En pocas palabras: mató al enrutador. Simplemente resultó ser el enrutador central del ISP para el que estaba trabajando. De repente, 30.000 personas no tuvieron acceso a Internet.

Sí, fue una tontería. Sí, el ISP no debería haber dejado que los novatos corrieran en los enrutadores centrales sin supervisión. Sí, deberíamos haber estado en espera. Etcétera etcétera. :)

0
DictatorBob

En los días de DOS, probaba diferentes comandos para ver qué hacían. Sabía lo suficiente como para no meterme con fdisk o format, pero vi este comando de aspecto elegante llamado recuperar ... borró toda la máquina ... Me enseñó a no ejecutar nunca un comando a menos que tenga una idea de lo que hace.

0
StubbornMule

Un colega decidió ser gracioso e hizo:

net send  /DOMAIN *my_username* Hey How You Going!

Desafortunadamente, en lugar de que YO reciba el mensaje, todo el piso tiene una ventana emergente que dice:

my_username Hola, ¿cómo estás?

Afortunadamente, las cosas de mensajería están bloqueadas en el enrutador de piso, aunque un gerente corrió a abusar de mí por "desperdiciar recursos de la empresa".

0
marty
DROP TABLE [dbo].[WRONGTABLEHERE]

Luego, el sentimiento inmediato de terror tan pronto como lo ejecuté.

0
Tom Alderman

Un amigo mío trabaja en un sitio de anuncios clasificados que se ejecuta en Windows/IIS. El sitio tenía muchos archivos de imágenes almacenados en los discos de su servidor web a los que ya no se hacía referencia desde su base de datos, por lo que decidió escribir un script de limpieza rápida. Escribió un pequeño programa para generar el script, algo como esto:

List<string> imagesInFileSystem = Directory.GetFiles(imageDirectory);

foreach (string file in databaseImages) {
    if (!imagesInFileSystem.Contains(file)) {
        Console.Out.WriteLine("del " + file);
    }
}

Y genera la siguiente salida:

del c:\images\image1.jpg
del c:\images\image2.jpg
...
etc

Que se veía bastante bien. Sin embargo, cuando ejecutó el programa, la mayoría de las imágenes del sitio se eliminaron. Se olvidó de una cosa: el sistema de archivos del servidor no distingue entre mayúsculas y minúsculas, pero su comprobación con la base de datos no lo era.

Los vendedores tuvieron que pasar los siguientes días llamando a la gente para que volvieran a cargar los archivos.

0
Luke Quinane

Después de 12 horas de trabajo de fin de semana, queriendo verificar la dirección IP del servidor hostXYZ y mientras estaba conectado a un nodo de clúster HP-UX MC/ServiceGuard, escribí:

hostname hostXYZ

Inmediatamente me cubrí de sudor frío. :) Afortunadamente, logré volver al antiguo nombre de host antes de que ServiceGuard se diera cuenta de lo que sucedió. :)

0
Miljan

Mucha gente ha mencionado rm -rf. Me gustaría señalar que no es el comando más complicado. El que realmente tienes que preocuparte es Sudo rm -rf. Después de eliminar todo mi Python directorio de paquetes de sitio, ahora me refiero a ese comando como la "opción nuclear".

0
Jason Baker

usando herramientas publicitarias joeware, tenía un script que se suponía que cambiaba una cuenta de usuario de 512 (activa) a 514 (usuario deshabilitado) en el atributo useraccountcontrol.

el comando fue:

 admod -b "userdn" useraccountcontrol::514

pero también estaba intentando redirigir la salida poniendo un 2> nul al final, pero perdí el espacio y el 514 se convirtió en 5142, lo que hizo que AD cambiara las cuentas de usuario a cuentas de computadora, esto se ejecutó en el dominio de producción contra todos cuentas.

0
benPearce

Tenía mi directorio de inicio montado en un chroot en modo de bucle para hacer un trabajo. El chroot ocupaba demasiado espacio, así que tuve que quitarlo y lo hice

rm -rf /path/to/the/chroot

También fue un poco más largo de lo que pensaba antes de darme cuenta de que estaba eliminando los documentos de mi homedir montado en bucle por completo ...

0
ℝaphink

El percance divertido más reciente fue un colega que instaló una nueva zona Solaris 10. La primera vez que seleccionó al azar el dispositivo de intercambio y la zona se instaló y funcionó bastante bien. La segunda vez que eligió el dispositivo que resultó ser la unidad raíz ...

La caja no volvió a aparecer. Ah, y era un sistema de producción.

0
Alex

Como root: rm ./* en una máquina Tru64. Si en "/". Sí, en una máquina de producción.

Yo no hice esto, algún otro idiota lo hizo.

La (larga) historia de recuperación está aquí: h t t p:// slashdot.org/~Noryungi/journal/212909

Que hice Nada. Otro idiota aún más grande (CTO) insistió en que todos sus programadores necesitaban tener acceso a la contraseña de root. (suspiro)

Como usuario normal: rm -fv ./* en mi/home en una máquina Linux. Presionó Ctrl + C lo suficientemente rápido para evitar grandes daños. Agradeció a Cthulhu por las copias de seguridad durante los días posteriores.

0
ANonymous

Buenas cosas aquí. He hecho MUCHOS de ellos. Para evitar la cláusula WHERE que falta en SQL, ahora uso: alias mysql = 'mysql --i-am-a-dummy'

Una interesante fue mientras se actualizaba un servidor remoto: mv/home/home_old && mv/home_new/home mv/var/var_old && mv/var_new/var mv/lib/lib_old && mv/lib_new/lib

Parece que Linux deja de ejecutarse (o iniciarse) cuando desaparece/usr/lib. Los servidores remotos ahora tienen una tarjeta IMPI o una consola en serie conectada a otro servidor, además de un CD de arranque en la unidad.

0
Ray
rm -vfr /*

Lo que hago ahora: rm -vfr ./*

0
Jordan S. Jones

cd /

rm -rf ./

0
Cawflands

Necesario para extraer un archivo de un archivo tar. No hay problema:

tar cvf filename.tar somefile

Acabo de reinstalar SunOS4, restauré los archivos locales de la copia de seguridad y estaba limpiando, eliminando los archivos restaurados de su ubicación temporal cuando escribí rm -rf/usr y me pregunté por qué estaba tardando tanto ... Tengo que hacerlo todo de nuevo .

0
pgs

Al intentar limpiar mi carpeta de inicio de archivos temporales/de respaldo:

Ejecuta esto:

rm -rf *~

# OOPS! DON'T RUN THESE:
rm -rf *  # OOPS! Deleted all files in $PWD
rm -rf ~  # OOPS! Deleted all files in $HOME
rm -rf ~* # OOPS! Deleted all users' home folders!!!
0
JeffG

He hecho un rm -rf * .o pero lo mejor que he visto es:

userdel -r root

Sin embargo, lo hizo un novato y estaba aprendiendo.

0
adamo

Hoy tuve un archivo extraño que no pude borrar, así que fui a la terminal. El archivo comenzaba con un "?", Así que hice:

rm? *

Que borró todos los archivos excepto las carpetas. Entonces recordé que "?" Significa cualquier carácter individual, así que fue como lo hice:

rm *

0
brunoqc

Con la intención de limpiar el directorio de compilación, eliminé todo el código fuente de un proyecto con:

rm * .o

Desde entonces, lo primero en mis proyectos es un objetivo de clean en el Makefile

0
goedson

rm -f /bin

instead of

rm -f ./bin

como root (por supuesto) en un antiguo sistema FreeBSD. Afortunadamente, todos los comandos en/usr/local/bin y/usr/bin fueron suficientes para copiar los archivos binarios del CD/bin de instalación y deshacer el sistema.

0
hurfdurf

Eliminé todo mi directorio de inicio al intentar limpiar un disquete con el comando:

rm -rf * /mnt/floppy
0
goedson

Lo peor que he visto:

En/var/www // En lugar de eliminar la carpeta con [rm -r var]

Eliminó la carpeta completa/var con [rm -r/var] Una barra inclinada puede hacer mucho: /

Así que sí, ese tipo se divirtió tratando de obtener copias de seguridad ... lo que solo lo empeoró porque apagar el servidor y hacer una recuperación solo haría que todo volviera a la última pequeña actualización, las copias de seguridad solo se realizaban una vez a la semana

0
HTDutchy

Fácil uno en, y lo he hecho más de una vez:

Del de Some_Table

sin ninguna calificación. Siempre haga una 'selección de' primero ahora para asegurarse de que tengo los datos correctos.

0
Marko Carter