Este documento describe comandos de redirección y tuberías en Linux. Explica que los flujos de entrada y salida estándar pueden redirigirse a archivos usando operadores como > y >>. También introduce el uso de tuberías para conectar la salida de un comando a la entrada de otro. Finalmente, resume otros comandos como date, cal, cat y du.
2. 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
3. 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
4. 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 datos
desde un archivo en lugar del teclado
5. 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
6. 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
7. 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
9. 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
10. 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.
11. 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
12. COMANDO tr
Traduce un conjunto de caracteres en otro
Ejemplo:
tr a e
escriban hola y tecleen enter
¿Qué ocurre?
13. 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
14. 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 nuevoPasswd
hacemos cat nuevoPasswd
15. 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.
16. TUBERÍAS - PIPES
Se utiliza el operador “|” o “¦” dependiendo de la
terminal que usemos.
17. 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.
18. 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
19. 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
23. 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
26. 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
27. • date admite modificadores de formato
para personalizar la salida.
• Para usar un modificador es necesario
anteponer el signo de +.
• Algunos modificadores son:
MODIFICADORES
28. %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
29. %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
31. 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’
33. 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.
34. COMANDO cal
Utilidad: muestra por pantalla el calendario.
Sintaxis:
cal [opciones] [argumentos].
35. COMANDO cal
Opciones:
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.
36. COMANDO cat
Utilidad: sirve para concatenar archivos y
mostrarlos por la salida estándar.
Sintaxis:
cat [opciones] [archivo/s]
37. COMANDO cat
Opciones:
n Numera todas las líneas de salida
b Numera aquellas líneas de salida que no
estén en blanco.
38. 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).
39. 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.
40. 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