40
REDIRECCIONES Y PIPES Prof. Pablo Macón 2IB http://soii-its.blogspot.com

Redirecciones / Tuberias / Comandos básicos

Embed Size (px)

DESCRIPTION

Comandos Linux, Sistemas operativos

Citation preview

Page 1: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONES Y PIPES

Prof. Pablo Macón2IBhttp://soii-its.blogspot.com

Page 2: Redirecciones / Tuberias / Comandos básicos

Todos los flujos de datos de entrada o salida se manejan del mismo modo

Hay tres archivos especiales

Entrada Estándar stdin TECLADO

Salida Estándar stdout PANTALLA

Error Estándar stderr PANTALLA

EN LINUX TODO ES UN ARCHIVO

Page 3: Redirecciones / Tuberias / Comandos básicos

Como se manejan del mismo modo que otros archivos, esos flujos de datos pueden re-direccionarse a otros archivos

EN LINUX TODO ES UN ARCHIVO

Page 4: Redirecciones / Tuberias / Comandos básicos

EN LINUX TODO ES UN ARCHIVOPodemos crear un archivo con el flujo de

datos que debería imprimirse en la pantalla a la salida de un comando

Podemos hacer que un comando tome datos desde un archivo en lugar del teclado

Page 5: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONAR LA SALIDA

Utilizamos el operador > (mayor que)ls -l /etc > listadoEtcGuarda el resultado del comando ls -l /etc en un archivo llamado listadoEtc y podemos ver su contenido con el comando:cat listadoEtc

Page 6: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONAR LA SALIDA

Utilizamos el operador > (mayor que)Si no existe el archivo, lo crea (aunque hubiera

un error y no guarde nada dentro).Si el archivo existe, entonces lo sobre-escribe,

borra todo el contenido anterior

Page 7: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONAR LA SALIDA

Utilizamos el operador >> (doble mayor que)Si no existe el archivo, lo crea (igual que >)Pero si el archivo existe, agrega al final del

archivo, sin borrar todo lo que contenía

Page 8: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONAR LA SALIDA

Utilizamos el operador >> (doble mayor que)

ls -l /etc >listadoEtcBinls -l /bin >listadoEtcBin

cat listadoEtcBin

Page 9: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONAR EL ERROR

Utilizamos los operadores 2> o 2>>

Cuando queremos listar un archivo que no existe, el comando ls nos va a dar un error en pantalla, podemos enviar ese error a un archivo, bien porque no queremos que nos moleste en la pantalla o mejor, porque queremos llevar un registro de los errores

Page 10: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONAR EL ERROR

ls -l /etc/algo >errorlistadols: no se puede acceder a /etc/algo: No existe el fichero o el directorio ls -l /ect/algo 2>errorlistadoNo aparece más nada en pantalla, aunque hubo un error y si hacemos cat errorlistado vamos a ver el mensaje.

Page 11: Redirecciones / Tuberias / Comandos básicos

COMANDO trTraduce un conjunto de caracteres en otro conjuntoSintaxis:tr conjunto1 conjunto2 (espacio entre los conjuntos)tr toma de la entrada estándar y escribe en la salida

estándar

Page 12: Redirecciones / Tuberias / Comandos básicos

COMANDO trTraduce un conjunto de caracteres en otroEjemplo:

tr a e

escriban hola y tecleen enter ¿Qué ocurre?

Page 13: Redirecciones / Tuberias / Comandos básicos

COMANDO trPodemos hacer cosas más interesantes redireccionando la entrada, haciendo que la entrada del comando tr sea un archivo como el archivo /etc/passwdPara re-direccionar la entrada usamos < (menor que)tr a e </etc/passwd

Page 14: Redirecciones / Tuberias / Comandos básicos

REDIRECCIONAR LA ENTRADA

Podemos redirigir ambas entrada y salida y en lugar de ver en pantalla el resultado hacer un archivo nuevo con el resultado del comandotr [a-z] [A-Z] </etc/passwd > nuevoPasswd

luego para ver el contenido de nuevoPasswd hacemos cat nuevoPasswd

Page 15: Redirecciones / Tuberias / Comandos básicos

TUBERÍAS - PIPESUna tubería es un camino que se establece entre dos

comandos diferentes. Se puede unir dos comandos mediante una tubería

(o pipe)La salida del primer comando se convertirá en la

entrada del segundo comando.

Page 16: Redirecciones / Tuberias / Comandos básicos

TUBERÍAS - PIPESSe utiliza el operador “|” o “¦” dependiendo de la terminal que usemos.

Page 17: Redirecciones / Tuberias / Comandos básicos

TUBERÍAS - PIPESSi queremos saber cuántas líneas me insume la salida ls -l, podemos poner:

ls –l /etc ¦ cat –n

cat va a tomar como entrada la salida del ls y va a numerar las líneas.

Page 18: Redirecciones / Tuberias / Comandos básicos

TUBERÍAS - PIPES

También podemos usar los comandos more y less, que lo que hacen es paginar la salida

Entonces: ls -l | more nos va permitir ir bajando línea a línea y tener más control sobre la pantalla

Page 19: Redirecciones / Tuberias / Comandos básicos

TUBERÍAS - PIPESEl comando less es mejor, se creó después y nos permite subir y bajar por la pantalla

ls -l |less

En cualquiera de los dos digitando la tecla q se sale de esa pantalla

Page 20: Redirecciones / Tuberias / Comandos básicos

MÁS COMANDOSDATE / CAL / CAT / DU

Page 21: Redirecciones / Tuberias / Comandos básicos

EL COMANDO date21

• Utilidad: Muestra la fecha y hora del

sistema. Puede ser utilizado para

programar tareas en combinación con

otros comandos.

Page 22: Redirecciones / Tuberias / Comandos básicos

EL COMANDO date22

Sintaxis:

date [opciones/modificadores] [argumentos]

La opción - d, permite trabajar con elementos

relativos.

Page 23: Redirecciones / Tuberias / Comandos básicos

23

Con esta opción podemos obtener resultados de fechas en el pasado o futuro de manera sencilla.

Algunos argumentos permitidos son: weeks, tomorrow, yesterday, next, ago, last, year, month, day, hour, minute, second.

ELEMENTOS RELATIVOS

Page 24: Redirecciones / Tuberias / Comandos básicos

ELEMENTOS RELATIVOSEjemplos:datemar jul 23 15:52:35 UYT 2013date -d "today"mar jul 23 15:49:01 UYT 2013

Page 25: Redirecciones / Tuberias / Comandos básicos

ELEMENTOS RELATIVOSEjemplos:date -d "tomorrow"mié jul 24 15:49:11 UYT 2013date -d "yesterday"lun jul 22 15:49:17 UYT 2013

Page 26: Redirecciones / Tuberias / Comandos básicos

ELEMENTOS RELATIVOSEjemplos:date -d "yesterday yesterday"dom jul 21 15:49:23 UYT 2013date -d "yesterday yesterday yesterday"sáb jul 20 15:49:32 UYT 2013

Page 27: Redirecciones / Tuberias / Comandos básicos

• date admite modificadores de formato para personalizar la salida.

• Para usar un modificador es necesario anteponer el signo de +.

• Algunos modificadores son:

MODIFICADORES

Page 28: Redirecciones / Tuberias / Comandos básicos

%a Nombre abreviado del día de la semana

%A Nombre completo del día de la semana

%b Nombre abreviado del mes

%B Nombre completo del mes

%d Día del mes con dos dígitos, ejemplo 01

%D Fecha en formato %m/%d/%y

%e Día del mes.

MODIFICADORES

Page 29: Redirecciones / Tuberias / Comandos básicos

%F Fecha en formato %Y-%m-%d

%m Mes con números

%r Hora completa en formato de 12 horas.

%R Horas y minutos en formato de 24 horas.

%T Hora completa en formato de 24 horas.

%u Día de la semana en número (1..7, 1 es lunes)

%Y Año con cuatro dígitos

MODIFICADORES

Page 30: Redirecciones / Tuberias / Comandos básicos

Ejemplos:

date +%a mardate +%A martes

MODIFICADORES

Page 31: Redirecciones / Tuberias / Comandos básicos

MODIFICADORESPuedo crear un patrón utilizando

modificadores, para que me muestre la fecha en el formato que yo quiero:

Con comillas simples ‘ ‘ (no hay espacio entre comillas y signo +

Date +’lo que quiero %modificador’

Page 32: Redirecciones / Tuberias / Comandos básicos

Ejemplos:

date +'ayer fue: %D' -d "yesterday"ayer fue: 07/22/13date +'mañana sera: %D' -d "tomorrow"mañana sera: 07/24/13

MODIFICADORES

Page 33: Redirecciones / Tuberias / Comandos básicos

Cambiando la fecha del sistema

Solo podemos hacerlo si tenemos privilegios de administrador.

Debemos respetar el siguiente patrón:[MMDDhhmmYY][.ss]], donde:

MM = mes; DD = día; hh = hora; mm = minuto; YY = año; ss = segundos.

Page 34: Redirecciones / Tuberias / Comandos básicos

COMANDO calUtilidad: muestra por pantalla el calendario.Sintaxis: cal [opciones] [argumentos].

Page 35: Redirecciones / Tuberias / Comandos básicos

COMANDO calOpciones:

y Muestra el calendario completo del año actual. s Muestra domingo como primer día de la semana. m Muestra lunes como primer día de la semana. 3 Muestra los últimos tres meses.

Page 36: Redirecciones / Tuberias / Comandos básicos

COMANDO catUtilidad: sirve para concatenar archivos y

mostrarlos por la salida estándar. Sintaxis: cat [opciones] [archivo/s]

Page 37: Redirecciones / Tuberias / Comandos básicos

COMANDO catOpciones:

n Numera todas las líneas de salidab Numera aquellas líneas de salida que no estén en blanco.

Page 38: Redirecciones / Tuberias / Comandos básicos

COMANDO du Informa el espacio del disco utilizado por los archivos

especificados.

Sintaxis: du [opciones] [argumentos]

Despliega el numero de bloques en disco que ocupan

los archivos y directorios (por lo general de 512 o

1024 bytes).

Page 39: Redirecciones / Tuberias / Comandos básicos

COMANDO du-a Despliega el espacio en disco de un subdirectorio dado expresado en bloques.-s Totaliza el espacio en bloques, sin dar un detalle de bloques por archivo.-b Tamaños en bytes.-h Muestra los tamaños de archivo en un formato

más legible.

Page 40: Redirecciones / Tuberias / Comandos básicos

COMANDO du-c Muestra en pantalla el espacio total ocupado

por los archivos especificados.-x Omite en el conteo aquellos directorios que pertenezcan a otro sistema de archivos. Ejemplo: Si deseamos ver el espacio ocupado por los

archivos del directorio /sbin, escribimos lo siguiente:

du –sxh /bin