Tabla de Contenidos
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ó?
man
Ejecute el siguiente comando y lea brevemente la descripción. ¿Qué hace man?
man man
Ejecute los siguientes comandos. ¿Son lo mismo? Como desarrolladores, ¿Cuál nos interesa más?
man printf man 1 printf man 3 printf
ls:
Ejecute el siguiente comando y lea brevemente la descripción. ¿Qué hace ls?
man ls
Ejecute el siguiente comando y observe la salida. ¿Reconoce alguna carpeta?
ls
Ejecute el siguiente comando y observe la salida. ¿Qué son los archivos y carpetas con punto adelante?
ls -a
Ejecute el siguiente comando y observe la salida. ¿Qué representan las diversas columnas?
ls -l
Ejecute los siguientes comandos. ¿Son lo mismo?
ls -a -l ls -al
Ejecute los siguientes comandos. ¿Qué es lo que estamos haciendo?
ls ~ ls / ls /home
pwd:
Ejecute el siguiente comando. ¿Qué hace pwd?
man pwd
Ejecute el siguiente comando. ¿En qué directorio estamos trabajando?
pwd
cd:
Ejecute el siguiente comando. ¿Por qué falló?
man cd
Ejecute el siguiente comando. ¿Qué hace cd? ¿Por qué no está en el manual (usar google)?
help cd
Ejecute los siguientes comandos. ¿Qué hizo cd? ¿Qué carpeta lista ls cuando no tiene parámetros?
ls cd / pwd ls
Ejecute los siguientes comandos. ¿Qué representan . y .. en linux?
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?
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.
bash | tee log_clase_1.txt
mkdir:
Ejecute el siguiente comando. ¿Qué hace mkdir?
man mkdir
Ejecute los siguientes comandos para crear una carpeta en la cual trabajar.
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.
mkdir dir0 ls
Ejecute los siguientes comandos. ¿Por qué falló el primero? ¿Cómo lo solucionamos?
mkdir dir1/dir2 mkdir -p dir1/dir2 ls
Ejecute los siguientes comandos para crear un archivo con el que poder ejecutar los siguientes comandos.
ls >> arch0.txt ls
El comando de dirección de flujo » redirige el flujo de salida y lo agrega al final de un archivo. 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:
./a.out 2>>log.txt
Ejecute (si quiere) el comando para instalar un paquete llamado tree, que permite mostrar de forma bonita carpetas y archivos de forma recursiva.
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.
find
cp
Ejecute el siguiente comando. ¿Qué hace cp?
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.
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?
cp -r dir1/dir2 . cp arch0.txt dir3/ tree
mv
Ejecute el siguiente comando. ¿Qué hace mv?
man mv
Ejecute los siguientes comandos. ¿Qué hizo cada uno?
mv arch0.txt dir0/ tree mv dir0/arch0.txt arch1.txt tree mv dir0 dir4 tree
rm
Ejecute el siguiente comando. ¿Qué hace rm?
man rm
Ejecute cuidadosamente (rm no perdona) los siguientes comandos y observe sus efectos.
rm arch1.txt tree
Ejecute cuidadosamente los siguientes comandos. ¿Por qué falló el primero? ¿Cómo lo solucionamos?
rm dir4 rm -d dir4 tree
Ejecute cuidadosamente los siguientes comandos. ¿Por qué falló el primero? ¿Por qué la solución es distinta?
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.
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 “log_clase_1.txt” que deberá enviar para la corrección del tp.
exit ls -l | grep log_clase_1.txt
Si decide que no quiere más el paquete tree, ejecute el siguiente comando para eliminarlo.
sudo apt purge tree