peron:~$ cat terminal.txt

Aprende a usar la terminal en Texto-plano.xyz

                                 ▀▀▀▀█▀▀▀▀ █▀▀▀▀▀ ▀▄    ▄▀ ▀▀▀▀█▀▀▀▀   ▄▀▀▀▄
                                     █     █       ▀▄  █       █     ▄▀     ▀▄
                                     █     █▄▄▄      █▀        █     █       █
                                     █     █        █ ▀▄       █     █       █
    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄     █     █      ▄▀    █      █      ▀▄   ▄▀
    ████████████████████████████     ▀     ▀▀▀▀▀▀ ▀      ▀     ▀        ▀▀▀
    ███                  ███████          █▀▀▄ █    ▄▀▀▄ █  █ ▄▀▀▄
    ███  Bienvenido  a   █IBM███          █▄▄▀ █    █▄▄█ ██ █ █  █
    ███ TEXTO-PLANO.XYZ  ███████          █    █▄▄▄ █  █ █ ▀█ ▀▄▄▀
    ███                  ███████              ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
    ███  Shell Público   ██  ███
    ███  en Castellano   ██▀▀███                 ► Terminales Remotas SSH
    ███                  ██▄▄███
    ████████████████████████████                 ► Cartelera  Electrónica
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
 ████████████████████▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█     ► Gopher  -  WWW -  FTP
 ██IBM███████████████ ═!═[--]══ │          █
 ██▄▄▄███████████████ ───────── │───────── █
 ███│││││││││││██████ ═!═[--]══ │ ===w===  █                       ▄▀█▀▀▀▀█▀▄
 ███│││││││││││██████           │          █       ╔═══════════╕  █▄▄▀▀▀▀▀▀▄▄█
 ███████████████████████████████████████████═══════╢  oooooooo │═══╣███  ███
 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀       ╙───────────╛    ▀▀▀▀▀▀▀▀
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

Ejercicios

¡Recibe una cordial bienvenida!

Texto-plano.xyz es una comunidad de cómputo público en castellano. Sus miembros hacen uso a distancia de una computadora muy pequeña, provista del sistema operativo OpenBSD, similar a UNIX.

Debes operar este entorno por medio de una Interfaz de Línea de Comandos (CLI). Esto significa que normalmente teclearás tus órdenes en lugar de manejar aplicaciones gráficas.

Si nunca has usado una CLI, no hay problema. Estos ejercicios sencillos y explicados, te acompañarán en tu aprendizaje de los rudimentos básicos para hacer la mayoría de los trabajos que desees.

La Shell o "Intérprete de Comandos"

No bien accedas remotamente con tu terminal al entorno texto-plano.xyz, se te mostrará un mensaje de bienvenida con instrucciones simples, ¡y ya estarás listo para operar!.

Para ello usarás el "intérprete de órdenes", o en la jerga, una shell.

Esta shell es un programa capaz reaccionar a las instrucciones que le proporcionas, llamadas "órdenes" o "comandos". La shell también muestra en tu pantalla una señal llamada prompt, que demuestra que el sistema está a tu disposición.

El prompt puede aparecer de la siguiente manera:

fulano@texto-plano.xyz:~$

(Esto significa que eres el usuario "fulano", en el entorno "texto-plano.xyz". El signo $ indica el final del prompt).

Ejercicio 1: Comandos básicos

¿Quién soy? ¿Cómo me llamo?

Prueba introducir tu primer órden para practicar.

Nota: Los comandos que debes utilizar se indican en negrita. Puedes teclearlos o "copiar y pegarlos" en tu terminal.

Teclea en la terminal el comando:

whoami

...y presiona la tecla Intro para enviar la órden. Se transmitirá este comando al intérprete de órdenes remoto, este lo interpretará, cumplirá y devolverá el resultado en tu terminal. Como consecuencia aparecerá en tu pantalla una nueva línea con tu nombre de usuario.

¡Felicitaciones! Ahora sabes cómo te llamas. Serás conocido en nuestro entorno con este nombre de usuario, aunque en estos ejercicios usaremos el nombre de usuario "fulano" a título ilustrativo

. :)

Texto-plano es un sistema de cómputo multiusuario y público. Puedes saber quién más está conectado al centro de cómputo en este preciso momento, introduciendo otra orden:

w

¡No olvides presionar la tecla Intro! El sistema podría indicar qué usuarios están conectados, (columna USER) y qué están haciendo (columna WHAT).

 6:01PM  up 51 days, 17:56, 8 users, load averages: 0.02, 0.07, 0.07
USER    TTY FROM            LOGIN@  IDLE WHAT
mengano p0 32.43.69.74     Tue04AM  1day -bash 
sultano pg 120.12.199.47    3:30PM  2:30 -bash 
fulano       130.123.10.90  9:48AM     0 w
mengana   po 124.24.55.11   5:01PM     0 wordgrinder

De los errores, se aprende. Intenta cometer un error a propósito para aprender; en lugar de utilizar el comando w (con minúscula), introdúce el comando W (con mayuúscula):

W

El sistema podría indicarnos:

bash: comando no encontrado: W

Esto significa que los entornos similares a UNIX son sensibles al uso incorrecto de las mayúsculas o minúsculas. No es lo mismo w (un comando existente y válido) que W (un comando inexistente). Procura ser cuidadoso con el uso de mayúsculas y minúsculas en los nombres de los comandos, así también como los ficheros, y muy especialmnente las contraseñas.

Directorios y archivos

Texto-plano.xyz se basa en un sistema de archivado formado por una estructura de directorios. Deberás conocer su funcionamiento básico para ser efectivo, y a ello dedicaremos los siguientes ejercicios.

La estructura de directorios tiene forma de árbol. En su base se encuentra un directorio maestro llamado "raíz". De su tronco, se desprenden varias "ramas" (directorios). A su vez estos directorios pueden contener múltiples ramas más pequeñas (subdirectorios).

Cada directorio puede contener tanto otros directorios como también archivos.

Para conocer en qué directorio te encuentras en cualquier momento, ingresa el comando:

pwd

Por ejemplo, ahora podrías encontrarte en tu directorio de usuario:

/home/fulano

Directorio /home

El directorio /home contiene los directorios de todos usuarios de texto-plano.xyz, incluyendo el tuyo propio, nomenclado según tu propio nombre de usuario.

El directorio de usuario (por ejemplo /home/fulano) es el espacio de disco que los miembros disponen dentro de texto-plano.xyz. Tu directorio de usuario puede abreviarse con el caracter de tilde "~".

(Nota: El tilde puedes escribirlo presionando AltGr+4 en los teclados de distribución española).

Ejercicio 2: Listar el contenido de directorios con ls

Comprueba el contenido de tu directorio donde estás localizado en este momento. Para ello ingresa:

ls

El sistema te mostrará un listado con el contenido del directorio donde estés localizado. Si estás en tu directorio /home/fulano podría indicar un contenido que incluya esto:

MailDir/  public_html/

Procede a listar ahora el contenido del directorio /home, el cual se utiliza para almacenar los directorios de los usuarios de texto-plano.xyz. Podrás hacerlo específicandolo como un sufijo al comando ls, de esta manera:

ls /home

Nota: Ten en cuenta que si tipeas el comando ls home en lugar de ls /home, el intérprete considerará que le estás ordenando listar un archivo llamado home, y no el contenido del directorio /home. Recuerda, la / especifica al intérprete de comandos que el pedido es un directorio, y que se encuentra en el directorio raiz de la estructura de directorios.

También podrás listar el contenido del directorio raíz del sistema, la cual es representado por la /.

Introduce el comando:

ls /

...y el sistema informará ahora el contenido general del directorio raíz.

altroot/                                      harfbuzz-2.7.2_writes_to_HOME/
at-spi2-core-2.36.1_writes_to_HOME/           home/
atk-2.36.0_writes_to_HOME/                    lost+found/
bin/                                          mnt/
boot                                          pango-1.46.2_writes_to_HOME/
bsd*                                          pub/
bsd.booted*                                   root/
bsd.rd                                        sbin/
bsd.sp                                        strfile*
dev/                                          sys@
etc/                                          tmp/
gdk-pixbuf-2.40.0_writes_to_HOME/             usr/
gobject-introspection-1.64.1_writes_to_HOME/  var/

Nota: Ten presente que estas "ramas" o directorios del sistema contienen distintos aspectos organizativos del mismo. El administrador de texto-plano.xyz suele moverse en estos directorios.

Ejercicio 3: Cambiar de Directorio: cd

Cambiarás tu posición en la estructura de directorios a fin de trabajar en un directorio específico. Sólo puedes estar posicionado en un directorio a la vez.

Para cambiar de directorio usa el comando cd seguido del nombre del directorio al que te deseas desplazar.

Cambia tu localización al directorio /usr:

cd /usr

Este directorio de sistema llamado /usr contiene una serie de aplicaciones de usuario que utiliza el administrador del sistema. Puedes listar su contenido ahora con ls.

Puedes volver a tu directorio individual /home/fulano mediante la abreviatura ~. Esto es muy conveniente:

cd ~

¡Genial! Has aprendido que la ruta /home/usuario es tu propio directorio de usuario, y que puedes volver a ella rápidamente mediante el comando cd ~. El símbolo del tilde ~ es importante pues te avita tener que escribir la ruta /home/usuario.

Ejercicio 4: Crear Directorios con mkdir

Un directorio puede contener muchos archivos diferentes en su interior, y te permitirá organizar mejor tu entorno. Sólo puedes crear directorios dentro de tu directorio /home personal.

Puedes crear un directorio usando el comando mkdir, seguido por el nombre del directorio que quieres crear.

En este ejercicio, crearás un único directorio de trabajo llamado temporal, el cual estará localizado dentro de tu directorio /home de usuario ("~"). Puedes hacerlo introduciendo el comando:

mkdir ~/temporal

Los comandos UNIX te permiten ahorrar tiempo usando múltiples directorios o archivos.

Por ejemplo, crea tres subdirectorios de práctica a la vez localizados dentro del directorio ~/temporal. A tal fin se separan las "ramas" de la ruta mediante la barra /. Utiliza entonces el comando:

mkdir ~/temporal/cartas ~/temporal/cuentos ~/temporal/poemas

Tutoral: Desplazarnos en la estructura.

En este caso, cambia tu posición al directorio llamado "temporal" que creamos dentro de nuestro directorio de usuario.

cd ~/temporal/

Podrás comprobar que te encuentras dentro del directorio temporal ingresando nuevamente el comando pwd.

/home/fulano/temporal

Muchas shells también indican el directorio actual en el mismo prompt, lo que permite saber en todo momento en que rama del árbol de directorio estamos localizaados, y suelen hacer innecesario utilizar el comando pwd. Por ejemplo, podría indicarnos:

/home/usuario/temporal

...o bien:

~/temporal/

Al pedir un listado del contenido del directorio con ls, le sistema presentará el contenido del directorio donde estás asentado. Si estás en el directorio ~/temporal/, podría indicarte:

cartas/  cuentos/  poemas/

Posicionado en el directorio ~/temporal, ilsta ahora el contenido de tu directorio de usuario /home/fulano. Para ello puedes usar la abreviatura ~.

ls ~

...y el sistema te podría presentar ahora:

MailDir/  public_html/  temporal/

Para retroceder un nivel en el árbol de directorios, se usa el comando cd ..

Por lo tanto, si estabas en /home/fulano/temporal e ingresas cd .., serás transportado a /home/fulano.

¡Podrás ahora elegir qué te conviene mas: si listar directorios o moverte a ellos, o moverte a los directorios para luego listarlos. Ambas formas de trabajar son válidas.

Por ejemplo, asbiendo que el directorio temporal está dentro de tu /home, sin importar cual sea tu directorio actual, siempre puedes listarlo con:

ls ~/temporal

O bien podrías cambiar tu posicionamiento actual a ~/temporal y luego listarlo:

cd ~/temporal

ls

Ya has aprendido los rudimentos de los directorios, cómo ingresar a ellos y cómo moverte en el árbol de directorios.

Ejercicio 5: Crear archivos con touch

Cada archivo en el sistema tiene un nombre, y opcionalmente puede tener una extensión descriptiva.

Debes tener en cuenta una regla fundamental: no pueden existir dos archivos con el mismo nombre dentro el mismo directorio.

Dentro de tu directorio /temporal, crea cinco archivos de prueba llamados prueba1.txt, prueba2.txt, prueba3.txt prueba4.txt y prueba5.txt.

Una forma posible pero ineficiente sería ordenar:

touch /home/usuario/temporal/prueba1.txt

...y repetir el proceso hasta el archivo prueba5.txt.

Pero escribir eso es tedioso. Simplemente usa cd para cambiar al directorio temporal:

cd ~/temporal/

...y a continuación crea los cuatro archivos que faltan, de una sola vez, con el comando:

touch prueba2.txt prueba3.txt prueba4.txt prueba5.txt

Como ves, si estás localizado dentro de un directorio, no es necesario escribir toda la ruta.

Ten en cuenta que si ahora introduces el comando ls, recibirás un listado del directorio donde te encuentras (~/termporal), informando el contenido:

cartas/   poemas/      prueba2.txt  prueba4.txt
cuentos/  prueba1.txt  prueba3.txt  prueba5.txt

Ejercicio 6: Copiar con cp

En ocasiones puede ser útil copiar un archivo o directorio (tanto aislado como completo) en otro lugar.

Podremos realizar copias de un archivo con el comando cp.

Supongamos que queremos copiar el archivo llamado prueba5.txt en otro archivo llamado prueba5.txt.copia, usamos:

cp prueba5.txt prueba5.txt.copia

Copia ahora el fichero prueba4.txt dentro del directorio poemas/. Puedes usar el comando:

cp prueba4.txt poemas/corazon.txt

También puedes copiar directorios:

cp poemas/ poemas_copiados/

Y podrás copiar directorios con sus contenidos, usando la opción -r:

cp -r cartas/ cartas_copiadas/

Ejercicio 7: Mover o renombrar con mv

En un entorno ideal, los archivos o directorios estarían donde los queremos y necesitamos. Pero esto no siempre es así.

Los sistemas UNIX utilizan el comando mv para mover o renombrar un archivo. Se usa la sintáxis:

mv origen destino

Por ejemplo renombra el archivo prueba1.txt para que se llame carta_abuelo.txt mediante el comando:

mv prueba1.txt carta_abuelo.txt

También puedes usar el comando para cambiar de directorio el fichero. Por ejemplo:

mv carta_abuelo.txt cartas/

Ten en cuenta que la / es importante en UNIX. Indica que debes mover el archivo "carta_abuelo.txt" al interior de un directorio llamado cartas/.

Pero si olvidas la / en el directorio cartas/ y sólo indicas

mv carta_abuelo.txt cartas

...pues el intérprete buscará un archivo llamado "carta_abuelo.txt" y le cambiará el nombre a "cartas". ¡Recuerda!, la / al final de un nombre indica la diferencia entre un directorio y un archivo.

Renombra ahora el archivo prueba3.txt a cenicienta.txt y muévelo al directorio cuentos/ usando un único comando:

mv prueba3.txt cuentos/cenicienta.txt

Ejercicio 8: Borrar con rm

Si no necesitas un archivo o directorio, puedes borrarlo. Esto ahorrará recursos de cómputo en el sistema, que podremos disfrutar entre todos.

Puedes borrar archivos dentro de un directorio mediante el comando rm ("remover").

En este tutorial, finalizaremos eliminando los archivos y directorios ya creados. Desplázate al directorio ~/temporal y borra el archivo prueba5.txt.copia con:

cd ~/temporal

rm prueba5.txt.copia

Podrías repetir esto para borrar el resto de los archivos, pero podrías también usar el comodín ? para indicar "todo tipo de archivo que incie con prueba, contenga un caracter cualquiera, y termine con .txt". Esto se hace de la siguiente manera:

rm prueba?.txt

rm sólo puede borrar archivos. En caso de querer borrar un directorio, debes utilizar el modificador -r. Por ejemplo:

rm -r cuentos/

Conclusión

¡Felicitaciones! Ya conoces los rudimentos básicos de un sistema similar a UNIX.

Si lo deseas, puedes borrar ahora el directorio temporal/:

rm -r ~/temporal

¡Vuelve a tu directorio /home con el comando cd ~ y continúa disfrutando de texto-plano.xyz, el entorno minimalista!

peron:~$

Retorno