Después de administrar servidores Unix o similares a Unix, ¿qué herramientas (preferiblemente de línea de comandos) cree que no puede vivir sin ellas?
fuente
Después de administrar servidores Unix o similares a Unix, ¿qué herramientas (preferiblemente de línea de comandos) cree que no puede vivir sin ellas?
Pantalla GNU : esencial cuando gestiona una gran cantidad de sistemas y no desea tener una docena de ventanas de terminal abiertas.
Algunos sé que no puedo vivir sin ...
tee: permite la escritura simultánea en STDOUT (salida estándar) y un archivo. Excelente para ver información y registrarla para más tarde.
top: el administrador de tareas de UNIX, ofrece una excelente visión general del sistema.
tail -f: le permite ver datos adjuntos a medida que crece un archivo, ideal para monitorear archivos de registro en un servidor.
grep: impresión de expresión regular global, ideal para buscar datos en el sistema en archivos.
df: informa el uso del disco de los sistemas de archivos actuales.
du: informa el uso del disco de un determinado archivo / directorio.
menos: ¡se necesita para ver páginas de manual! También es útil para ver la salida de comandos de una manera fácil de buscar.
vim / Emacs / nano / pico / ed: cualquiera que sea el editor de texto que elija, explica por sí mismo por qué es necesario.
more
oless
, siempre puedes intentarlomost
.htop
es una versión "mejor" detop
.lsof para determinar qué procesos están usando un archivo o directorio (útil cuando se trata de averiguar qué impide que un dispositivo se desmonte)
netstat para determinar qué procesos están utilizando conexiones de red (especialmente útil cuando se trata de averiguar qué demonio está vinculado a un determinado puerto)
fuente
Aprenda todas las herramientas básicas, pero aprenda Perl.
Perl es ideal para manipular texto, y dado que los operadores un * x viven en archivos de texto, canalizaciones, entradas y salidas, Perl es una excelente opción.
La ventaja adicional es que Perl es multiplataforma y si tiene que trabajar un poco en un cuadro de Windows, tiene un idioma fácilmente instalable (simplemente suelte un directorio de Perl en el servidor) que ya conoce.
Y en ese tren de pensamiento, consigue a Cygwin también. Si usted es un administrador de un * x y tiene que trabajar en un cuadro de Windows (incluso su escritorio) con ls, rm, grep, sed, tail, etc., le ahorrará mucho tiempo al cambiar de sistema operativo.
fuente
Los abuelos olvidados de los scripts de sistemas modernos. Sé que Perl recibe la mayor parte del amor (junto con las secuencias de comandos Bash, Python, Ruby e [inserte su lenguaje de secuencias de comandos favorito aquí]), y no me malinterpreten, amo a Perl. Lo uso casi a diario.
Pero sed y awk no deben ser olvidados, pasados por alto o ignorados. Para muchos casos, sed y awk son las mejores herramientas para el trabajo. Ejemplos rápidos son el filtrado de la línea de comandos con sed y el procesamiento de registro rápido y sucio con awk. Ambos podrían hacerse en Perl, pero requerirán más tiempo de trabajo y desarrollo.
fuente
rsync, especialmente en concierto con ssh. Permite una copia simple y eficiente de archivos de host a host. ¿Cómo nos las arreglamos sin ssh y rsync? :-)
fuente
Netcat.
La red navaja suiza, como dicen.
fuente
Acéptelo: tarde o temprano también se ocupará de la red. mtr , tcpdump y tshark son realmente útiles para ver lo que está sucediendo.
fuente
Para scripts rápidos, automatización, etc.
Para conectarse a su servidor * NIX:
fuente
Utilizo la mayoría de las herramientas ya enumeradas, pero aquí hay una que nadie ha tocado todavía:
fuente
Para scripting:
fuente
La mayoría de los estándares están incluidos en otras respuestas, así que iré para los no estándar:
fuente
Un par de herramientas útiles que aún no he visto mencionadas:
fuente
expect
ClusterSSH
fuente
vmstat 1
Le ofrece una excelente visión general del comportamiento del sistema.
fuente
pv: muestra el progreso de operaciones largas que se pueden redirigir. http://www.ivarch.com/programs/pv.shtml
Es útil, entonces, desea monitorear algo que llevará años, como copiar / comprimir un dispositivo de bloque sin procesar a través de la red (que es cómo tomo copias de seguridad de paranoia de mi netbook de 8 Gb antes de jugar con algo importante como ajustar la configuración del sistema de archivos).
Además: voy a votar en segundo lugar por ssh, rsync, screen, htop y netcat como se mencionó anteriormente, todo lo cual es más importante que pv pero aún no se ha mencionado pv. De hecho, pv es a menudo una adición útil cuando se conectan cosas desde o hacia netcat.
fuente
pv
puede ser una herramienta útil, pero tenga cuidado de usarla en exceso. Pasar los datos a través de ellos tiene un impacto en el rendimiento (todos los datos deben pasar a través de otro programa). En mi último trabajo, hicimos mucho procesamiento de registros. Uno de los muchachos decidió comenzar a poner pv en todos los scripts de procesamiento de registros, hasta que descubrimos que agregaba aproximadamente un 15% al tiempo de procesamiento para ellos. Ahora solo se usa para trabajos que demoran menos de unos minutos o que tienen una limitación de recursos existente (como cruzar una conexión de red lenta).pv
es para el disco o la red de E / S en lugar de CPU / memoria). El mismo argumento es la clave contra el uso excesivo decat
demasiado (a veces uso cat cuando en realidad no es necesario solo para que las cosas se lean bien de izquierda a derecha, pero la copia de datos en memoria adicional a través de la tubería y el cambio de contexto puede tener un impacto medible en el rendimiento).cat
uso excesivo proviene de comenzarcat foo
, seguido de presionar la flecha "arriba" y luego agregar| [command]
a mi línea anterior. Sé que estoy recibiendo un golpe de rendimiento (pequeño) al mantener al gato allí, pero dejarlo requiere menos esfuerzo que reescribir / volver a escribir el comando[command] < foo
. No es una preocupación para (la mayoría) del trabajo de línea de comandos ad hoc, pero no es ideal para scripts (lo mismo que creo que sientopv
).ssh, Vim, htop, su, Python, ls, cd, screen, du, tar :)
fuente
sudo
.En serio, sin embargo,
tail -f
es útil.fuente
tail -f
, te encantarámultitail
Algunos que no se han mencionado antes:
fuente
tubo de alquitrán!
canalizar la salida de tar a otra utilidad, a tar que se ejecuta en la misma caja, o a tar que se ejecuta sobre SSH es mi movimiento favorito de Unix de la vieja escuela para mover archivos de un lugar a otro.
Esto también le brinda la opción de estilo Windows de copiar una carpeta a otra y terminar con todos los archivos en el directorio de origen y de destino.
fuente
zsh como un caparazón
Es especialmente eficiente con las extensiones / configuración de grml.org .
fuente
iotop, es un programa superior para monitorear los accesos de E / S a sus discos.
fuente
La mayoría de estas herramientas se hacen mucho más potentes utilizando Bash "finalización programable", por lo que puede completar con pestañas cosas como opciones de línea de comandos o decir el nombre de un paquete con "apt-get install". También limitará lo que complete con pestañas para los archivos relevantes; por ejemplo, "descomprimir" solo completará los archivos de almacenamiento admitidos.
Realmente son los perros callejeros: si nunca lo has probado, probablemente solo necesites tocar tu .bashrc:
Ciertamente, esto es cierto en Ubuntu y Debian. Es posible que necesite obtener el paquete en algunas distribuciones de Linux.
fuente
Se pueden encontrar algunas respuestas adicionales en esta pregunta similar
fuente
Algunas cosas pasaron por alto que quería mencionar.
Ah, y se me olvidó mencionar que, al hacer scripts, creo que siempre deberías usar Korn. Odio a Korn (no a la banda. Me encanta la banda :-P) pero está literalmente en todas partes. Puede tomar un script y moverlo entre Solaris, AIX y Linux y no tener que preocuparse por si el administrador tuvo la decencia de instalar Bash.
fuente
Una herramienta a veces muy útil es nohup. Lo uso para ejecutar scripts que duran mucho tiempo usando clientes SSH remotos.
fuente
man - para leer las páginas man.
elinks - para revisar google, porque estoy seguro que no puedo recordarlo todo.
Y atención al detalle y la tenacidad, porque sin ellos solo pierdo el tiempo.
fuente
La pantalla es imprescindible, especialmente con un buen archivo .screenrc. Lo tengo configurado para mostrar visualmente en qué ventana estoy y puedo moverme entre ellos con Ctrl + Flecha. Para una sola sesión ssh y múltiples shells, es un salvavidas.
fuente
fuente
Me encanta AWK y "for" en la línea de comandos.
Especialmente para construir una lista de comandos que quiero ejecutar y luego ejecutarlos todos a la vez.
fuente