Mostrando entradas con la etiqueta Comandos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Comandos. Mostrar todas las entradas

domingo, 22 de julio de 2012

Entendiendo el comando compgen

El comando compgen es un comando interno de bash que nos permite visualizar los comandos, funciones y aliases disponibles para el usuario actual. Es decir, que compgen es un comando que muestra comandos.

Por lo general solo basta presionar TAB dos veces para mostrar el total de comandos disponibles actualmente y la opción de mostrarlos todos listados y vamos presionando la barra espaciadora para ir desplegando la larga lista.


miércoles, 11 de abril de 2012

Entendiendo el comando mpstat

El comando mpstat nos muestra las actividades del o los procesadores (en caso de múltiples núcleos), contanto desde cero 0 para el primer núcleo. También nos proporciona un promedio de las actividades de todos en conjunto. Además este comando puede ser utilizado en sistemas multiprocesadores o SMP. El parámetro interval especifica la cantidad de tiempo en segundos entre cada reporte. Un valor de 0 indica que las estadísticas de los procesadores serán reportadas desde que arrancó el sistema.

El parámetro count puede ser especificado en conjunto con interval si éste no es 0. El valor de count determina el número de reportes generados en el intervalo de segundos indicado. Si el parámetro interval se especifica sin count, el comando generará reportes continuamente hasta que lo paremos (Ctrl+C).



martes, 10 de abril de 2012

Comandos mortales que no te gustaria ejecutar en tu sistema

Entre todas las características que definen los sistemas operativos tipo Unix, entre ellos GNU/Linux, una de las más peculiares es el poder de algunos comandos y mucho más cuando éstos son ejecutados por root, el superusuario. Y es por ello que debemos ser cuidadosos a la hora de loguearnos con este usuario para realizar tareas que no lo ameritan, para de paso evitarnos dolores de cabeza por pérdidas irrecuperables.

Hoy veremos algunos de esos comandos con los cuales debemos tener sumo cuidado haciendo copias de seguridad de nuestros datos, pero mejor aún instalemos una máquina virtual para probarlos.


sábado, 18 de febrero de 2012

Entendiendo el comando iotop

El comando o herramienta iotop nos permite monitorizar las entradas y salidas (I/O) de kernel Linux (2.6.20 o superior) mostrando una tabla el uso actual de las mismas por los diferentes procesos o subprocesos en el sistema. Necesita como mínimo que las opciones CONFIG_TASK_DELAY_ACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_TASKSTATS y CONFIG_VM_EVENT_COUNTERS hayan sido habilitadas en el kernel cuando se compiló. 

iotop muestra columnas para el ancho de banda de entrada y salida de cada proceso durante su período de actividad. Además muestra el porcentaje de tiempo que dura mientras intercambia y cuando está esperando por entrada y salida. Por cada proceso, muestra su prioridad de I/O, así como el ancho de banda total de I/O es mostrado en la parte superior de la ventana.


miércoles, 22 de junio de 2011

Detectando y cambiando la codificación de caracteres en archivos de texto

Cuando recibes y necesitas manejar múltiples archivos de texto que usan caracteres que no existen en el idioma inglés, puedes enfrentarte al problema de lidiar con diferentes codificaciones de caracteres. Esto es particularmente notable en sitios web, donde si el navegador trata de interpretar el archivo de texto con una codificación que difiere de la codificación actual de el archivo, podemos ver símbolos extraños en donde estos caracteres especiales se supone que debían mostrarse, pero esto no está limitado a sitios web, cualquier programa que se haga para trabajar con lenguajes que no sean inglés podrían presentar un problema similar si no está apropiadamente hecho.


domingo, 1 de mayo de 2011

Entendiendo el comando screen

El comando screen nos ofrece la oportunidad de tener varios procesos (comandos, scripts, etc.) separados desde una misma sesión en terminal. Cuando la sesión es separada el proceso iniciado originalmente por screen es administrado por éste de forma transparente. Luego, más adelante, podemos retomar dichas sesiones nuevamente y veremos que el proceso que iniciamos en dicha terminal está justo como lo dejamos.

Manos a la obra...

Convencionalmente en una terminal escribimos el nombre del comando y presionamos Enter. Inmediatamente, si el comando existe (en nuestro sistema) bash lo llama y lo ejecuta directamente en el terminal donde estamos y, a menos que lo pasemos a segundo plano (& al final del comando) no podremos hacer otra cosa hasta que terminemos con dicho comando.


miércoles, 27 de abril de 2011

Protegiendo el acceso remoto a nuestro servidor

IPTables, construido sobre netfilter, es el marco de alteración de paquetes en GNU/Linux. Constituye un gran reinvento de su predecesor ipchains, y es utilizado para controlar los filtrados de paquetes, traducciones de direcciones de red (NAT: masquerading, portforwarding, transparent proxying), y con efectos especiales como mutilador de paquetes (mangling).

Si utilizamos SSH, o cualquier otra vía de acceso remoto a un servidor, nos daremos cuenta de que siempre hay alguien tratando de rompernos para penetrar utilizando ataques diccionario. Podemos utilizar iptables para limitar el tiempo que una misma IP puede realizar conexiones.


viernes, 8 de abril de 2011

Auto completar en Yum con TAB Auto Complete en Fedora/CentOS

La característica auto complete (auto completar) de Bourne Again SHell hace a bash uno de los más amigables y amados shells en GNU/Linux. Solo presionando la tecla Tab podemos completar comandos y nombres de ficheros. Al presionar Tab dos veces todos los ficheros y directorios son mostrados. En Debian, Ubuntu y muchas otras distros viene habilitado por defecto, pero no así en Fedora y posiblemente en algunas otras.

Tab auto complete resulta muy útil a la hora de utilizar comandos tan frecuentes como ls, cd, cp, mv, y otros comandos. Para tener auto complete para Yum en Fedora/CentOS necesitamos instalar el paquete bash-completion:

# yum install -y bash-completion

Cerramos la sesión (logout) y entramos nuevamente (login). Listo. Ya tenemos auto complete!


Más recursos: IF!10 | Linux


martes, 29 de marzo de 2011

Entendiendo el comando tee

El comando tee muestra la salida de un comando y también la copia o envía a un fichero o variable. Es utilizado, principalmente, en conjunto con las tuberías (pipes) y filtros. Cuando necesitamos ver la salida de un comando en pantalla (standar output) y también guardar dicha salida al mimo tiempo en un fichero utilizaremos el comando tee, como en el siguiente ejemplo.

ps a | tee ps.txt


miércoles, 23 de marzo de 2011

Tux Commander: un Total Commander para GNU/Linux

Los que nos hemos iniciado en manos del famoso Windows 95/98 recordaremos ese excelente gestor de archivos que en sus comienzos se lo llamaba Windows Commander para luego convertirse en lo que hoy es Total Commander. Tux Commander es un "Clon" de dicho gestor, muy bien logrado y con características similares, TuxCmd como se lo abrevia, cumple muy bien su función y más aun, ya que no se limita a copiar o cortar archivos, sino que nos permite montar y desmontar unidades, gestionar los permisos, unir/dividir ficheros, establecer conexiones FTP, SFTP, SMB (Carpetas compartidas de windows), VFS, etc.

Una de las características principales de este tipo de gestores es que la mayoria o todas las acciones posibles se pueden hacer mediante combinaciones de teclas, haciendo que cualquier persona que se acostumbre a esto se mueva entre sus archivos de una manera muy eficaz como todo un profesional, ideal para quienes realizan mucho esta clase de trabajos.


domingo, 6 de marzo de 2011

Monitoreo de trafico en red: tcpdump

Hace unos meses publiqué, en una página que frecuento llamado Taringa, un pequeño artículo sobre el uso de esta utilidad, me pareció interesante compartirla con ustedes. Es realmente muy interesante.
Tcpdump es una excelente herramienta que nos permite monitorear a través de nuestra preciada y querida consola de Linux todos los paquetes que atraviesen la interfaz indicada. A su vez, los múltiples filtros, parámetro y opciones que tcpdump nos ofrece, nos permite infinidades de combinaciones, al punto de poder monitorear todo el trafico completo que pase por la interfaz, como el trafico que ingrese de una ip, un host o una pagina especifica, podemos solicitar el trafico de un puerto especifico o pedirle a esta magnifica herramienta que nos muestre todos los paquetes cuyo destino sea una dirección MAC específica.



martes, 1 de marzo de 2011

Haciendo copias de seguridad con el comando rsync

Según Wikipedia, rsync es una aplicación de software para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales, que opera también con datos comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos. Una característica importante de rsync no encontrada en la mayoría de programas o protocolos es que la copia toma lugar con sólo una transmisión en cada dirección. rsync puede copiar o mostrar directorios contenidos y copia de archivos, opcionalmente usando compresión y recursión.

En modalidad de "Daemon" servidor, rsync escucha por defecto el puerto TCP 873, sirviendo archivos en el protocolo nativo rsync o via un terminal remoto como RSH o SSH. En el último caso, el ejecutable del cliente rsync debe ser instalado en el host local y remoto.

Lanzado bajo la licencia GNU General Public License, rsync es software libre.


Diferencia entre su y su -

Cuando utilizamos una distro como Debian/Ubuntu o Fedora/CentOS por largo tiempo, usualmente tendemos a olvidarnos de su como tal dada la forma tan automática en que lo usamos. Muchos de ustedes se habrán preguntado por qué algunos usan su y otros su -. ¿Cuál es la diferencia?

Viendo las páginas man podemos encontrar que “-” o “-l” o la opción “--login” provee un entorno similar al que el usuario experimenta cuando hace un login directo.


martes, 22 de febrero de 2011

AWK: Ejercicios

AWK es un lenguaje de programación diseñado para procesar datos basados en texto, ya sean ficheros o flujos de datos. El nombre AWK deriva de los apellidos de los autores: Alfred Aho, Peter Weinberger, y Brian Kernighan. awk, cuando está escrito todo en minúsculas, hace referencia al programa de Unix o Plan 9 que interpreta programas escritos en el lenguaje de programación AWK.

AWK es ejemplo de un lenguaje de programación que usa ampliamente el tipo de datos de listas asociativas (es decir, listas indexadas por cadenas clave), y expresiones regulares. El poder, brevedad y limitaciones de los programas de AWK y los guiones de sed inspiraron a Larry Wall a escribir Perl. Debido a su densa notación, todos estos lenguajes son frecuentemente usados para escribir programas de una línea.


lunes, 14 de febrero de 2011

Envía correos desde el Terminal con Mailutils y sSMTP en Ubuntu

GNU Mailutils es un framework de correo rico y poderoso e independiente de protocolos. Contiene una serie de librerías de correo muy útiles, clientes y servidores. Constituye las utilidades de correo del sistema GNU. La librería central es capaz de manejar correo electrónico en varios formatos y protocolos, tanto local como remotamente. Específicamente tiene un servidor POP3, un IMAP4 y el filtro de correo Sieve. Además provee a mailx, un cliente POSIX, y una colección de otras herramientas. sSMTP es un MTA simple, que entrega correo de una computadora a un centro de correo (SMTP server). sSMTP es liviano, no hay daemons u otros componentes acaparando el CPU; solamente sSMTP. Al contrario que Exim4, sSMTP no recibe correos o maneja colas.

Es importante aclarar que esto es UNICAMENTE PARA ENVIAR MENSAJES.


viernes, 11 de febrero de 2011

SysRq: Cuando el sistema se cuelga

Todos los que utilizamos alguna distribución GNU/Linux sabemos de lo que disfrutamos. Un sistema operativo estable y seguro. A pesar de lo ciertas que son estas características, no menos cierto es que los problemas existen y están ahí a la espera de salir a flote. Desde un proble de incompatibilidad con hardware, un kernel panic o hasta un proceso que consuma memoria excesiva y lleve el sistema a un swapping prolongado, no sabemos qué podría suceder que lo lleve a colgarse. Esto nos lleva a pensar que la única salida es cortar la energía de golpe, ya sea desconectando el cable o haciendo un reset.

No obstante, para los casos en que se puede hacer algo menos catastrófico para nuestros datos, contamos con la "tecla mágica" SysRq (Pet Sis en los teclados en español), la cual nos permite sincronizar la data a nuestro disco y manejar el reinicio del sistema caído, entre otras cosas.

¿Qué es realmente la tecla SysRq? Es un conjunto mágico de teclas que podemos utilizar para que el Kernel responda sin tener en cuenta cualquier cosa que estuviera haciendo previamente, a menos que esté realmente bloqueado.


martes, 1 de febrero de 2011

Sticky Bit: Añadiendo seguridad a nuestros ficheros y directorios

El sticky bit es un permiso de acceso que puede ser asignado a ficheros y directorios en sistemas Unix. Históricamente, el sticky bit se utilizaba en ficheros ejecutables. Cuando se asignaba, le indicaba al sistema operativo (SO) que mantuviera el programa en swap para ejecuciones posteriores (incluso de otros usuarios). Desde entonces el rendimiento de las tecnologías de almacenamiento persistente han mejorado mucho y este uso ha quedado obsoleto.

Hoy en día, el sticky bit se utiliza con directorios. Cuando se le asigna a un directorio, significa que los elementos que hay en ese directorio sólo pueden ser renombrados o borrados por el propietario del elemento, el propietario del directorio o el usuario root, aunque el resto de usuarios tenga permisos de escritura. El sticky bit está a menudo configurado para el directorio /tmp.


lunes, 31 de enero de 2011

Script: Graba lo que haces en el Terminal

El comando script es parte del paquete util-linux-ng y debe estar disponible por defecto en cualquier distribución GNU/Linux. Pero, ¿Qué hace el comando script? Script hace un typescript (menanografiado) de todo lo que se imprime en el Terminal. Esto es muy útil para estudiantes quienes necesitan evidencia de una sesión interactiva como prueba de que hicieron la tarea de una asignatura, que puede ser impresa luego con lpr.

El uso básico de este comando para grabar desde una terminal podría ser el siguiente:

$ script -t -a /tmp/mylog.out 2> /tmp/mylog.time;

La opción -a anexa la salida al fichero o typescript, reteniendo antes el contenido, -t manda los datos de tiempo a la salida estándar de errores. Estos datos contienen dos campos, separados por un espacio. El primer campo indica cuanto tiempo ha pasado desde la salida anterior. El segundo campo indica cuántos caracteres salieron durante ese tiempo. Esta información puede ser utilizada para reproducir el typescripts con lo que realmente escribimos y la tardanza de la salida.


Scalpel: Recupera tus ficheros borrados


Scalpel es un veloz tallador de ficheros que lee la base de datos de definiciones de encabezado y pie de página y extrae ficheros coincidentes de un conjunto de imágenes de ficheros de los ficheros de bloques. Scalpel no depende del sistema de archivos y esculpe ficheros de sistemas FATx, NTFS, ext2/3, o particiones sin formato. 

Es útil para auditoría forense y recuperación de ficheros. A continuación veremos brevemente como podemos usarlo para recuperar algo que hemos borrado. Scalpel es el resultado de la completa reescritura de foremost 0.69, un popular tallador de ficheros, para mejorar el rendimiento y uso de memoria.



Vuélvete un experto en la línea de comandos!

Ya sabemos del poder intrínseco de la línea de comandos en todo sistema *NIX (BSD, OpenSolaris, GNU/Linux, etc.). No obstante ya hemos visto en posts anteriores cientos de Cheat Sheets y trucos para CLI (Command Line Interface) ahora les traigo desde LifeHacker dos de sus entregas que nos harán usarlo más a menudo, dándonos cuenta de lo necesario que es aprender a usarla.

Los administradores aman el CLI por sus habilidades para realizar tareas complicadas que de otra forma serían imposibles realizar. Pero para los principiantes que la desconocen constituye una pesadilla interminable tener que realizar alguna tarea con el CLI.