4. Redirección y Tuberías
Redirección de Salida y Entrada
-
Redirección de salida estándar (
>
y>>
)>
: Sobrescribe el contenido de un archivo con la salida de un comando.- Ejemplo:
echo "Hola Mundo" > salida.txt
- Ejemplo:
>>
: Añade la salida de un comando al final de un archivo, sin sobrescribir el contenido existente.- Ejemplo:
echo "Otra línea" >> salida.txt
- Ejemplo:
-
Redirección de entrada estándar (
<
)<
: Utiliza el contenido de un archivo como entrada para un comando.- Ejemplo:
sort < archivo.txt
- Ejemplo:
Redirección de Errores
-
Redirección de errores estándar (
2>
y2>>
)2>
: Redirige los mensajes de error a un archivo.- Ejemplo:
ls archivo_inexistente 2> errores.txt
- Ejemplo:
2>>
: Añade los mensajes de error al final de un archivo.- Ejemplo:
ls otro_archivo_inexistente 2>> errores.txt
- Ejemplo:
-
Redirección de salida y errores estándar
&>
o>&
: Redirige tanto la salida estándar como los errores estándar a un archivo.- Ejemplo:
comando &> todo.txt
- Ejemplo:
Uso de Tuberías
-
Pipes (
|
)|
: Permite enviar la salida de un comando como entrada a otro comando.- Ejemplo:
ls -l | grep "archivo"
- Ejemplo:
-
Comandos comunes con pipes
grep
: Busca un patrón en la entrada.- Ejemplo:
cat archivo.txt | grep "patrón"
- Ejemplo:
sort
: Ordena la entrada.- Ejemplo:
cat archivo.txt | sort
- Ejemplo:
uniq
: Elimina líneas duplicadas de la entrada.- Ejemplo:
cat archivo.txt | sort | uniq
- Ejemplo:
wc
: Cuenta líneas, palabras y caracteres en la entrada.- Ejemplo:
cat archivo.txt | wc -l
- Ejemplo:
-
Combinación de redirección y tuberías
- Redirigir la salida de una tubería a un archivo.
- Ejemplo:
ls -l | grep "archivo" > resultado.txt
- Ejemplo:
- Redirigir la salida de una tubería a un archivo.
Ejercicios de Redirección y Tuberías
Ejercicio 1: Redirección de Salida y Entrada
1.1 Redirige la salida del comando ls
al archivo contenido.txt
.
1.2 Añade una lista de procesos en ejecución al final del archivo contenido.txt
.
1.3 Utiliza el archivo contenido.txt
como entrada para el comando sort
y guarda el resultado en ordenado.txt
.
Ejercicio 2: Redirección de Errores
2.1 Redirige los errores del comando ls
a un archivo llamado errores.txt
.
2.2 Añade los errores generados por el comando ls
al final de errores.txt
.
Ejercicio 3: Uso de Tuberías
3.1 Usa una tubería para contar el número de líneas en el archivo ordenado.txt
.
3.2 Encuentra todas las líneas que contienen la palabra "root" en el archivo /etc/passwd
y redirige la salida a usuarios_root.txt
.
3.3 Combina grep
, sort
y uniq
para encontrar y contar las líneas únicas en el archivo usuarios_root.txt
.
Ejercicio 4: Combinación de Redirección y Tuberías
4.1 Encuentra todos los archivos en el directorio /var/log
que contienen la palabra "error" y guarda el resultado en log_errores.txt
.
4.2 Cuenta el número de líneas en log_errores.txt
que contienen la palabra "failed" y guarda el resultado en conteo_errores.txt
.
4.3 Encuentra y guarda en usuarios_ssh.txt
todos los usuarios que han iniciado sesión mediante SSH listados en /var/log/auth.log
.
Ejercicios con soluciones de Redirección y Tuberías
Ejercicio 1: Redirección de Salida y Entrada
1.1 Redirige la salida del comando ls
al archivo contenido.txt
.
- Solución:
ls > contenido.txt
1.2 Añade una lista de procesos en ejecución al final del archivo contenido.txt
.
- Solución:
ps >> contenido.txt
1.3 Utiliza el archivo contenido.txt
como entrada para el comando sort
y guarda el resultado en ordenado.txt
.
- Solución:
sort < contenido.txt > ordenado.txt
Ejercicio 2: Redirección de Errores
2.1 Redirige los errores del comando ls
a un archivo llamado errores.txt
.
- Solución:
ls archivo_inexistente 2> errores.txt
2.2 Añade los errores generados por el comando ls
al final de errores.txt
.
- Solución:
ls otro_archivo_inexistente 2>> errores.txt
Ejercicio 3: Uso de Tuberías
3.1 Usa una tubería para contar el número de líneas en el archivo ordenado.txt
.
- Solución:
cat ordenado.txt | wc -l
3.2 Encuentra todas las líneas que contienen la palabra "root" en el archivo /etc/passwd
y redirige la salida a usuarios_root.txt
.
- Solución:
grep "root" /etc/passwd > usuarios_root.txt
3.3 Combina grep
, sort
y uniq
para encontrar y contar las líneas únicas en el archivo usuarios_root.txt
.
- Solución:
cat usuarios_root.txt | sort | uniq | wc -l
Ejercicio 4: Combinación de Redirección y Tuberías
4.1 Encuentra todos los archivos en el directorio /var/log
que contienen la palabra "error" y guarda el resultado en log_errores.txt
.
- Solución:
grep "error" /var/log/* > log_errores.txt
4.2 Cuenta el número de líneas en log_errores.txt
que contienen la palabra "failed" y guarda el resultado en conteo_errores.txt
.
- Solución:
grep "failed" log_errores.txt | wc -l > conteo_errores.txt
4.3 Encuentra y guarda en usuarios_ssh.txt
todos los usuarios que han iniciado sesión mediante SSH listados en /var/log/auth.log
.
- Solución:
grep "sshd" /var/log/auth.log | grep "Accepted" > usuarios_ssh.txt