Programación en Ruby. Terminal para principiantes - parte 1
Damian Watroba
Software Engineer
Es hora de hablar del segundo punto (Terminal) de la entrada Cómo empezar a programar en Ruby en 7 pasos. Sin más dilación, te invito a leer el contenido y a seguir con algunos ejercicios prácticos que he preparado para ti. ¡Vamos allá!
Terminal - teoría
El terminal es una herramienta básica en cualquier sistema operativo, también llamada consola o línea de comandos. Cada vez que oigas uno de estos términos, sabrás que se trata de eso. Permite la comunicación con el shell del sistema, por ejemplo, con bass (el shell por defecto de Ubuntu). El shell actúa como intermediario entre el sistema operativo o las aplicaciones y el usuario. En pocas palabras, la consola permite dar órdenes al sistema. No importa en qué idioma programes: cuanto antes domines esta herramienta, mejor. El terminal le servirá para instalar/ejecutar programas en su máquina, gestionar recursos informáticos, navegar por directorios, crear archivos o ejecutar scripts previamente preparados. Estas habilidades son necesarias cuando se gestiona un servidor que no dispone de interfaz gráfica de usuario (GUI).
El atajo de teclado que abre el terminal es ctrl + alt + t
Mucha gente intenta posponer el aprendizaje de la línea de comandos, buscando versiones de programas con una bonita interfaz gráfica. Sin embargo, si quieres empezar la aventura con la programación, el terminal será un elemento indispensable de aprendizaje, así que es hora de hacerse amigos. Los comienzos pueden ser duros, pero no te preocupes.
Terminal - Práctica
En la imagen de arriba, tenemos un terminal de Ubuntu ya abierto donde se puede ver:
damian@rubydev:~$
La primera parte, antes de los dos puntos, no es más que el nombre de usuario que elegimos al instalar Ubuntu y el nombre de nuestro ordenador. Sin embargo, la tilde ~ significa el directorio personal. El último carácter $ es el llamado "prompt". Después se pueden introducir comandos.
¿Dónde estoy?
pwd (Imprimir directorio de trabajo) - siempre devuelve la ruta al lugar donde te encuentras en ese momento. Si te pierdes, siempre puedes utilizar la función pwd mando.
En este punto, vale la pena señalar que inmediatamente después de iniciar la consola siempre se encuentra en su directorio personal, es decir. / inicio / NOMBRE_USUARIOdonde NOMBRE_USUARIO significa tu nombre de usuario.
¡Enséñame lo que tienes!
ls (Lista) - es uno de los comandos más utilizados para mostrar el contenido del directorio en el que se encuentra actualmente.
Los comandos también pueden tomar argumentos (opciones) que modificarán el comportamiento de sus comandos de alguna manera. Puedes escribirlos juntos o por separado, por ejemplo:
damian@rubydev:~$ ls -la
o:
damian@rubydev:~$ ls -l -a
-l es una opción que imprime archivos y directorios en forma de lista con información detallada, mientras que -a o --todos también imprime los archivos ocultos (es decir, los archivos cuyos nombres empiezan por un punto).
Las opciones pasadas suelen ir precedidas de - o --. Otro truco útil es introducir la ruta al directorio cuyo contenido desea comprobar justo después de ls o después de pasar las opciones (si las utilizas). De esta forma, lo harás sin cambiar tu ubicación actual.
En este caso, nos enteramos de qué archivos tenemos en la carpeta Documentos sin moverse del directorio inicial.
¡En marcha!
Es hora de explorar un poco tu sistema y aprender a navegar por él. Utilizaremos el cd (cambiar directorio) para moverse.
Si quiere ir a la Documentos desde su directorio personal, el comando tendrá el siguiente aspecto: cd Documentos. Para asegurarte de que estás en el lugar correcto, puedes comprobarlo con el ya conocido pwd mando:
Si desea volver atrás, puede utilizar cd ..pero recuerda que .. le llevará de vuelta al directorio padre, no al lugar desde el que introdujo el comando. Tal vez esta pantalla ilustre mejor esta cuestión:
También merece la pena conocer algunos atajos que le ayudarán a trabajar con más eficacia. El sitio cd o cd ~ le llevará directamente al directorio de inicio, desde cualquier parte de su sistema.
damian@rubydev:~/Pulpit/Praca$ cd
damian@rubydev:~$ pwd
Elige el / si necesitas llegar al directorio raíz, el llamado "root". Es el directorio básico del sistema, que contiene los directorios con los archivos de configuración, las aplicaciones instaladas y los directorios de usuario (incluido tu directorio personal).
damian@rubydev:~$ cd /
damian@rubydev:/$ pwd
/
Otra cosa que te facilitará el trabajo es utilizar el botón TAB. No tienes que introducir cada vez el nombre completo del directorio al que quieres ir, ni siquiera recordar su nombre completo. Introduciendo la primera letra del catálogo y pulsando TAB, el terminal te sugerirá las opciones disponibles o completará el comando inmediatamente si sólo hay una posibilidad. Vamos a probarlo:
damian@rubydev:/$ cd P[tab]
Pobrane/ Publiczny/ Pulpit/
damian@rubydev:/$ cd P
damian@rubydev:~$ cd D[tab]
damian@rubydev:/$ cd Dokumenty/
Utilizaremos el tabulador con bastante frecuencia en esta sesión de formación.
¿Ayuda?
¿Has olvidado con qué opciones funciona el <codecd? Puedes utilizar el soporte de documentación que te ofrece tu sistema. La dirección hombre (manual):
damian@rubydev:/$ man cd
Esta no es la única manera. También puede utilizar el --ayuda o -h que le mostrará, por ejemplo, una guía de ayuda rápida:
damian@rubydev:~$ ls --help
Tareas:
1. Averigüe qué otras opciones además de -l -a el ls y qué detalles puede aceptar el comando -l devuelve exactamente.
2. Ya que puede navegar por los directorios, familiarícese con la estructura de archivos de su sistema.
Es hora de añadir y cambiar algo.
Para crear nuevos directorios en los que guardar sus proyectos, utilice el comando mkdir (crear directorio) seguido del nombre que desee.
damian@rubydev:~/Pulpit$ mkdir Projekty
damian@rubydev:~/Pulpit$ ls
Praca Projekty
Si desea crear un archivo, puede utilizar la función toque mando:
damian@rubydev:~/Pulpit/Projekty$ touch rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ ls
rubydev.rb
Como puedes añadir nuevos directorios y archivos, ¡también puedes copiarlos! Para copiar los archivos, utilizará la función cp (copiar), y para copiar directorios cp añada el -r (recursivo). Al copiar un archivo / directorio, el comando toma dos parámetros:
el archivo que desea copiar, por ejemplo, el creado anteriormente rubydev.rb archivo,
el lugar al que se copia (puede dar un nuevo nombre a la copia insertándolo al final de la ruta de destino).
He copiado el archivo rubydev.rb al directorio padre, es decir, el directorio Desktop
También puede transferir archivos. Intentemos mover el archivo previamente copiado de nuevo al directorio en el que se encuentra, cambiando su nombre al mismo tiempo.
Movemos el archivo rubydev_copy.rb del directorio padre al directorio en el que nos encontramos actualmente
Para mover archivos y directorios, utilice la función mv (mover), que, al igual que cp - toma dos datos de entrada: qué mover y hacia dónde.
¿Es innecesario? Suprimámoslo.
Como suele ocurrir, después de algún tiempo, tendrás archivos y directorios que ya no necesitas o utilizas. También existen comandos apropiados para eliminar dichos archivos y directorios.
rmdir (eliminar directorio) - elimina el directorio vacío que des como parámetro. Si das más rutas a directorios, los eliminará todos.
rm (eliminar) - elimina el archivo. Para eliminar un directorio con este comando, se utiliza el comando -r -f opción. Este comando sólo acepta un parámetro, a saber, la ruta al fichero o directorio. Si desea eliminar todos los archivos del directorio en el que se encuentra, puede pasar la opción * como parámetro. El comando tendrá entonces el siguiente aspecto: rm *
damian@rubydev:~/Pulpit/Projekty$ ls rubydev_move.rb rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ rm *
damian@rubydev:~/Pulpit/Projekty$ ls
damian@rubydev:~/Pulpit/Projekty$
Antes de usar *asegúrese (con pwd) que se encuentra en el lugar correcto para no borrar archivos importantes.
Las opciones mencionadas anteriormente -r (recursivo, elimina archivos en subdirectorios) y -f (forzar, eliminar sin confirmación, incluidos los archivos protegidos contra el borrado) se utilizan conjuntamente para eliminar un directorio con todo su contenido. Por lo tanto, antes de utilizar rm -rf...tienes que estar seguro de lo que estás quitando.
Tareas:
1. Utilizando man, lea la documentación de los comandos mencionados anteriormente,
2. Crea dos directorios: proyecto_1, proyecto_2
3. Cree tres archivos en el directorio project_1 (cualquier nombre), por ejemplo application.rb, routes.rb, puma.rb
4. Copie todos los archivos de proyecto_1 a proyecto_2y, a continuación, suprimir proyecto_1.
Resumen
Como puedes ver, manejar el terminal no es difícil, sólo requiere un poco de práctica. Para dominarlo realmente, recomiendo usar la terminal para todas las operaciones sencillas. En la segunda parte de este tutorial, te mostraré algunos otros comandos que vale la pena conocer. Hasta luego.