guia_de_ejercicios_de_bash
Diferencias
Muestra las diferencias entre dos versiones de la página.
guia_de_ejercicios_de_bash [2020/04/14 17:33] – creado pvassena | guia_de_ejercicios_de_bash [2020/04/14 17:53] (actual) – borrado pvassena | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== Guía de Linux ====== | ||
- | Práctica básica de los comandos más comunes de GNU/linux en bash. | ||
- | |||
- | Para abrir un terminal, utilice el atajo de teclado [Ctrl+Alt+t] o busque en los menús de su distribución. | ||
- | |||
- | ===== man: ===== | ||
- | |||
- | Ejecute el siguiente comando. ¿Por qué falló? | ||
- | |||
- | <code bash> | ||
- | $ man | ||
- | </ | ||
- | |||
- | Ejecute el siguiente comando y lea brevemente la descripción. ¿Qué hace //man//? | ||
- | |||
- | <code bash> | ||
- | $ man man | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Son lo mismo? Como desarrolladores, | ||
- | |||
- | <code bash> | ||
- | $ man printf | ||
- | $ man 1 printf | ||
- | $ man 3 printf | ||
- | </ | ||
- | |||
- | ===== ls: ===== | ||
- | |||
- | Ejecute el siguiente comando y lea brevemente la descripción. ¿Qué hace //ls//? | ||
- | |||
- | <code bash> | ||
- | $ man ls | ||
- | </ | ||
- | |||
- | Ejecute el siguiente comando y observe la salida. ¿Reconoce alguna carpeta? | ||
- | |||
- | <code bash> | ||
- | $ ls | ||
- | </ | ||
- | |||
- | Ejecute el siguiente comando y observe la salida. ¿Qué son los archivos y carpetas con punto adelante? | ||
- | |||
- | <code bash> | ||
- | $ ls -a | ||
- | </ | ||
- | |||
- | Ejecute el siguiente comando y observe la salida. ¿Qué representan las diversas columnas? | ||
- | |||
- | <code bash> | ||
- | $ ls -l | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Son lo mismo? | ||
- | |||
- | <code bash> | ||
- | $ ls -a -l | ||
- | $ ls -al | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Qué es lo que estamos haciendo? | ||
- | |||
- | <code bash> | ||
- | $ ls ~ | ||
- | $ ls / | ||
- | $ ls /home | ||
- | </ | ||
- | |||
- | ===== pwd: ===== | ||
- | |||
- | Ejecute el siguiente comando. ¿Qué hace //pwd//? | ||
- | |||
- | <code bash> | ||
- | $ man pwd | ||
- | </ | ||
- | |||
- | Ejecute el siguiente comando. ¿En qué directorio estamos trabajando? | ||
- | <code bash> | ||
- | $ pwd | ||
- | </ | ||
- | |||
- | ===== cd: ===== | ||
- | |||
- | Ejecute el siguiente comando. ¿Por qué falló? | ||
- | |||
- | <code bash> | ||
- | $ man cd | ||
- | </ | ||
- | |||
- | Ejecute el siguiente comando. ¿Qué hace //cd//? ¿Por qué no está en el manual (usar google)? | ||
- | |||
- | <code bash> | ||
- | $ help cd | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Qué hizo //cd//? ¿Qué carpeta lista //ls// cuando no tiene parámetros? | ||
- | |||
- | <code bash> | ||
- | $ ls | ||
- | $ cd / | ||
- | $ pwd | ||
- | $ ls | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Qué representan . y .. en linux? | ||
- | |||
- | <code bash> | ||
- | $ cd / | ||
- | $ pwd | ||
- | $ ls | ||
- | $ cd /home | ||
- | $ pwd | ||
- | $ ls | ||
- | $ cd . | ||
- | $ pwd | ||
- | $ ls | ||
- | $ cd .. | ||
- | $ pwd | ||
- | $ ls | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Qué es ~ en linux? ¿A qué directorio cambia //cd// cuando no tiene parámetros? | ||
- | |||
- | <code bash> | ||
- | $ cd ~ | ||
- | $ pwd | ||
- | $ cd | ||
- | $ pwd | ||
- | </ | ||
- | |||
- | Ejecute el siguiente comando para iniciar una sesión de bash adentro de su sesión de bash, | ||
- | permitiendo guardar el flujo de salida en un archivo. //bash// es para ejecutar la shell, //|// | ||
- | es para redirigir la salida de un comando a la entrada de otro, y //tee// sirve para guardar | ||
- | una copia del flujo de salida en un archivo. No es necesario que lo aprendan ahora, | ||
- | ya lo van a ver en profundidad cuando vean Pipes, | ||
- | pero si les interesa está muy bueno y es útil. | ||
- | |||
- | <code bash> | ||
- | $ bash | tee log_clase_1.txt | ||
- | </ | ||
- | |||
- | ===== mkdir: ===== | ||
- | |||
- | Ejecute el siguiente comando. ¿Qué hace //mkdir//? | ||
- | |||
- | <code bash> | ||
- | $ man mkdir | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos para crear una carpeta en la cual trabajar. | ||
- | |||
- | <code bash> | ||
- | $ mkdir practicalinux | ||
- | $ cd practicalinux | ||
- | $ pwd | ||
- | </ | ||
- | |||
- | A partir de aquí asumimos que ya sabe como detectar en qué directorio están trabajando, | ||
- | utilizando pwd o observando el directorio en el prompt de su terminal, | ||
- | por lo que no lo volveremos a mencionar. | ||
- | |||
- | Ejecute el siguiente comando y observe la salida. | ||
- | |||
- | <code bash> | ||
- | $ mkdir dir0 | ||
- | $ ls | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Por qué falló el primero? ¿Cómo lo solucionamos? | ||
- | |||
- | <code bash> | ||
- | $ mkdir dir1/dir2 | ||
- | $ mkdir -p dir1/dir2 | ||
- | $ ls | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos para crear un archivo con el que poder ejecutar los siguientes comandos. | ||
- | |||
- | <code bash> | ||
- | $ ls >> arch0.txt | ||
- | $ ls | ||
- | </ | ||
- | |||
- | El comando de dirección de flujo //>>// | ||
- | Este tipos de comandos (de direccionamiento de flujo) son una herramienta muy poderosa | ||
- | que le da un gran poder a los usuarios avanzados de linux para diversas tareas cotidianas. | ||
- | Un ejemplo que puede servir para informática 1, es al hacer logging, emitir los logs por stderr | ||
- | y redirigir stderr a un archivo, utilizando el comando: | ||
- | |||
- | <code bash> | ||
- | $ ./a.out 2>> | ||
- | </ | ||
- | |||
- | Ejecute (si quiere) el comando para instalar un paquete llamado //tree//, | ||
- | que permite mostrar de forma bonita carpetas y archivos de forma recursiva. | ||
- | |||
- | <code bash> | ||
- | $ sudo apt install tree | ||
- | </ | ||
- | |||
- | En caso de no querer descargar el paquete, puede realizar una función similar | ||
- | ejecutando este comando en su lugar cuando sea necesario. | ||
- | |||
- | <code bash> | ||
- | $ find | ||
- | </ | ||
- | |||
- | ===== cp ===== | ||
- | |||
- | Ejecute el siguiente comando. ¿Qué hace //cp//? | ||
- | |||
- | <code bash> | ||
- | $ man cp | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Por qué falló el primero? ¿Cómo lo solucionamos? | ||
- | Ejecutamos tanto //tree// como //find// para que los que instalaron //tree// puedan ver las diferencias entre ambos. | ||
- | |||
- | <code bash> | ||
- | $ cp dir1/dir2 dir_3 | ||
- | $ cp -r dir1/dir2 dir_3 | ||
- | $ tree | ||
- | $ find | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Qué hizo el primero? ¿Qué hizo el segundo? | ||
- | |||
- | <code bash> | ||
- | $ cp -r dir1/dir2 . | ||
- | $ cp arch0.txt dir3/ | ||
- | $ tree | ||
- | </ | ||
- | |||
- | ===== mv ===== | ||
- | |||
- | Ejecute el siguiente comando. ¿Qué hace //mv//? | ||
- | |||
- | <code bash> | ||
- | $ man mv | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. ¿Qué hizo cada uno? | ||
- | |||
- | <code bash> | ||
- | $ mv arch0.txt dir0/ | ||
- | $ tree | ||
- | $ mv dir0/ | ||
- | $ tree | ||
- | $ mv dir0 dir4 | ||
- | $ tree | ||
- | </ | ||
- | |||
- | ===== rm ===== | ||
- | |||
- | Ejecute el siguiente comando. ¿Qué hace //rm//? | ||
- | |||
- | <code bash> | ||
- | $ man rm | ||
- | </ | ||
- | |||
- | Ejecute cuidadosamente (//rm// no perdona) los siguientes comandos y observe sus efectos. | ||
- | |||
- | <code bash> | ||
- | $ rm arch1.txt | ||
- | $ tree | ||
- | </ | ||
- | |||
- | Ejecute cuidadosamente los siguientes comandos. ¿Por qué falló el primero? ¿Cómo lo solucionamos? | ||
- | |||
- | <code bash> | ||
- | $ rm dir4 | ||
- | $ rm -d dir4 | ||
- | $ tree | ||
- | </ | ||
- | |||
- | Ejecute cuidadosamente los siguientes comandos. ¿Por qué falló el primero? ¿Por qué la solución es distinta? | ||
- | |||
- | <code bash> | ||
- | $ rm -d dir3 | ||
- | $ rm -r dir3 | ||
- | $ tree | ||
- | </ | ||
- | |||
- | ===== Finalización ===== | ||
- | |||
- | Ejecute estos comandos para eliminar recursivamente todos los archivos creados, | ||
- | dejando su computadora como estaba al inicio de la práctica. | ||
- | |||
- | <code bash> | ||
- | $ cd .. | ||
- | $ rm -r practicalinux | ||
- | </ | ||
- | |||
- | Ejecute los siguientes comandos. El primero sale de la sesión de bash interna. | ||
- | El segundo le muestra que existe un archivo llamado " | ||
- | deberá enviar para la corrección del tp. | ||
- | |||
- | <code bash> | ||
- | $ exit | ||
- | $ ls -l | grep log_clase_1.txt | ||
- | </ | ||
- | |||
- | Si decide que no quiere más el paquete //tree//, | ||
- | ejecute el siguiente comando para eliminarlo. | ||
- | |||
- | <code bash> | ||
- | $ sudo apt purge tree | ||
- | </ |
guia_de_ejercicios_de_bash.1586900023.txt.gz · Última modificación: 2020/04/14 17:33 por pvassena