Lanzar un Script en Linux de cuatro maneras diferentes

Hace un tiempo Nacho López publicó una estupenda entrada titulada Bash – Mi pequeño manual de referencia [Cheat Sheet], que si no habéis tenido ocasión de leer os recomiendo hacerlo.

Y es que en determinadas ocasiones nos interesa lanzar un Script (de los que hemos podido aprender a través de esa entrada)de una manera determinada. A continuación os propongo cuatros formas de lanzar un Script en nuestro sistema Linux:

  1. Ejecutar el Script usando directamente el nombre del archivo:
    ahornero@6581-D:~$ cd /home/ahornero
    ahornero@6581-D:~$ ./mi_script
    ó
    ahornero@6581-D:~$ /home/ahornero/mi_script
  2. Ejecutar el Script especificando el nombre del intérprete:
    (usando el intérprete SH)
    ahornero@6581-D:~$ sh ./mi_script
    (usando el intérprete BASH)
    ahornero@6581-D:~$ bash ./mi_script
  3. Ejecutar el Script usando . ./ (punto espacio punto barra):
    ahornero@6581-D:~$ . ./mi_script
  4. Ejecutar el Script usando el comando source:
    ahornero@6581-D:~$ source ./mi_script

Creo que exceptuando el último caso todos conocíais cada una de las opciones, nunca esta de más recordar lo que podemos hacer. read more

Leer más » 7 Comentarios

REMnux, distribución de Linux para análisis de Malware

Sea cual sea el sistema operativo que corramos (esto está más bien indicado para usuarios de Windows por sus vulnerabilidades) es ideal realizar un informe e ingeniería inversa sobre posibles aplicaciones Malware en nuestro equipo.

Es aquí donde interviene REMnux, una distribución Linux para ingeniería inversa de malware. REMnux es una distribución bastante ligera para ayudar a los analistas de malware en la ingeniería inversa de software malicioso. La distribución está basada en Ubuntu (y en consecuencia en Debian) y es mantenida por Lenny Landis, su creador. read more

Leer más » 2 Comentarios

[Errores] ErrorHelp, buscando soluciones a errores comunes o no

En muchas ocasiones y cuando menos lo esperamos, zás! Un error! No podemos compilar un paquete, nos falta una librería, al actualizar se queda inoperativo, etc. ErrorHelp es un entorno de búsqueda y colaboración que trata de dar solución a infinidad de problemas en entornos Linux, Windows y Mac. Lo único que hemos de hacer es pegar nuestro error en su campo de búsqueda y él nos sugerirá soluciones, el motor de búsqueda es sobre Google pero se filtran resultados, de forma que si un problema ya tiene una o varias soluciones se nos muestran directamente. read more

Leer más » 2 Comentarios

8 clientes Torrent para Linux

Y en el afán de seguir con listas de programas para nuestro sistema Linux, aquí os dejo una relación de ocho clientes Torrent para descargar cuanto queramos:

  • Bit Tornado: http://www.bittornado.com/
  • KTorrent (Evidentemente para KDE): http://ktorrent.org/
  • Transmission (mi preferido): http://www.transmissionbt.com/
  • qBittorrent: http://qbittorrent.sourceforge.net/
  • Deluge: http://deluge-torrent.org/
  • Aria2: http://aria2.sourceforge.net/
  • Azureus: http://azureus.sourceforge.net/
  • Torrentflux-b4rt: http://tf-b4rt.berlios.de/
  • read more

    Leer más » 5 Comentarios

    Spotify nativo para Linux ya disponible

    Soy usuario de Spotify desde hace tiempo y gracias a que Wine lo soporta puedo disfrutar de él. En la web de Spotify hay una guía donde se indica cómo ponerlo en marcha. read more

    Leer más » 9 Comentarios

    Granola, ahorrando energía en Linux (y Windows)

    Se trata de un programa de ahorro de energía para sistemas Linux (también disponible para Windows). Granola es una aplicación bastante ligera que es capaz de predecir la carga de trabajo y totalmente compatible con nuestra configuración actual de administración de energía. Básicamente lo que hace es lanzar en background un demonio en el espacio de usuario en pro de un rendimiento notable.

    Para más información: http://grano.la/

    Leer más » 1 Comentario

    Los 7 mejores cortafuegos. Distribuciones para proteger tu red

    Las siete distribuciones firewall de Linux más aceptadas para proteger intrusiones en tu red. Empecemos:

  • ClearOS: La distro que combina facilidad de uso con funcionalidad.
  • IPCop: Distribución versátil y rápida. Altamente configurable.
  • eBox Platform: Algo más que un simple software cortafuegos.
  • Monowall: La más liviana de las propuestas de la entrada.
  • PfSense: Si desea un servidor de seguridad integral y nada más, no busques más.
  • Smoothwall Express: Probablemente la distribución firewall con la mayor reputación.
  • Smoothwall Advanced: Y su versión de pago, con asistencia técnica y más opciones.
  • read more

    Leer más » 9 Comentarios

    X2 CloudClient OS, un nuevo concepto de Sistema Operativo

    Es posible que para muchos de vosotros sea la primera vez que escucháis este nombre: X2 CloudClient OS. Pues bien, se trata de un sistema operativo libre, fundamentalmente, destinado a acceso a los servicios web basados en la Nube,  como Google Apps, MS Live, Navegadores Web, etc., pero todo incluido en una memoria USB y autoarrancable.

    El funcionamiento de CloudClient esta basado en Linux. Creo que es un sistema operativo al que podemos darle una pequeña oportunidad, aunque sea sólo por la moda y el futuro de las aplicaciones en nube. read more

    Leer más » 2 Comentarios

    Programar en Bash, pequeño manual de referencia [Cheat Sheet]

    Aquí os dejo mi cheat sheet, o pequeño manual de referencia, personal sobre Bash. Faltan cosas pero creo que he cubierto lo más básico. Espero que os guste. 😉

    1. Cómo ejecutar scripts Bash

    Para escribir en Bash puedes hacerlo directamente desde la consola/terminal de GNU/Linux, sin embargo, su mayor potencia radica en poder escribir ‘scripts’ y ejecutar piezas de código para automatizar tareas. Aquí muestro paso a paso un ejemplo.

    1.1. Escribe un ‘script’ Bash

    Abre tu editor de textos favoritos y escribe el siguiente código.

    #!/bin/bash
    echo "Hola mundo"
    

    Guárdalo como holamundo.sh (la extensión no importa pero ésta es renococida por muchos editores de texto) .

    1.2. Dale permisos

    Para lanzar el ‘script’ Bash, dále permisos de ejecución. Para ello escribe en tu terminal/consola de comandos:

    chmod u+x holamundo.sh

    Recuerda ejecutar este comando y los siguientes en la misma carpeta/directorio donde se encuentra holamundo.sh

    1.3. Ejecútalo

    Lanza el ‘script’ ejecutando en tu terminal/consola:

    ./holamundo.sh

    Si no ha habido ningún problema se ejecutará el ‘script’ de Bash mostrando la frase “Hola mundo”.

    2. Características Bash

    Aquí se mostrarán las características de dicho intérprete de comandos o shell de GNU. Recuerda que los comandos son las acciones a ejecutar desde la consola/terminal Linux. En la siguiente sección hay una recopilación de ellos.

    2.1. Comentarios

    Los comentarios en Bash se hacen línea a línea con el símbolo #.

    #!/bin/bash
    
    #
    # Hola Mundo comentado
    #
    
    echo "Hola mundo"
    

    2.2. Variables

    Las variables no tienen tipo, es decir, una variable puede contener una cadena, un número, etc. sin necesidad de definirlo.

    La sintaxis es:

    nombre_variable=valor_variable

    Es obligatorio no dejar espacios antes o despues del simbolo ‘=’ ya que sino Bash interpretaría la variable como un comando Linux.

    Para acceder a una variable simplemente escribe como prefijo $ en el nombre de la variable.

    echo $varname

    Un ejemplo sencillo:

    #!/bin/bash
    
    # Asignación y salida de variables
    
    mivariable="Me llamo Nacho"
    echo $mivariable
    

    2.2.1. Paso de variables

    Cuando ejecutas desde tu terminal/consola tienes la posibilidad de pasarle más argumentos. Por ejemplo:

    ./miScript.sh hola 4

    Para recoger estos valores escribe $ y a continuación el número de posición del argumento pasado. El primer argumento tiene valor $1, que sería ‘hola’, y el segundo argumento sería $2, en el ejemplo sería el número 4. La variable $0 es el propio nombre del archivo.

    #!/bin/bash
    
    #
    # Paso de variables
    #
    
    echo "Tu primer argumento es" $1
    echo "Tu segundo argumento es" $2
    

    También hay que destacar que $? guarda el valor de salida del último comando ejecutado. $* almacena todos los argumentos y $# es el número de argumentos pasados.

    2.3. Comparaciones y/o expresiones

    Los condicionales y bucles se rigen mediante la evaluación de una expresión. Por eso lo primero es saber cómo programar en Bash las evaluaciones de una expresión.

    La evaluación de una expresión da como resultado verdadero o falso. Si la comparación o evaluación de la expresión es verdadera se ejecutará el bucle o la condicional, si es falsa la evaluación no se ejecutará.

    En Bash, la sintaxis es la siguiente:

    test expresión
    

    ó

    [ expresión ]
    

    Un ejemplo de expresión sería [ 3 -eq 5 ] que comprueba si el valor 3 es igual a 5. Como es incorrecto, el valor que devuelve es falso. Los símbolos [ y ] tienen que estar obligatoriamente separados por un espacio.

    2.3.1. Comparaciones numéricas

    numero1 -eq numero2: Devuelve verdadero si 'numero1' es igual a 'numero2'. numero1 -ge numero2: Devuelve verdadero si 'numero1' es igual o mayor a 'numero2'. numero1 -gt numero2: Devuelve verdadero si 'numero1' es mayor a 'numero2'. numero1 -le numero2: Devuelve verdadero si 'numero1' es igual o menor a 'numero2'. numero1 -lt numero2: Devuelve verdadero si 'numero1' es menor a 'numero2'. numero1 -ne numero2: Devuelve verdadero si 'numero1' no es igual a 'numero2'. read more

    Leer más » 23 Comentarios

    [Entrada Colectiva] Reproductores de música en Linux

    Me parece que es una buena idea realizar esta entrada participando todos, iré listando los reproductores más conocidos y vosotros mediante comentarios podéis ir sugiriendo más y los iré incorporando a la lista final. ¿Qué opináis?

    Reproductores de música en Linux:

    Banshee: http://banshee-project.org/ Amarok: http://amarok.kde.org/ Clementine: http://code.google.com/p/clementine-player/ Guayadeque: http://sourceforge.net/projects/guayadeque/ aTunes:

    http://www.atunes.org/ read more

    Leer más » 9 Comentarios