redirecciones y pipes - date - cal

Post on 23-Jan-2018

241 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

REDIRECCIONE

S Y PIPESProf. Pablo Macón

profemacon@gmail.com

http://pablomacon.wix.com/home

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

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

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

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

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

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

REDIRECCIONAR LA

SALIDA

Utilizamos el operador >> (doble mayor que)

ls -l /etc >listadoEtcBin

ls -l /bin >listadoEtcBin

cat listadoEtcBin

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

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.

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

COMANDO tr

Traduce un conjunto de caracteres en otro

Ejemplo:

tr a e

escriban hola y tecleen enter

¿Qué ocurre?

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

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

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.

TUBERÍAS - PIPES

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

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.

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

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

MÁS COMANDOSDATE / CAL / CAT / DU

EL COMANDO date

21

• Utilidad: Muestra la fecha y hora del

sistema. Puede ser utilizado para

programar tareas en combinación con

otros comandos.

EL COMANDO date

22

Sintaxis:

date [opciones/modificadores] [argumentos]

La opción - d, permite trabajar con elementos

relativos.

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

ELEMENTOS RELATIVOS

Ejemplos:

date

mar jul 23 15:52:35 UYT 2013

date -d "today"

mar jul 23 15:49:01 UYT 2013

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

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

• date admite modificadores de formato

para personalizar la salida.

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

• Algunos modificadores son:

MODIFICADORES

%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

%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

Ejemplos:

date +%a

mar

date +%A

martes

MODIFICADORES

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’

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

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.

COMANDO cal

Utilidad: muestra por pantalla el calendario.

Sintaxis:

cal [opciones] [argumentos].

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.

COMANDO catUtilidad: sirve para concatenar archivos y

mostrarlos por la salida estándar.

Sintaxis:

cat [opciones] [archivo/s]

COMANDO cat

Opciones:

n Numera todas las líneas de salida

b Numera aquellas líneas de salida que no

estén en blanco.

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).

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.

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

top related