Redirecciones y pipes - Date - Cal

40
REDIRECCIONE S Y PIPES Prof. Pablo Macón [email protected] http://pablomacon.wix.com/home

Transcript of Redirecciones y pipes - Date - Cal

Page 1: Redirecciones y pipes - Date - Cal

REDIRECCIONE

S Y PIPESProf. Pablo Macón

[email protected]

http://pablomacon.wix.com/home

Page 2: Redirecciones y pipes - Date - Cal

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 y pipes - Date - Cal

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 y pipes - Date - Cal

EN LINUX TODO ES UN

ARCHIVO

Podemos 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 datosdesde un archivo en lugar del teclado

Page 5: Redirecciones y pipes - Date - Cal

REDIRECCIONAR LA

SALIDA

Utilizamos el operador > (mayor que)

ls -l /etc > listadoEtc

Guarda 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 y pipes - Date - Cal

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 y pipes - Date - Cal

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 y pipes - Date - Cal

REDIRECCIONAR LA

SALIDA

Utilizamos el operador >> (doble mayor que)

ls -l /etc >listadoEtcBin

ls -l /bin >listadoEtcBin

cat listadoEtcBin

Page 9: Redirecciones y pipes - Date - Cal

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 y pipes - Date - Cal

REDIRECCIONAR EL

ERROR

ls -l /etc/algo >errorlistado

ls: no se puede acceder a /etc/algo: No existe el fichero o el directorio

ls -l /ect/algo 2>errorlistado

No aparece más nada en pantalla, aunque hubo un error y si hacemos cat errorlistado vamos a ver el mensaje.

Page 11: Redirecciones y pipes - Date - Cal

COMANDO tr

Traduce un conjunto de caracteres en otro conjunto

Sintaxis:

tr conjunto1 conjunto2 (espacio entre los conjuntos)

tr toma de la entrada estándar y escribe en la salida estándar

Page 12: Redirecciones y pipes - Date - Cal

COMANDO tr

Traduce un conjunto de caracteres en otro

Ejemplo:

tr a e

escriban hola y tecleen enter

¿Qué ocurre?

Page 13: Redirecciones y pipes - Date - Cal

COMANDO tr

Podemos hacer cosas más interesantes redireccionando la entrada, haciendo que la entrada del comando tr sea un archivo como el archivo /etc/passwd

Para re-direccionar la entrada usamos < (menor que)

tr a e </etc/passwd

Page 14: Redirecciones y pipes - Date - Cal

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 comando

tr [a-z] [A-Z] </etc/passwd > nuevoPasswd

luego para ver el contenido de nuevoPasswdhacemos cat nuevoPasswd

Page 15: Redirecciones y pipes - Date - Cal

TUBERÍAS - PIPES

Una 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 y pipes - Date - Cal

TUBERÍAS - PIPES

Se utiliza el operador “|” o “¦” dependiendo de la terminal que usemos.

Page 17: Redirecciones y pipes - Date - Cal

TUBERÍAS - PIPES

Si 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 y pipes - Date - Cal

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 y pipes - Date - Cal

TUBERÍAS - PIPES

El 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 y pipes - Date - Cal

MÁS COMANDOSDATE / CAL / CAT / DU

Page 21: Redirecciones y pipes - Date - Cal

EL COMANDO date

21

• Utilidad: Muestra la fecha y hora del

sistema. Puede ser utilizado para

programar tareas en combinación con

otros comandos.

Page 22: Redirecciones y pipes - Date - Cal

EL COMANDO date

22

Sintaxis:

date [opciones/modificadores] [argumentos]

La opción - d, permite trabajar con elementos

relativos.

Page 23: Redirecciones y pipes - Date - Cal

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 y pipes - Date - Cal

ELEMENTOS RELATIVOS

Ejemplos:

date

mar jul 23 15:52:35 UYT 2013

date -d "today"

mar jul 23 15:49:01 UYT 2013

Page 25: Redirecciones y pipes - Date - Cal

ELEMENTOS RELATIVOS

Ejemplos:

date -d "tomorrow"

mié jul 24 15:49:11 UYT 2013

date -d "yesterday"

lun jul 22 15:49:17 UYT 2013

Page 26: Redirecciones y pipes - Date - Cal

ELEMENTOS RELATIVOS

Ejemplos:

date -d "yesterday yesterday"

dom jul 21 15:49:23 UYT 2013

date -d "yesterday yesterday

yesterday"

sáb jul 20 15:49:32 UYT 2013

Page 27: Redirecciones y pipes - Date - Cal

• 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 y pipes - Date - Cal

%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 y pipes - Date - Cal

%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 y pipes - Date - Cal

Ejemplos:

date +%a

mar

date +%A

martes

MODIFICADORES

Page 31: Redirecciones y pipes - Date - Cal

MODIFICADORES

Puedo 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 y pipes - Date - Cal

Ejemplos:

date +'ayer fue: %D' -d "yesterday"

ayer fue: 07/22/13

date +'mañana sera: %D' -d "tomorrow"

mañana sera: 07/24/13

MODIFICADORES

Page 33: Redirecciones y pipes - Date - Cal

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 y pipes - Date - Cal

COMANDO cal

Utilidad: muestra por pantalla el calendario.

Sintaxis:

cal [opciones] [argumentos].

Page 35: Redirecciones y pipes - Date - Cal

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 y pipes - Date - Cal

COMANDO catUtilidad: sirve para concatenar archivos y

mostrarlos por la salida estándar.

Sintaxis:

cat [opciones] [archivo/s]

Page 37: Redirecciones y pipes - Date - Cal

COMANDO cat

Opciones:

n Numera todas las líneas de salida

b Numera aquellas líneas de salida que no

estén en blanco.

Page 38: Redirecciones y pipes - Date - Cal

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 y pipes - Date - Cal

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 y pipes - Date - Cal

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