redirecciones / tuberias / comandos básicos
DESCRIPTION
Comandos Linux, Sistemas operativosTRANSCRIPT
REDIRECCIONES Y PIPES
Prof. Pablo Macón2IBhttp://soii-its.blogspot.com
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 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
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
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 >listadoEtcBinls -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 >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.
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
COMANDO trTraduce un conjunto de caracteres en otroEjemplo:
tr a e
escriban hola y tecleen enter ¿Qué ocurre?
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
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
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.
TUBERÍAS - PIPESSe utiliza el operador “|” o “¦” dependiendo de la terminal que usemos.
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.
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 - 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
MÁS COMANDOSDATE / CAL / CAT / DU
EL COMANDO date21
• Utilidad: Muestra la fecha y hora del
sistema. Puede ser utilizado para
programar tareas en combinación con
otros comandos.
EL COMANDO date22
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 RELATIVOSEjemplos:datemar jul 23 15:52:35 UYT 2013date -d "today"mar jul 23 15:49:01 UYT 2013
ELEMENTOS RELATIVOSEjemplos:date -d "tomorrow"mié jul 24 15:49:11 UYT 2013date -d "yesterday"lun jul 22 15:49:17 UYT 2013
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
• 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 mardate +%A martes
MODIFICADORES
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’
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
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 calUtilidad: 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 catOpciones:
n Numera todas las líneas de salidab 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