SlideShare une entreprise Scribd logo
1  sur  7
Comandos específicos del bash
Un mecanismo muy útil es el de ejecutar procesos en lo que se llama modo
background este modo indica sencillamente que el proceso se está ejecutando, pero
que el Shell nos devuelve la línea de comandos para poder seguir ejecutando otros
programas. Para indicarle esto al bash, debemos escribir el carácter “&” después del
comando o programa que vamos a ejecutar. Una vez se ha lanzado el proceso en
modo background, se muestra una línea donde se nos indica el número de trabajo y
PID del proceso lanzado.

Con el comando Jobs podemos ver qué procesos están lanzados en modo
background
(Pasando el parámetro “–l” también podremos ver su PID). Si quisiéramos pasar
uno de estos procesos a modo foreground (como si lo hubiéramos lanzado desde la
línea de comandos sin el carácter “&”), podemos utilizar el comando fg indicando el
PID del proceso. También existe bg, que nos envía un determinado proceso a modo
background

Este último es útil cuando, por ejemplo, ejecutamos un programa en modo
foreground y lo pausamos con CTRL+Z. Si después ejecutamos bg indicándole su
PID, el proceso continuará su ejecución en modo background
Los procesos también tienen una jerarquía de padres a hijos. Cuando ejecutamos
algún programa en modo background no estamos interfiriendo en esta jerarquía, de
modo que si salimos de la sesión, todos estos procesos se acabará porque el padre (el
intérprete de comandos desde donde los hemos lanzado) ya no estaría en ejecución.
Si queremos desvincular un proceso de su padre podemos utilizar disown.

Otro mecanismo muy útil del bash es la historia de comandos. Es normal que
utilizando el sistema debamos repetir muchas instrucciones escritas anteriormente.
Con las teclas del cursor arriba y abajo podemos ir viendo todos los comandos que
hemos ido utilizando y repetir alguno apretando RETURN.

También podemos utilizar History, conel cual se mostrarán por pantalla todos los
comandos ejecutados, enumerados según su aparición. Escribiendo “! NUM” se
ejecutará el que se corresponda con esta historia. También podemos escribir “!”
seguido de las letras iniciales de algún programa ejecutado anteriormente y el
programa buscará el más reciente para ejecutarlo.
El bash dispone, asimismo, de teclas de acceso rápido que nos permiten ejecutar
ciertas acciones sin ni siquiera escribirlas. Algunas de las más frecuentes son:
• TAB: no es necesario escribir el nombre de un fichero, directorio o comando
enteramente. Si escribimos los primeros caracteres y después apretamos la tecla del
tabulador nos acabará de escribir el resto. Si hubiera más de una coincidencia nos
mostraría las diferentes posibilidades.
• CTRL+L: limpia la pantalla (igual que el comando clear)
• SHIFT+REPÁG: enseña media pantalla anterior.
• SHIFT+AVPÁG: enseña media pantalla posterior.
• CTRL+W: elimina la última palabra escrita.
• CTRL+T: intercambia el orden de los últimos caracteres.
• CTRL+U: borra todos los caracteres anteriores al cursor.
• CTRL+D: sale del intérprete de comandos (equivalente a hacer un logout).
• Ulimit es un comando que nos permite configurar algunos delos aspectos internos
relacionados con el bash. Por ejemplo, permite indicar la cantidad de memoria que
puede utilizar el intérprete de comandos, el número máximo de archivos que se
pueden abrir, etc. Este comando puede servirnos para restringir un poco las acciones
que pueden hacer los usuarios de nuestro sistema (en caso de administrar servidores
con muchos usuarios).
Shell scripts con bash
Los shell scripts son ficheros donde escribimos una serie de comandos para que
sean ejecutados. Aunque su sintaxis puede llegar a ser muy compleja y tendríamos
que entrar en aspectos de programación para entenderla claramente.

Como en todo lenguaje de programación, podemos utilizar variables, estructuras
condicionales y bucles. Para declarar una variable utilizaremos la siguiente sintaxis:
(Nombre Variable=contenido)



Si el contenido es una cadena de caracteres, debemos ponerlo entrecomillas, si es un
número, no hace falta poner nada y si queremos guardar en la variable la salida de
un comando, deberíamos ponerlo entre caracteres. Para referirnos al contenido de
la variable en otras instrucciones, siempre debemos preceder al nombre con
el carácter“$”. Para las instrucciones condicionales podemos utilizar las siguientes
estructuras:
(If condición; then instrucciones else instrucciones fi)
donde condición puede hacer referencia a un archivo, realizar alguna operación de
comparación aritmética (entre caracteres “(())”), etc. De especial utilidad es
el comando test, que nos permite hacer comprobaciones de
archivos, directorios, etc. y nos devuelve un booleano. De este modo, por
ejemplo, si quisiéramos realizar una acción u otra según si existiera un
determinado archivo, podríamos utilizar la siguiente estructura:
If test -f /etc/inittab; then echo
“El fichero inittab existe.”
else
echo “El fichero inittab NO existe.”fi
Otra estructura condicional es la de selección:
Si no se encontrara ninguna, se pasaría a la sección“*)”, que es opcional.
Esta estructura es muy buena cuando, por ejemplo, queramos que
un determinado script haga unas acciones u otras según el parámetro que
le pasemos. Los parámetros los podemos referenciar a partir de “$1” para el
primero, “$2” para el segundo y consecutivamente. Para los bucles podemos
utilizar alguna de las siguientes estructuras:

#BUCLE TIPO FOR for i in lista; do instrucciones done
#BUCLE TIPO WHILE while condición; do instrucciones done

Naturalmente, antes de poder ejecutar un Shell script debemos dar el permiso
de ejecución al fichero correspondiente (comando chmod750 nombre Fichero).

Contenu connexe

Tendances

Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en cMary Guaman
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)José Toro
 
Disparadores - base de datos
Disparadores - base de datosDisparadores - base de datos
Disparadores - base de datosAdriana Becerra
 
D6 a sentencias de control de flujo
D6 a sentencias de control de flujoD6 a sentencias de control de flujo
D6 a sentencias de control de flujoGabriel Mondragón
 
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...Rutas absolutas y relativas para la manipulación de directorios y ficheros en...
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...Ericka Zavala
 
Introducción a MS-DOS.
Introducción a MS-DOS.Introducción a MS-DOS.
Introducción a MS-DOS.Ericka Zavala
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosUCC
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)José Toro
 
Practica 1 unidad 4
Practica 1 unidad 4Practica 1 unidad 4
Practica 1 unidad 4Juan Lopez
 
Niveles de ejecucion
Niveles de ejecucionNiveles de ejecucion
Niveles de ejecucionAjun1
 
Redirecciones / Tuberias / Comandos básicos
Redirecciones / Tuberias / Comandos básicosRedirecciones / Tuberias / Comandos básicos
Redirecciones / Tuberias / Comandos básicosPablo Macon
 

Tendances (20)

Perl4 io
Perl4 ioPerl4 io
Perl4 io
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)
 
Visual basic 2
Visual basic 2Visual basic 2
Visual basic 2
 
Disparadores - base de datos
Disparadores - base de datosDisparadores - base de datos
Disparadores - base de datos
 
D6 a sentencias de control de flujo
D6 a sentencias de control de flujoD6 a sentencias de control de flujo
D6 a sentencias de control de flujo
 
COMANDO DE BUSQUEDA- GREP
COMANDO DE BUSQUEDA- GREPCOMANDO DE BUSQUEDA- GREP
COMANDO DE BUSQUEDA- GREP
 
Funciones
FuncionesFunciones
Funciones
 
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...Rutas absolutas y relativas para la manipulación de directorios y ficheros en...
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...
 
Introducción a MS-DOS.
Introducción a MS-DOS.Introducción a MS-DOS.
Introducción a MS-DOS.
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Clase 5 php
Clase 5 phpClase 5 php
Clase 5 php
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
Postgres trigger
Postgres triggerPostgres trigger
Postgres trigger
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 
Practica 1 unidad 4
Practica 1 unidad 4Practica 1 unidad 4
Practica 1 unidad 4
 
CapITULO 9
CapITULO 9CapITULO 9
CapITULO 9
 
Niveles de ejecucion
Niveles de ejecucionNiveles de ejecucion
Niveles de ejecucion
 
Redirecciones / Tuberias / Comandos básicos
Redirecciones / Tuberias / Comandos básicosRedirecciones / Tuberias / Comandos básicos
Redirecciones / Tuberias / Comandos básicos
 

Similaire à Comandos bash background

Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Juan Timoteo Cori
 
Shell script
Shell scriptShell script
Shell scriptuniminuto
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linuxsilvanetorres
 
Comandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntuComandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntuMonchitocm Cuemtz
 
LINUX - Comandos básicos ii
LINUX - Comandos básicos iiLINUX - Comandos básicos ii
LINUX - Comandos básicos iiPablo Macon
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linuxvictdiazm
 
Comandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directoriosComandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directorioskarlosp316
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntuJose Diaz Silva
 
Comandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntuComandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntuCarlos Robayo
 
Manuales ...
Manuales ...Manuales ...
Manuales ...elidetjc
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivasyance1
 

Similaire à Comandos bash background (20)

Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4
 
Shell script
Shell scriptShell script
Shell script
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
manual-batch-desde-0
manual-batch-desde-0manual-batch-desde-0
manual-batch-desde-0
 
Manual batch
Manual batchManual batch
Manual batch
 
Script
ScriptScript
Script
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linux
 
Scripts
ScriptsScripts
Scripts
 
Comandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntuComandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntu
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
LINUX - Comandos básicos ii
LINUX - Comandos básicos iiLINUX - Comandos básicos ii
LINUX - Comandos básicos ii
 
linux comando
linux comandolinux comando
linux comando
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Comando de linux
Comando de linuxComando de linux
Comando de linux
 
tutorial0.pdf
tutorial0.pdftutorial0.pdf
tutorial0.pdf
 
Comandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directoriosComandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directorios
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntu
 
Comandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntuComandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntu
 
Manuales ...
Manuales ...Manuales ...
Manuales ...
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 

Comandos bash background

  • 1.
  • 2. Comandos específicos del bash Un mecanismo muy útil es el de ejecutar procesos en lo que se llama modo background este modo indica sencillamente que el proceso se está ejecutando, pero que el Shell nos devuelve la línea de comandos para poder seguir ejecutando otros programas. Para indicarle esto al bash, debemos escribir el carácter “&” después del comando o programa que vamos a ejecutar. Una vez se ha lanzado el proceso en modo background, se muestra una línea donde se nos indica el número de trabajo y PID del proceso lanzado. Con el comando Jobs podemos ver qué procesos están lanzados en modo background (Pasando el parámetro “–l” también podremos ver su PID). Si quisiéramos pasar uno de estos procesos a modo foreground (como si lo hubiéramos lanzado desde la línea de comandos sin el carácter “&”), podemos utilizar el comando fg indicando el PID del proceso. También existe bg, que nos envía un determinado proceso a modo background Este último es útil cuando, por ejemplo, ejecutamos un programa en modo foreground y lo pausamos con CTRL+Z. Si después ejecutamos bg indicándole su PID, el proceso continuará su ejecución en modo background
  • 3. Los procesos también tienen una jerarquía de padres a hijos. Cuando ejecutamos algún programa en modo background no estamos interfiriendo en esta jerarquía, de modo que si salimos de la sesión, todos estos procesos se acabará porque el padre (el intérprete de comandos desde donde los hemos lanzado) ya no estaría en ejecución. Si queremos desvincular un proceso de su padre podemos utilizar disown. Otro mecanismo muy útil del bash es la historia de comandos. Es normal que utilizando el sistema debamos repetir muchas instrucciones escritas anteriormente. Con las teclas del cursor arriba y abajo podemos ir viendo todos los comandos que hemos ido utilizando y repetir alguno apretando RETURN. También podemos utilizar History, conel cual se mostrarán por pantalla todos los comandos ejecutados, enumerados según su aparición. Escribiendo “! NUM” se ejecutará el que se corresponda con esta historia. También podemos escribir “!” seguido de las letras iniciales de algún programa ejecutado anteriormente y el programa buscará el más reciente para ejecutarlo.
  • 4. El bash dispone, asimismo, de teclas de acceso rápido que nos permiten ejecutar ciertas acciones sin ni siquiera escribirlas. Algunas de las más frecuentes son: • TAB: no es necesario escribir el nombre de un fichero, directorio o comando enteramente. Si escribimos los primeros caracteres y después apretamos la tecla del tabulador nos acabará de escribir el resto. Si hubiera más de una coincidencia nos mostraría las diferentes posibilidades. • CTRL+L: limpia la pantalla (igual que el comando clear) • SHIFT+REPÁG: enseña media pantalla anterior. • SHIFT+AVPÁG: enseña media pantalla posterior. • CTRL+W: elimina la última palabra escrita. • CTRL+T: intercambia el orden de los últimos caracteres. • CTRL+U: borra todos los caracteres anteriores al cursor. • CTRL+D: sale del intérprete de comandos (equivalente a hacer un logout). • Ulimit es un comando que nos permite configurar algunos delos aspectos internos relacionados con el bash. Por ejemplo, permite indicar la cantidad de memoria que puede utilizar el intérprete de comandos, el número máximo de archivos que se pueden abrir, etc. Este comando puede servirnos para restringir un poco las acciones que pueden hacer los usuarios de nuestro sistema (en caso de administrar servidores con muchos usuarios).
  • 5. Shell scripts con bash Los shell scripts son ficheros donde escribimos una serie de comandos para que sean ejecutados. Aunque su sintaxis puede llegar a ser muy compleja y tendríamos que entrar en aspectos de programación para entenderla claramente. Como en todo lenguaje de programación, podemos utilizar variables, estructuras condicionales y bucles. Para declarar una variable utilizaremos la siguiente sintaxis: (Nombre Variable=contenido) Si el contenido es una cadena de caracteres, debemos ponerlo entrecomillas, si es un número, no hace falta poner nada y si queremos guardar en la variable la salida de un comando, deberíamos ponerlo entre caracteres. Para referirnos al contenido de la variable en otras instrucciones, siempre debemos preceder al nombre con el carácter“$”. Para las instrucciones condicionales podemos utilizar las siguientes estructuras: (If condición; then instrucciones else instrucciones fi)
  • 6. donde condición puede hacer referencia a un archivo, realizar alguna operación de comparación aritmética (entre caracteres “(())”), etc. De especial utilidad es el comando test, que nos permite hacer comprobaciones de archivos, directorios, etc. y nos devuelve un booleano. De este modo, por ejemplo, si quisiéramos realizar una acción u otra según si existiera un determinado archivo, podríamos utilizar la siguiente estructura: If test -f /etc/inittab; then echo “El fichero inittab existe.” else echo “El fichero inittab NO existe.”fi
  • 7. Otra estructura condicional es la de selección: Si no se encontrara ninguna, se pasaría a la sección“*)”, que es opcional. Esta estructura es muy buena cuando, por ejemplo, queramos que un determinado script haga unas acciones u otras según el parámetro que le pasemos. Los parámetros los podemos referenciar a partir de “$1” para el primero, “$2” para el segundo y consecutivamente. Para los bucles podemos utilizar alguna de las siguientes estructuras: #BUCLE TIPO FOR for i in lista; do instrucciones done #BUCLE TIPO WHILE while condición; do instrucciones done Naturalmente, antes de poder ejecutar un Shell script debemos dar el permiso de ejecución al fichero correspondiente (comando chmod750 nombre Fichero).