SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
UNIDAD DIDACTICA 3

REDIRECCIONAMIENTO Y TUBERIAS


           Eduard Lara




                                1
1. INTRODUCCIÓN

   En los sistemas GNU/LINUX y UNIX los dispositivos
como los discos duros y sus particiones, el terminal de
pantalla, el teclado, el ratón o incluso la tarjeta de audio
están mapeados en el sistema de archivos.
   Esta característica permite a los programas
interactuar con los dispositivos de la misma manera que
los archivos, simplificando su interfase de acceso.
   Los dispositivos que mapean las operaciones de E/S
hacia un archivo poseen un archivo de dispositivo (device
file) que es un objeto especial del sistema de archivos
que proporciona la interfase con el dispositivo.
   Un programa que lea el archivo de dispositivo del
terminal, leerá los caracteres introducidos por teclado
                                                               2
1. ENTRADA/SALIDA ESTANDAR Y LOS
            DESCRIPTORES DE ARCHIVO
   La Entrada Salida estándar es la capacidad del
intérprete de comandos o shell para controlar y dirigir:
       - La entrada de datos de los programas,
       - La salida de información útil
       - La salida de información de errores.
   Cuando un programa se ejecuta, automáticamente se le
proporcionan 3 descriptores de archivo:
       - Entrada estándar (stdin)
       - Salida estándar (stdout)
       - Error estándar (stderr)


                                                           3
1. ENTRADA/SALIDA ESTANDAR Y LOS
            DESCRIPTORES DE ARCHIVO
Entrada estándar (stdin) o descriptor de archivo 0
El descriptor de archivo STDIN está asociado a la
entrada de texto. Por defecto está asociado al teclado.
Salida estándar (stdout) o descriptor de archivo 1
El descriptor de archivo STDOUT se corresponde con la
salida de texto normal de los programas. Por defecto
está asociado al terminal de pantalla.
Error estándar (stderr) o descriptor de archivo 2
El descriptor de archivo STDERR también es una salida
de texto, pero se usa exclusivamente para mostrar los
errores generados por los programas. Por defecto
también está asociado al terminal de pantalla.
                                                          4
2. TUBERIAS

   Desde el punto de vista de un programa no hay
diferencia entre leer texto guardado en un archivo o
introducido mediante el teclado.
   Escribir un texto en un archivo o en la pantalla del
terminal también son operaciones equivalentes.
   Extendiendo esta idea es también posible enlazar la
salida de un programa con la entrada de otro. Esta
operación se puede realizar mediante una tubería (pipe)
que une dos comandos en uno solo. Por ejemplo:
$ls –l | more
   La tubería redirecciona la salida del comando ls –l
hacia el paginador more, que permite visualizar la
información pantalla a pantalla.
                                                          5
3. REDIRECCIONAMIENTO

El descriptor stdout de los programas está asociado por
defecto a la pantalla del terminal. Pero de la misma
manera que es posible redireccionar la salida de un
comando a la entrada de otro, también es posible
redireccionar cualquiera de los tres descriptores a un
archivo.




                                                          6
3. REDIRECCIONAMIENTO

   operador                                    descripción
cmd < file         El contenido de file se utilizará como entrada de la orden cmd
cmd 1> file1       La salida estándar de la orden cmd se guardará en file. Si el
cmd > file1        archivo file existe se sobrescribirá.
cmd 1>> file1      La salida estándar de la orden cmd se guardará en file. La
cmd >> file1       información se escribirá al final del archivo.
                   Los errores de la orden cmd se guardarán en file. Si el archivo file
cmd 2> file2
                   existe se sobrescribirá.
                   Los errores de la orden cmd se guardarán en file. La información se
cmd 2>> file2
                   escribirá al final del archivo.
                   La salida estándar y la de errores de la orden cmd se guardarán en
cmd > file 2>&1
                   file. Si el archivo file existe se sobrescribirá.
                   La salida estándar y la de errores de la orden cmd se guardarán en
cmd >> file 2>&1
                   file. La información se escribirá al final del archivo.
                   Redirecciona la salida del comando cmd1 hacia la entrada del
cmd1 | cmd2
                   comando cmd2.

                                                                                          7
3. REDIRECCIONAMIENTO

Ejemplos Redireccionamiento

$ls –lR > file
La salida estándar de la orden ls –lR (listado de archivos y
subdirectorios que contiene el directorio actual de forma recursiva)
se guarda en el archive file.
$mkdir directory 2> error
Si al crear el directorio directory se produce algún error (por
ejemplo el directorio ya existe o el usuario no tiene permisos de
escritura) el mensaje del error se guardará en el archivo error.
$cp –vf /root /home/alumno > file 2> error
La lista de todos los archivos copiados (atención a la opción –v de la
orden cp) se guardará en el archivo file. Los errores que se
produzcan en la ejecución de la orden se almacenarán en el archivo
error.
                                                                         8
3. REDIRECCIONAMIENTO

$cp –vf /root /home/alumno >> file
La lista de todos los archivos copiados se escribirá en el archivo file.
Si el archivo file ya existe la lista se escribirá al final del archivo,
manteniendo la información previa.
$wc –l < file
Cuenta el número de líneas del archivo file.
$cd /root/setup 2> null
Redirecciona la salida de error hacia el dispositivo nulo. El mensaje
de error no se escribirá en ninguna parte.
$ls –l | grep vmlinux
Redirecciona la salida de la orden ls hacia la orden grep, que
mostrará únicamente las líneas que contienen la palabra vmlinux.



                                                                           9
4. COMANDOS

   more
Sintaxis: more file
El comando more es un paginador de archivos que permite ver el
contenido del archivo file pantalla a pantalla. Al mostrar una pantalla
completa la visualización del documento se detiene hasta que el
usuario indica que quiere ver otra pantalla más con la tecla SPACE. La
tecla Q/q permite salir del programa.




                                                                      10
4. COMANDOS

   less
Sintaxis:      less file
El comando less es un paginador de ficheros más potente que la
orden more. Permite desplazarse hacia delante y atrás en los
archivos.
Órdenes:
   Teclas                                Función
   B ó b      Desplaza una pantalla hacia atrás el contenido del archivo.
  RETURN      Desplaza una línea hacia delante el contenido del archivo.
   SPACE      Desplaza una pantalla hacia delante el contenido del archivo.
  /pattern    Busca hacia delante el pattern dentro del archivo file.
   H ó h      Muestra un texto de ayuda.
   Q ó q      Sale del programa.

                                                                              11
4. COMANDOS

   grep
Sintaxis:       grep [options] regex files
Busca en los archivos especificados las líneas que contienen una
coincidencia con la expresión proporcionada en regex. Por defecto
mostrará las líneas que contienen una coincidencia y ocultará las que
no tengan ninguna coincidencia.
Opciones:
-c Muestra el número de líneas que contienen la expresión, no
muestra el contenido de las líneas.
-i No hace diferencias entre mayúsculas y minúsculas al comparar la
expresión.
-v Muestra todas las líneas que NO tienen ninguna coincidencia y
oculta las que contienen alguna coincidencia.


                                                                        12
4. COMANDOS

Ejemplos Grep:

$ls –AlR /* | grep –ic .gif
La tubería redirecciona la salida del comando ls –AlR /* (listar en
formato largo todos los archivos del sistema incluido los ocultos) al
comando grep. El comando grep mostrará el número de coincidencias
con la expresión .gif independientemente si este escrito en
minúsculas o mayúsculas.
$ls –AlR /root/* | grep –iv root
El comando grep mostrará todos los archivos del directorio /root que
no pertenecen al usuario o grupo root.




                                                                    13
4. COMANDOS

   sort
Sintaxis:       sort [options] file
Ordena los registros o líneas de uno o más archivos y lo muestra por
la salida estándar (pantalla). La ordenación se puede hacer por el
primer carácter, por el primer campo de la línea o por un campo
distinto al primero en el caso de ficheros estructurados.
Opciones:
-n Ordena los campos numéricos por su valor numérico.
-r Realiza una ordenación inversa (de mayor a menor).
-k numero Indica la columna en la que vamos hacer la ordenación.
-t Indica el delimitador de campos que encontraremos diferente de
espacio en blanco (separador por defecto de las columnas)
-u Suprime todas las líneas repetidas después de la ordenación.
-o Indica el fichero de salida en lugar de la salida estándar
                                                                       14
4. COMANDOS

Ejemplos sort

sort fichero    Se realizaría la ordenación y el resultado se
mostraría por pantalla.
sort fichero > fichero_ordenado       Obtener el resultado de la
ordenación en un fichero,
sort fichero1 fichero2 > fichero3      Ordena varios ficheros y
añadimos el resultado a otro.
sort -o f1 f1     Ordena un fichero y dejamos el resultado de la
ordenación en el mismo fichero
sort -t, -k3     Ordena un fichero el que los campos están
separados por comas, por el campo número 3:
cat /etc/passwd | sort -t":" -k3n       Ordena el fichero de usuarios
por la columna uid. El fichero passwd utiliza separadores “:”

                                                                    15
PRACTICA 2
           REDIRECCIONAMIENTO Y TUBERIAS
Paso 1. Enumera y explica los tres tipos de descriptores asociados a
los programas del intérprete de comandos.
Paso 2. Listar todos los archivos del sistema mediante el formato
largo y filtrar mediante la orden grep aquellos que contienen la
palabra http independientemente si están escritos en mayúsculas o
minúsculas.
Paso 3. Obtener un listado de los ficheros del directorio /etc,
ordenado por tamaño de archivo. Indica cual es la columna de la
salida del comando ls que debemos ordenar mediante la opción –k del
comando sort (utilizar la pipe ls | sort)
Paso 4. Obtener un listado por pantalla de los ficheros del
directorio /etc, ordenado de mayor a menor por tamaño de archivo.
Paso 5. Obtener un listado de los ficheros del directorio actual,
ordenado por nombre del archivo.
Paso 6. Desde tu directorio personal, crea el árbol de directorio
Usuarios/Administradores/Red_local con una sola instrucción.
                                                                       16
PRACTICA 2
            REDIRECCIONAMIENTO Y TUBERIAS
Paso 7. Crea un fichero de texto llamado “usuarios” en el directorio
Red local y complétalo con el siguiente contenido:
        Admin, Pass: 1234
        Pere, Pass: 1325
        Villacampa, Pass: stucom
        Xavi, Pass: bcn
        Laia, Pass: gracia
Paso 8. Lista el contenido de tu carpeta de usuario y añádelo al final
del archivo Usuarios.
Paso 9. Con el comando sort ordena el fichero Usuarios. Repite el
proceso volcando el resultado en el fichero SortedUsers. Mediante
el comando Cat visualiza el fichero SortedUsers
Paso 10. Con el comando sort ordena el fichero Usuarios según el
campo password. Vuelca el resultado en el fichero SortedPass.
Mediante el comando Cat visualiza el fichero SortedPass.

                                                                         17
PRACTICA 2
           REDIRECCIONAMIENTO Y TUBERIAS
Paso 11. Mediante la orden grep contar el número de líneas que
contienen el patrón “pass” en el archivo Usuarios.
Paso 12. Renombrar el archivo Usuarios a Users
Paso 13. Crea un fichero de texto llamado Admins en el directorio
Red local y complétalo con el siguiente contenido:
        Local PASS: 1234
        Xavi Sánchez
        Laia Sonsola
        Remoto1, PASS: 1325
        Remoto2, PASS: stucom
Paso 14. Filtra todas las líneas que contienen el patrón pass de los
ficheros Admins y Users. Vuelca el contenido en un fichero pass
Paso 15. Visualizar pantalla a pantalla y línea a línea mediante la
orden less el contenido del directorio personal del usuario actual.
¿Qué ordenes del programa less habéis usado?
                                                                       18
PRACTICA 2
           REDIRECCIONAMIENTO Y TUBERIAS
Paso 16. Crear el directorio test en el directorio personal del
usuario actual.
Paso 17. Crear otra vez el directorio test en el directorio personal
del usuario actual y redireccionar la salida de error al archivo
error.txt. Con la orden more visualizar el contenido del archivo
error.txt.
Paso 18. Buscar el número de archivos con terminación .gif en todo
el sistema (utilizar la orden grep)
Paso 19. Lista el contenido de todas los directorios o archivos
contenidos en el directorio /etc y a su vez el contenido de cada
directorio cuya sexta letra del nombre sea a.




                                                                       19

Contenu connexe

Tendances

Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datosUTN
 
Lenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosLenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosJairo Velasquez Rivera
 
Bucket sort
Bucket sortBucket sort
Bucket sorteislenp
 
Conexion de bases de datos a Visual Basic.Net
Conexion de bases de datos a Visual Basic.NetConexion de bases de datos a Visual Basic.Net
Conexion de bases de datos a Visual Basic.NetEduardoMontiel18
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relaciondanielglot
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Guia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql serverGuia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql serverMayito CH
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónManuel Padilla
 
PostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - SubconsultasPostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - SubconsultasNicola Strappazzon C.
 
1 eventos - controles - formularios
1   eventos - controles - formularios1   eventos - controles - formularios
1 eventos - controles - formulariosguest15144ec
 
Otras relaciones y modelos bases de datos
Otras relaciones y modelos bases de datosOtras relaciones y modelos bases de datos
Otras relaciones y modelos bases de datosEmer Gio
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datosucbasededatos
 
12 reglas de codd
12 reglas de codd12 reglas de codd
12 reglas de coddenriquesyso
 
Fundamentos de Base de Datos
Fundamentos de Base de DatosFundamentos de Base de Datos
Fundamentos de Base de DatosSaulo Aizprua
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normalITCV
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4LuiS YmAY
 

Tendances (20)

Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datos
 
Lenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosLenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventos
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 
Conexion de bases de datos a Visual Basic.Net
Conexion de bases de datos a Visual Basic.NetConexion de bases de datos a Visual Basic.Net
Conexion de bases de datos a Visual Basic.Net
 
Computo movil ejercicio clases resuelto
Computo movil ejercicio clases resueltoComputo movil ejercicio clases resuelto
Computo movil ejercicio clases resuelto
 
Listas
ListasListas
Listas
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Guia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql serverGuia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql server
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
 
PostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - SubconsultasPostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - Subconsultas
 
1 eventos - controles - formularios
1   eventos - controles - formularios1   eventos - controles - formularios
1 eventos - controles - formularios
 
Arboles
ArbolesArboles
Arboles
 
Otras relaciones y modelos bases de datos
Otras relaciones y modelos bases de datosOtras relaciones y modelos bases de datos
Otras relaciones y modelos bases de datos
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datos
 
12 reglas de codd
12 reglas de codd12 reglas de codd
12 reglas de codd
 
Fundamentos de Base de Datos
Fundamentos de Base de DatosFundamentos de Base de Datos
Fundamentos de Base de Datos
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4
 

Similaire à Linux ud3 - redireccionamiento y tuberias

Tuberías (PIPES). EN GNU-LINUX-CENTOS ::: http://leymebamba.com
Tuberías (PIPES).  EN GNU-LINUX-CENTOS  ::: http://leymebamba.comTuberías (PIPES).  EN GNU-LINUX-CENTOS  ::: http://leymebamba.com
Tuberías (PIPES). EN GNU-LINUX-CENTOS ::: http://leymebamba.com{|::::::. ELDAVAN .:::::::|}
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformaticsAlberto Labarga
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linuxcorchero83
 
Redirección de entradas y salidas estándar y creación de unidades virtuales e...
Redirección de entradas y salidas estándar y creación de unidades virtuales e...Redirección de entradas y salidas estándar y creación de unidades virtuales e...
Redirección de entradas y salidas estándar y creación de unidades virtuales e...Ericka Zavala
 
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
Comandos basicos linuxComandos basicos linux
Comandos basicos linuxvictdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesvictdiazm
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesvictdiazm
 

Similaire à Linux ud3 - redireccionamiento y tuberias (20)

Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Tuberías (PIPES). EN GNU-LINUX-CENTOS ::: http://leymebamba.com
Tuberías (PIPES).  EN GNU-LINUX-CENTOS  ::: http://leymebamba.comTuberías (PIPES).  EN GNU-LINUX-CENTOS  ::: http://leymebamba.com
Tuberías (PIPES). EN GNU-LINUX-CENTOS ::: http://leymebamba.com
 
Tutorial linux
Tutorial linuxTutorial linux
Tutorial linux
 
Tutorial 18pag
Tutorial 18pagTutorial 18pag
Tutorial 18pag
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
 
Comandos
ComandosComandos
Comandos
 
17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson
 
Unidad 9:
Unidad 9: Unidad 9:
Unidad 9:
 
Unidad 9:
Unidad 9: Unidad 9:
Unidad 9:
 
Curso Bash 1
Curso Bash 1Curso Bash 1
Curso Bash 1
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linux
 
Redirección de entradas y salidas estándar y creación de unidades virtuales e...
Redirección de entradas y salidas estándar y creación de unidades virtuales e...Redirección de entradas y salidas estándar y creación de unidades virtuales e...
Redirección de entradas y salidas estándar y creación de unidades virtuales e...
 
linux comando
linux comandolinux comando
linux comando
 
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
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
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipes
 
Comandoslinux
ComandoslinuxComandoslinux
Comandoslinux
 

Plus de Javier Muñoz

Linux ud18 - integracion clientes windows en un controlador de dominio linu...
Linux   ud18 - integracion clientes windows en un controlador de dominio linu...Linux   ud18 - integracion clientes windows en un controlador de dominio linu...
Linux ud18 - integracion clientes windows en un controlador de dominio linu...Javier Muñoz
 
Linux ud17 - recursos compartidos con samba en un controlador dominio
Linux   ud17 - recursos compartidos con samba en un controlador dominioLinux   ud17 - recursos compartidos con samba en un controlador dominio
Linux ud17 - recursos compartidos con samba en un controlador dominioJavier Muñoz
 
Linux ud16 - usuarios de dominio de samba
Linux   ud16 - usuarios de dominio de sambaLinux   ud16 - usuarios de dominio de samba
Linux ud16 - usuarios de dominio de sambaJavier Muñoz
 
Linux ud14 - requisitos previos para configurar linux como controlador
Linux   ud14 - requisitos previos para configurar linux como controladorLinux   ud14 - requisitos previos para configurar linux como controlador
Linux ud14 - requisitos previos para configurar linux como controladorJavier Muñoz
 
Linux ud13 - iniciar sesion en linux de forma remota
Linux   ud13 - iniciar sesion en linux de forma remotaLinux   ud13 - iniciar sesion en linux de forma remota
Linux ud13 - iniciar sesion en linux de forma remotaJavier Muñoz
 
Linux ud12 - configuracion de iptables en linux
Linux   ud12 - configuracion de iptables en linuxLinux   ud12 - configuracion de iptables en linux
Linux ud12 - configuracion de iptables en linuxJavier Muñoz
 
Linux ud11 - configuracion de red en linux
Linux   ud11 - configuracion de red en linuxLinux   ud11 - configuracion de red en linux
Linux ud11 - configuracion de red en linuxJavier Muñoz
 
Linux ud10 - gestion del software
Linux   ud10 - gestion del softwareLinux   ud10 - gestion del software
Linux ud10 - gestion del softwareJavier Muñoz
 
Linux ud9 - gestion de particiones en linux
Linux   ud9 - gestion de particiones en linuxLinux   ud9 - gestion de particiones en linux
Linux ud9 - gestion de particiones en linuxJavier Muñoz
 
Linux ud8 - montar y desmontar unidades en linux
Linux   ud8 - montar y desmontar unidades en linuxLinux   ud8 - montar y desmontar unidades en linux
Linux ud8 - montar y desmontar unidades en linuxJavier Muñoz
 
Linux ud7 - gestion de procesos
Linux   ud7 - gestion de procesosLinux   ud7 - gestion de procesos
Linux ud7 - gestion de procesosJavier Muñoz
 
Linux ud6 - permisos de archivos
Linux   ud6 - permisos de archivosLinux   ud6 - permisos de archivos
Linux ud6 - permisos de archivosJavier Muñoz
 
Linux ud5 - gestion de usuarios
Linux   ud5 - gestion de usuariosLinux   ud5 - gestion de usuarios
Linux ud5 - gestion de usuariosJavier Muñoz
 
Linux ud4 - editor vi
Linux   ud4 - editor viLinux   ud4 - editor vi
Linux ud4 - editor viJavier Muñoz
 
Linux ud2 - comandos gestion archivos
Linux   ud2 - comandos gestion archivosLinux   ud2 - comandos gestion archivos
Linux ud2 - comandos gestion archivosJavier Muñoz
 
Linux ud1 - introduccion linux
Linux   ud1 - introduccion linuxLinux   ud1 - introduccion linux
Linux ud1 - introduccion linuxJavier Muñoz
 
Linux ud15 - controlador de dominio en linux
Linux   ud15 - controlador de dominio en linuxLinux   ud15 - controlador de dominio en linux
Linux ud15 - controlador de dominio en linuxJavier Muñoz
 

Plus de Javier Muñoz (19)

Java util
Java utilJava util
Java util
 
Clase math.java
Clase math.javaClase math.java
Clase math.java
 
Linux ud18 - integracion clientes windows en un controlador de dominio linu...
Linux   ud18 - integracion clientes windows en un controlador de dominio linu...Linux   ud18 - integracion clientes windows en un controlador de dominio linu...
Linux ud18 - integracion clientes windows en un controlador de dominio linu...
 
Linux ud17 - recursos compartidos con samba en un controlador dominio
Linux   ud17 - recursos compartidos con samba en un controlador dominioLinux   ud17 - recursos compartidos con samba en un controlador dominio
Linux ud17 - recursos compartidos con samba en un controlador dominio
 
Linux ud16 - usuarios de dominio de samba
Linux   ud16 - usuarios de dominio de sambaLinux   ud16 - usuarios de dominio de samba
Linux ud16 - usuarios de dominio de samba
 
Linux ud14 - requisitos previos para configurar linux como controlador
Linux   ud14 - requisitos previos para configurar linux como controladorLinux   ud14 - requisitos previos para configurar linux como controlador
Linux ud14 - requisitos previos para configurar linux como controlador
 
Linux ud13 - iniciar sesion en linux de forma remota
Linux   ud13 - iniciar sesion en linux de forma remotaLinux   ud13 - iniciar sesion en linux de forma remota
Linux ud13 - iniciar sesion en linux de forma remota
 
Linux ud12 - configuracion de iptables en linux
Linux   ud12 - configuracion de iptables en linuxLinux   ud12 - configuracion de iptables en linux
Linux ud12 - configuracion de iptables en linux
 
Linux ud11 - configuracion de red en linux
Linux   ud11 - configuracion de red en linuxLinux   ud11 - configuracion de red en linux
Linux ud11 - configuracion de red en linux
 
Linux ud10 - gestion del software
Linux   ud10 - gestion del softwareLinux   ud10 - gestion del software
Linux ud10 - gestion del software
 
Linux ud9 - gestion de particiones en linux
Linux   ud9 - gestion de particiones en linuxLinux   ud9 - gestion de particiones en linux
Linux ud9 - gestion de particiones en linux
 
Linux ud8 - montar y desmontar unidades en linux
Linux   ud8 - montar y desmontar unidades en linuxLinux   ud8 - montar y desmontar unidades en linux
Linux ud8 - montar y desmontar unidades en linux
 
Linux ud7 - gestion de procesos
Linux   ud7 - gestion de procesosLinux   ud7 - gestion de procesos
Linux ud7 - gestion de procesos
 
Linux ud6 - permisos de archivos
Linux   ud6 - permisos de archivosLinux   ud6 - permisos de archivos
Linux ud6 - permisos de archivos
 
Linux ud5 - gestion de usuarios
Linux   ud5 - gestion de usuariosLinux   ud5 - gestion de usuarios
Linux ud5 - gestion de usuarios
 
Linux ud4 - editor vi
Linux   ud4 - editor viLinux   ud4 - editor vi
Linux ud4 - editor vi
 
Linux ud2 - comandos gestion archivos
Linux   ud2 - comandos gestion archivosLinux   ud2 - comandos gestion archivos
Linux ud2 - comandos gestion archivos
 
Linux ud1 - introduccion linux
Linux   ud1 - introduccion linuxLinux   ud1 - introduccion linux
Linux ud1 - introduccion linux
 
Linux ud15 - controlador de dominio en linux
Linux   ud15 - controlador de dominio en linuxLinux   ud15 - controlador de dominio en linux
Linux ud15 - controlador de dominio en linux
 

Linux ud3 - redireccionamiento y tuberias

  • 1. UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS Eduard Lara 1
  • 2. 1. INTRODUCCIÓN En los sistemas GNU/LINUX y UNIX los dispositivos como los discos duros y sus particiones, el terminal de pantalla, el teclado, el ratón o incluso la tarjeta de audio están mapeados en el sistema de archivos. Esta característica permite a los programas interactuar con los dispositivos de la misma manera que los archivos, simplificando su interfase de acceso. Los dispositivos que mapean las operaciones de E/S hacia un archivo poseen un archivo de dispositivo (device file) que es un objeto especial del sistema de archivos que proporciona la interfase con el dispositivo. Un programa que lea el archivo de dispositivo del terminal, leerá los caracteres introducidos por teclado 2
  • 3. 1. ENTRADA/SALIDA ESTANDAR Y LOS DESCRIPTORES DE ARCHIVO La Entrada Salida estándar es la capacidad del intérprete de comandos o shell para controlar y dirigir: - La entrada de datos de los programas, - La salida de información útil - La salida de información de errores. Cuando un programa se ejecuta, automáticamente se le proporcionan 3 descriptores de archivo: - Entrada estándar (stdin) - Salida estándar (stdout) - Error estándar (stderr) 3
  • 4. 1. ENTRADA/SALIDA ESTANDAR Y LOS DESCRIPTORES DE ARCHIVO Entrada estándar (stdin) o descriptor de archivo 0 El descriptor de archivo STDIN está asociado a la entrada de texto. Por defecto está asociado al teclado. Salida estándar (stdout) o descriptor de archivo 1 El descriptor de archivo STDOUT se corresponde con la salida de texto normal de los programas. Por defecto está asociado al terminal de pantalla. Error estándar (stderr) o descriptor de archivo 2 El descriptor de archivo STDERR también es una salida de texto, pero se usa exclusivamente para mostrar los errores generados por los programas. Por defecto también está asociado al terminal de pantalla. 4
  • 5. 2. TUBERIAS Desde el punto de vista de un programa no hay diferencia entre leer texto guardado en un archivo o introducido mediante el teclado. Escribir un texto en un archivo o en la pantalla del terminal también son operaciones equivalentes. Extendiendo esta idea es también posible enlazar la salida de un programa con la entrada de otro. Esta operación se puede realizar mediante una tubería (pipe) que une dos comandos en uno solo. Por ejemplo: $ls –l | more La tubería redirecciona la salida del comando ls –l hacia el paginador more, que permite visualizar la información pantalla a pantalla. 5
  • 6. 3. REDIRECCIONAMIENTO El descriptor stdout de los programas está asociado por defecto a la pantalla del terminal. Pero de la misma manera que es posible redireccionar la salida de un comando a la entrada de otro, también es posible redireccionar cualquiera de los tres descriptores a un archivo. 6
  • 7. 3. REDIRECCIONAMIENTO operador descripción cmd < file El contenido de file se utilizará como entrada de la orden cmd cmd 1> file1 La salida estándar de la orden cmd se guardará en file. Si el cmd > file1 archivo file existe se sobrescribirá. cmd 1>> file1 La salida estándar de la orden cmd se guardará en file. La cmd >> file1 información se escribirá al final del archivo. Los errores de la orden cmd se guardarán en file. Si el archivo file cmd 2> file2 existe se sobrescribirá. Los errores de la orden cmd se guardarán en file. La información se cmd 2>> file2 escribirá al final del archivo. La salida estándar y la de errores de la orden cmd se guardarán en cmd > file 2>&1 file. Si el archivo file existe se sobrescribirá. La salida estándar y la de errores de la orden cmd se guardarán en cmd >> file 2>&1 file. La información se escribirá al final del archivo. Redirecciona la salida del comando cmd1 hacia la entrada del cmd1 | cmd2 comando cmd2. 7
  • 8. 3. REDIRECCIONAMIENTO Ejemplos Redireccionamiento $ls –lR > file La salida estándar de la orden ls –lR (listado de archivos y subdirectorios que contiene el directorio actual de forma recursiva) se guarda en el archive file. $mkdir directory 2> error Si al crear el directorio directory se produce algún error (por ejemplo el directorio ya existe o el usuario no tiene permisos de escritura) el mensaje del error se guardará en el archivo error. $cp –vf /root /home/alumno > file 2> error La lista de todos los archivos copiados (atención a la opción –v de la orden cp) se guardará en el archivo file. Los errores que se produzcan en la ejecución de la orden se almacenarán en el archivo error. 8
  • 9. 3. REDIRECCIONAMIENTO $cp –vf /root /home/alumno >> file La lista de todos los archivos copiados se escribirá en el archivo file. Si el archivo file ya existe la lista se escribirá al final del archivo, manteniendo la información previa. $wc –l < file Cuenta el número de líneas del archivo file. $cd /root/setup 2> null Redirecciona la salida de error hacia el dispositivo nulo. El mensaje de error no se escribirá en ninguna parte. $ls –l | grep vmlinux Redirecciona la salida de la orden ls hacia la orden grep, que mostrará únicamente las líneas que contienen la palabra vmlinux. 9
  • 10. 4. COMANDOS more Sintaxis: more file El comando more es un paginador de archivos que permite ver el contenido del archivo file pantalla a pantalla. Al mostrar una pantalla completa la visualización del documento se detiene hasta que el usuario indica que quiere ver otra pantalla más con la tecla SPACE. La tecla Q/q permite salir del programa. 10
  • 11. 4. COMANDOS less Sintaxis: less file El comando less es un paginador de ficheros más potente que la orden more. Permite desplazarse hacia delante y atrás en los archivos. Órdenes: Teclas Función B ó b Desplaza una pantalla hacia atrás el contenido del archivo. RETURN Desplaza una línea hacia delante el contenido del archivo. SPACE Desplaza una pantalla hacia delante el contenido del archivo. /pattern Busca hacia delante el pattern dentro del archivo file. H ó h Muestra un texto de ayuda. Q ó q Sale del programa. 11
  • 12. 4. COMANDOS grep Sintaxis: grep [options] regex files Busca en los archivos especificados las líneas que contienen una coincidencia con la expresión proporcionada en regex. Por defecto mostrará las líneas que contienen una coincidencia y ocultará las que no tengan ninguna coincidencia. Opciones: -c Muestra el número de líneas que contienen la expresión, no muestra el contenido de las líneas. -i No hace diferencias entre mayúsculas y minúsculas al comparar la expresión. -v Muestra todas las líneas que NO tienen ninguna coincidencia y oculta las que contienen alguna coincidencia. 12
  • 13. 4. COMANDOS Ejemplos Grep: $ls –AlR /* | grep –ic .gif La tubería redirecciona la salida del comando ls –AlR /* (listar en formato largo todos los archivos del sistema incluido los ocultos) al comando grep. El comando grep mostrará el número de coincidencias con la expresión .gif independientemente si este escrito en minúsculas o mayúsculas. $ls –AlR /root/* | grep –iv root El comando grep mostrará todos los archivos del directorio /root que no pertenecen al usuario o grupo root. 13
  • 14. 4. COMANDOS sort Sintaxis: sort [options] file Ordena los registros o líneas de uno o más archivos y lo muestra por la salida estándar (pantalla). La ordenación se puede hacer por el primer carácter, por el primer campo de la línea o por un campo distinto al primero en el caso de ficheros estructurados. Opciones: -n Ordena los campos numéricos por su valor numérico. -r Realiza una ordenación inversa (de mayor a menor). -k numero Indica la columna en la que vamos hacer la ordenación. -t Indica el delimitador de campos que encontraremos diferente de espacio en blanco (separador por defecto de las columnas) -u Suprime todas las líneas repetidas después de la ordenación. -o Indica el fichero de salida en lugar de la salida estándar 14
  • 15. 4. COMANDOS Ejemplos sort sort fichero Se realizaría la ordenación y el resultado se mostraría por pantalla. sort fichero > fichero_ordenado Obtener el resultado de la ordenación en un fichero, sort fichero1 fichero2 > fichero3 Ordena varios ficheros y añadimos el resultado a otro. sort -o f1 f1 Ordena un fichero y dejamos el resultado de la ordenación en el mismo fichero sort -t, -k3 Ordena un fichero el que los campos están separados por comas, por el campo número 3: cat /etc/passwd | sort -t":" -k3n Ordena el fichero de usuarios por la columna uid. El fichero passwd utiliza separadores “:” 15
  • 16. PRACTICA 2 REDIRECCIONAMIENTO Y TUBERIAS Paso 1. Enumera y explica los tres tipos de descriptores asociados a los programas del intérprete de comandos. Paso 2. Listar todos los archivos del sistema mediante el formato largo y filtrar mediante la orden grep aquellos que contienen la palabra http independientemente si están escritos en mayúsculas o minúsculas. Paso 3. Obtener un listado de los ficheros del directorio /etc, ordenado por tamaño de archivo. Indica cual es la columna de la salida del comando ls que debemos ordenar mediante la opción –k del comando sort (utilizar la pipe ls | sort) Paso 4. Obtener un listado por pantalla de los ficheros del directorio /etc, ordenado de mayor a menor por tamaño de archivo. Paso 5. Obtener un listado de los ficheros del directorio actual, ordenado por nombre del archivo. Paso 6. Desde tu directorio personal, crea el árbol de directorio Usuarios/Administradores/Red_local con una sola instrucción. 16
  • 17. PRACTICA 2 REDIRECCIONAMIENTO Y TUBERIAS Paso 7. Crea un fichero de texto llamado “usuarios” en el directorio Red local y complétalo con el siguiente contenido: Admin, Pass: 1234 Pere, Pass: 1325 Villacampa, Pass: stucom Xavi, Pass: bcn Laia, Pass: gracia Paso 8. Lista el contenido de tu carpeta de usuario y añádelo al final del archivo Usuarios. Paso 9. Con el comando sort ordena el fichero Usuarios. Repite el proceso volcando el resultado en el fichero SortedUsers. Mediante el comando Cat visualiza el fichero SortedUsers Paso 10. Con el comando sort ordena el fichero Usuarios según el campo password. Vuelca el resultado en el fichero SortedPass. Mediante el comando Cat visualiza el fichero SortedPass. 17
  • 18. PRACTICA 2 REDIRECCIONAMIENTO Y TUBERIAS Paso 11. Mediante la orden grep contar el número de líneas que contienen el patrón “pass” en el archivo Usuarios. Paso 12. Renombrar el archivo Usuarios a Users Paso 13. Crea un fichero de texto llamado Admins en el directorio Red local y complétalo con el siguiente contenido: Local PASS: 1234 Xavi Sánchez Laia Sonsola Remoto1, PASS: 1325 Remoto2, PASS: stucom Paso 14. Filtra todas las líneas que contienen el patrón pass de los ficheros Admins y Users. Vuelca el contenido en un fichero pass Paso 15. Visualizar pantalla a pantalla y línea a línea mediante la orden less el contenido del directorio personal del usuario actual. ¿Qué ordenes del programa less habéis usado? 18
  • 19. PRACTICA 2 REDIRECCIONAMIENTO Y TUBERIAS Paso 16. Crear el directorio test en el directorio personal del usuario actual. Paso 17. Crear otra vez el directorio test en el directorio personal del usuario actual y redireccionar la salida de error al archivo error.txt. Con la orden more visualizar el contenido del archivo error.txt. Paso 18. Buscar el número de archivos con terminación .gif en todo el sistema (utilizar la orden grep) Paso 19. Lista el contenido de todas los directorios o archivos contenidos en el directorio /etc y a su vez el contenido de cada directorio cuya sexta letra del nombre sea a. 19