Bash

Comandos para GNU/Linux poco conocidos

De atoztoa en ATOzTOA

Encontrar rápidamente el PID con pgrep

pgrep busca en los procesos ejecutados actualmente enumerando los identificadores de procesos que coincide con el criterio de búsqueda.

pgrep ssh
-Da como resultado todos los PID asociados con el proceso ssh.

Ejecutar el último comando

!!
Ejecuta el último comando que has usado en la línea de comandos.

¿No se usa la tecla flecha arriba para eso?

El comando !! es muy útil cuando te olvidas de empezar un comando con sudo:

apt-get update
sudo !!

Ejecutar el último comando que empieza con…

Obtener la IP externa de tu router en la consola

Sencillo script escrito en bash para obtener nuestra IP pública si estamos detrás de un router. Visto hoy en howflow.com.

Solución 1: wget y whatsmyip.com

#!/bin/sh
IP=`wget -q -O - http://whatismyip.com/automation/n09230945.asp`
echo $IP

Solución 2: wget y freeshell.org

#!/bin/sh
IP=$( wget -qO - http://cfaj.freeshell.org/ipaddr.cgi )
echo $IP

Solución 3: lynx y freeshell.org

#!/bin/sh
IP=$( lynx -dump http://cfaj.freeshell.org/ipaddr.cgi )
echo $IP

10 scripts que caben en una nota (del nótame/twitter).

Curiosa recopilación de scripts (programillas ejecutables en un terminal UNIX, ¬¬) los cuáles ocupan menos de 140 carácteres. Desde una animación donde una flecha va agrandando una línia, pasando por un decodificador de morse, hasta un mini-paint que dibuja Xs en la pantalla. Lo curioso es que se le ocurrió a Nat en el mismo twitter (de ahí la limitación a 140 carácteres), cómo reto a sus colegas programadores, y en cuestión de horas surgieron varios comandos curiosos. Os reto.. conoceis o sois capaces de programar algún script similar?

etiquetas: scripts, programación, bash

Programación del kernel Linux y Bash

Hola que tal!!!!

En una de mis andanzas nocturas y de lectura sobre programación encontré dos archivos pdf que me parecen buenos para empezar a incursionar en el mundo de la programación del kernel de linux y bash.

El pdf sobre bash se me hace bastante completo, sin embargo son la punta del iceberg para realmente saber programar en estas áreas que implicitamente GNU/ linux nos ofrece.

Kernel

Bash 

Compártelo

Fuente: CLi-Tec.org

Matar todos los procesos de un tiro (y II)

Por aclamación popular :-) Estas tres líneas de comandos son equivalentes, todas ellas buscan procesos en cuyo nombre (o argumentos) contengan el string “cadena” y los mata. Para ser sinceros, no conocía pkill, y al parecer es exactamente el comando que resume todo este post. Es genial tener una base de lectores expertos que enseguida muestran la mejor solución al problema :-)

$ kill -9 `ps -ef | grep -i cadena | awk {’print $2′}`
$ pgrep cadena | xargs kill -9
$ pkill -9 cadena

Finalmente, también se ha nombrado killall, pero para buscar los procesos a matar, sólo se basa en el nombre del ejecutable, y no puedes decirle que mate “cualquier proceso en cuyos argumentos aparezca la cadena X”, por ejemplo.

Fuente: DiarioLinux

Matar todos los procesos de un tiro

Apunto aquí una orden que he necesitado miles de veces y de la que nunca me acuerdo:

$ kill -9 `ps -ef | grep -i nombre | awk {’print $2′}`

Mata todos los procesos que tengan la cadena nombre en la descripción . Si no te acuerdas de esa orden, siempre puedes hacer un ps -aww| grep nombre y luego matar los procesos copiando y pegando los identificadores en una orden kill.

Fuente: DiarioLinux

QtTube: cómo descargar vídeos de YouTube con un click

QtTube es una pequeña pero útil aplicación para descargar vídeos de YouTube con un click, sin usar la línea de comandos para nada.

Como el paquete de QtTube no está disponible en Synaptic y tiene algunas dependencias, su instalación no es trivial. Dado que estos días he estado impartiendo un curso de iniciación al software libre, aproveché este ejemplo para explicar la instalación de aplicaciones sin usar Synaptic, ni .debs. (sin llegar todavía a la compilación de fuentes con el hechizo mágico ./configure && make && make install) QtTube es el ejemplo de transición perfecto. Para que la explicación fuera reaprovechable, grabé un vídeo en formato .ogg.

Fuente: DiarioLinux

cp con barra de progreso

¿Quieres que al copiar con cp un fichero enorme (una imagen .iso por ejemplo) de una carpeta a otra (situadas en distintos discos, para hacer más divertido el asunto) se vea una barra de progreso tal y como sucede al usar wget?

Es decir, ¿quieres conseguir algo así?

% cp_p /mnt/raid/pub/iso/debian/debian-2.2r4potato-i386-netinst.iso /dev/null
76% [===========================================> ]

Bien, pues en este blog han publicado un shell script de unas 20 líneas para hacer justo eso. Crazy.

Fuente: DiarioLinux

Cómo moverse por la consola de Linux como un experto

Hay situaciones en las que el uso de cd para moverse entre los directorios del sistema se puede hacer bastante pesado, incluso con el autocompletado en bash.

etiquetas: linux, consola, terminal, bash, pushd, popd, cdarg, mc

La FAQ de la shell Bash [Ing]

Impresionante. Este documento contiene un conjunto de respuestas a todas aquellas preguntas relacionadas con la poderosa herramienta Bash (www.gnu.org/software/bash/), de la Free Software Foundation. Visto en www.cyberciti.biz/tips/bash-shell-frequently-asked-questions.html

Una pequeña introduccion al shell de linux

Me encontre este recurso en el cual nos da los primeros pasos a los que queremos empezar a trabajar mas a fondo con el shell de linux, es corto, pero interesante.

Scripts de Bash útiles y para todos

En esta web se encuentran un buen montón de scripts Bash para sistemas *NIX (lógicamente), con los que podremos automatizar decenas de tareas y, además, modificarlos a nuestro gusto.

Historial mejorado y eterno para BASH

¿No recuerdas aquel comando extraño que escribiste hace meses y ya no sale en history? ¿O lo escribiste en un terminal pero se salvó el historial de otro? Con este sencillo truco tendrás un historial de comandos eterno. Además cada comando con el PID del terminal y la fecha en que se ejecutó.

Historial mejorado y eterno para BASH

¿No recuerdas aquel comando extraño que escribiste hace meses y ya no sale en history? ¿O lo escribiste en un terminal pero se salvó el historial de otro? Con este sencillo truco tendrás un historial de comandos eterno. Además cada comando con el PID del terminal y la fecha en que se ejecutó.

Valid XHTML 1.0 Strict