Herramientas de usuario

Herramientas del sitio


practica_de_linux

¡Esta es una revisión vieja del documento!


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
practica_de_linux.1586901225.txt.gz · Última modificación: 2020/04/14 17:53 por pvassena