Tuesday, September 22, 2015

mkdir

mkdir se lee "make directory" (se pronuncia algo así: méik diréc-ttri) y sirve para hacer directorios (carpetas o ficheros) en el Sistema de Ficheros de Linux. Su uso es muy simple. Desde tu Terminal:

  1. $ pwd
  2. $ mkdir testfolder
  3. $ ls
  4. $ mkdir testfolder/otrotestfolder
  5. $ ls
  6. $ ls testfolder/
  7. $ mkdir testfolder/otrotestfolder/foldercito
  8. $ ls
  9. $ ls testfolder
  10. $ ls testfolder/otrotestfolder
  11. $ mkdir testfolder/otrotestfoldermas
  12. $ ls testfolder 
  13. mkdir /mini-root
  14. mkdir /mini-root/root-junior
  15. ls / /home

Recordá que si vas a crear un subdirectorio (un directorio adentro de otro directorio), debés de definir la ruta relativa, como mostramos en los pasos 7, 11 y 14 del ejemplo anterior. Como podés ver en los pasos 13 y 14, podés crear un directorio(s) desde otra locación distinta, siempre y cuando usés una ruta absoluta.

En el paso 15 sólo estamos listando dos directorios distintos. Te invito a que pensés en cinco directorios y que los listés todos de forma simultánea.

Hemos usado mkdir  usamos una vez ya, en este artículo para crear un folder donde descargar Screenfetch. Es importante para realizar tareas administrativas vía CLI y también para organizar tus archivos sin recurrir a la GUI. 

Eso es todo por ahora :) 

La importancia de los PPAs en Ubuntu y derivados: el caso Screenfetch.

Hace uno o dos años instalé Screefetch en Luna siguiendo las indicaciones del artículo anterior:

Elementary Luna en mi computadora de escritorio. Nota: el CPU dice "modelo desconocido" porque es uno de esos Phenom II a los que se les pueden activar núcleos dormidos. Pero eso es un tema de hardware y no es relevante.


La cuestión es que para entonces-tenía menos conocimiento y voluntad que los  que tengo ahora y no entendí concientemente la necesidad de agregar un simple PPA a mi Distro vía Terminal (según entiendo, esto puede hacerse vía GUI usando Synaptic; pero no hablaré de eso porque he usado Synaptic muy poco y Terminal es siempre nuestra primera opción). Para un novato, hacer todo esto para instalar un simple programita parecía extraño, incomprensible, poco amigable.

Aquí podría hablar de un dilema de carácter filosófico: a veces las instrucciones de los expertos en la comunidad  son precisas; sin embargo, llegar a ellas  y entenderlas puede ser difícil para un novato; no porque seamos tontos o ignorantes sino porque muchas veces no sabemos qué buscar una vez tenemos los resultados y la info frente a nosotros. Tal vez es que estamos acostumbrados a dar dos clicks para instalar algo, o sólo decirle que "sí" a todo el wizard de instalación; o a lo mejor es que las plataformas de Software Libre son a veces muy  escuetas y muy poco intuitivas (por ejemplo, hay muchos tutoriales que te dicen "escribí este código" pero pocos te describen qué es, qué hace, y por qué lo estás escribiendo). Estoy seguro de que muchos diseñadores UX podría estar de acuerdo conmigo y probablemente los desarrolladores no, puesto que el FOSS ha tenido una población mayoritariamente "tecchy".  

Así que, conectado a mi Banana Pro haciendo sesión remota desde mi laptop, quería saber si era posible generar el logo a pesar de estar conectado en acceso remoto, y qué tipo de logo reportaría Screenfetch para Raspbian, la distro del Banana Pro, puesto que el Banana Pi/Pro tiene un logo distinto al Raspberry Pi. Luego de esta intro aburrida,aquí vamos:

Screenfetch para Ubuntu y derivados.



Cuando voy al hipervínculo que sale en el paso 2 de la imagen anterior, soy referido al Launchpad de un usuario en Launchpad, quien parece haber "porteado" Screenfetch hacia los repos de Ubuntu:




Ya con esta información, es suficiente y puedo ponerme a trabajar. Si estás corriendo Ubuntu o derivados (como Freya), vas a tener que escribir dos comandos en tu Terminal:

$ sudo add-apt-repository ppa:djcj/screenfetch
$ sudo apt install screenfetch

En ambos casos se te va a preguntar si querés agregar y permitir instalar. Aceptás y ya. Corrés 

$ screenfetch

y listo. 

Así screenfetch debería de funcionar para usuarios de Ubuntu, ElementaryOS y afines. Sin embargo, no fue así como lo instalé inicialmente durante esta tarde; lo logré con el otro método que te mostré antes; pero repliqué este otro y también funcionó.

Eso es todo por hoy. Compartinos tus Screenshots :)


Screenfetch: información de tu PC, Distro y su logo, en Terminal.

Cuando empezaste a buscar información del FOSS (Free and Open Source Software), o cuando buscabas formas de personalizar tu Distro, seguramente te encontraste con imágenes como esta en los foros:

ElementaryOS Freya (originalmente sería lanzado como Isis, pero debido a los acontecimientos en medio orientese decidió cambiar el nombre). Nótese que desde Luna se empezaron a usar nombres de deidades femininas para cada Versión nueva de Elementary.

Estas capturas de pantalla que los Linuxeros y Unixeros (o sea, usuarios de sistemas operativos Unix, en general) comparten, tienen información de sus Equipos: hardware, sistema operativo y Kernel, junto con el logo renderizado a puros caracteres Unicode (letras, números y símbolos). A lo mejor te preguntaste cómo se hace esto. Simple: buscando, leyendo, aprendiendo, aplicando. Hay varias herramientas que se usan para este objetivo y la más conocida tal vez es ScreenFetch (sedice scriinfetch").

Screenfetch es una herramienta que Brett Bohnenkamper, mejor conocido como el usuario KittyKatt desarrolló y ha puesto a disposición del público en GitHub [un controlador colaborativo de versiones de software que también es usado como Repo].

Screenfetch: instalación general.

 

Las siguientes instrucciones me funcionaron en los siguientes entornos:
  •     ElementaryOS Freya en mi laptop.
  •     Arch Linux corriendo en VirtualBox adentro de mi laptop con Freya
  •     Raspbian en el Banana Pro por medio de sesión remota vía terminal  desde mi laptop.

Con esta muestra, podemos decir que es muy probable que estas instrucciones funcionen en otras Distros, aunque nos hace falta confirmación de parte de alguien que use la familia de RedHat, y otros. Agradeceré que nos compartan los resultados que consigan en sus distros :)

Screenfetch está en la nube de GitHub (una plataforma colaborativa de control de revisiones de Software. Digamos que es un Google Drive para programas, interfaces, código y demás cosas de desarrolladores y programadores).

1) Instalar Git

Como casi cualquier FOSS, Git se integra con Terminal, así que vamos a instalar el comando git para poder luego descargar el Screenfetch a nuestro equipo.
para Ubuntu y afines:
$ sudo apt install git


para Arch y derivados:
$ sudo pacman -Syu git
A partir de acá, podemos instalar de dos formas:

2) Creando un directorio dentro de /home y clonar Screenfetch desde Github:

Hacemos un directorio adentro de "home" (recordá que " ~  " es el home directory)
mkdir ~/screenfetch
cd ~/screenfetch

Recordá usar $ pwd para confirmar que estás en el lugar correcto)  Ahora en él, copiaremos el repo git de Screenfetch adentro de /tmp, así:

$ git clone git://github.com/KittyKatt/screenFetch.git screenfetch

Básicamente, ya tenemos el programa instalado y puesto que lo instalamos en el directorio ~/screenfetch ( o en el /tmp), para poder ejecutar el script desde /home/usuario, tendríamos que escribir
$ sudo screenfetch/screenfetch-dev

2-A) Navegando hacia /temp y clonar Screenfetch desde Github:

En lugar de hacer un nuevo directorio, navegamos hacia el directorio temporal conocido como "/tmp" y proseguir de la misma forma:

$ cd /tmp $ git clone git://github.com/KittyKatt/screenFetch.git screenfetch
$ sudo /tmp/screenfetch/screenfetch-dev


¿Cuál es la diferencia entre ambos métodos?

El primer método requiere generar una nueva entrada en tu filesystem y descargar Screenfetch a ella, mientras que en la segunda, se usa/tmp porque esta es una carpeta de almacenamiento temporal para la sesión: el propósito es que luego de apagar el equipo y reiniciar, la descarga de Screenfetch sea borrada del sistema y evitar así, usar espacio innecesario en el disco. La verdad, es cuestión de preferencia personal. No tengo preferencia, aunque me parece una buena idea el usar /tmp de vez en  cuando.

3)  Ejecutar Screenshot desde su locación: 

Dependiendo del lugar donde lo instalaste, vas a tener que escribir 
$ sudo /tmp/screenfetch/screenfetch-dv
$ sudo ~/screenfetch.

En ambos casos, el comando es demasiado largo y tedioso de escribir. El comando cp copia un directorio o archivo en otra locación, usando esta sintaxis:

$ cp ruta/origen ruta/destino

4)  Copiar el programa, a /usr/bin. 

$ sudo cp screenfetch/screenfetch-dev /usr/bin/screenfetch
$ sudo cp /tmp/screenfetch/screenfetch-dev /usr/bin/screenfetch

La razón por la cual estamos copiando al directorio /usr/bin es porque aquí se alojan los programas y comandos ejecutables por administradores. Por lo tanto, debemos de cambiar permisos para que el usuario regular pueda ejecutar el programa.
 

5) Cambiar permisos:

$ sudo chmod 755 /usr/bin/screenfetch

chmod es "change mode", cambiar modo. Asigna permisos especiales a objetos y elementos en el Filesystem de Unix. y listo. Ahora corré

6) Ejecutar y aplaudir como morsa.

$ screenfetch
Y vas a tener un resultado similar a este:

Screenfetch de Arch Linux. Hemos estado aprendiendo a instalar Arch usando VirtualBox dentro de Freya. Ignorá donde dice "firefox installed", es sólo el nombre de referencia que le di a un snapshot o "captura" de la máquina virtual. Acá estaba corriendo Arch sin GUI; es decir, a pura CLI; en ambos casos Screenfetch funciona porque es un programa de Terminal.


Screenfetch de Arch Linux (vía VirtualBox en Freya) desde un entorno de escritorio que estoy probando
Mientras escribía este artículo en mi laptop corriendo Freya, estaba conectado remotamente vía Terminal a mi servidor de descargas, mi Banana Pro. De nuevo, Screenfetch es una herramienta de Terminal así que le es indiferente si hay interfaz gráfica (Enterno de escritorio o gestor de ventanas); siempre va a darte información de tu sistema.

En la misma página de KittyKatt se encuentran las instrucciones específicas para instalar según cada Distro mayor; Pero para hace uno o dos años, fue un poco difícil de seguirlas debido a mi limitado conocimiento acerca del asunto, y opté por hacerlo como te he compartido en este artículo. Sólo por quitarme la curiosidad y completar el reto, me documenté y logré finalmente instalar Screenfetch en ElementaryOS usando tanto el método que te compartí como las instrucciones dedicadas a Ubuntu por KittyKatt. En la siguiente nota dedico un artículo para usuarios de Ubuntu/derivados.

Thursday, September 17, 2015

Pathnames o Rutas.

Definición de Ruta acá. En inglés, path (se pronuncia pæz, con la "zeta" ibérica).

Hay mucho que hablar respecto al Filesystem (sistema de ficheros, carpetas o archivos, en español); tanto que condensar toda la información disponible en una sola nota sería poco amigable; así que hemos descompuesto lo que hemos aprendido en partes más asimilables. Esta es una de ellas. Esperamos que a los amigos principiantes nos sirva mucho. 

Hay dos tipos de rutas (o pathnames) que podés identificar: absolutas y relativas.

  • El absolute pathname o ruta absoluta SIEMPRE inicia en el directorio root " / "  y continua rama por rama hasta que alcanza el directorio deseado. Para los principiantes, recomiendo mucho usar rutas absolutas a la hora de navegar en la Terminal, para familiarizarnos con ella y para conocer de mejor forma el Filesystem (sistema de archivos/ficheros):
/home/jose/fotos/fap_folder/oldies
/usr/src/linux/README
/var/log
  • Una Relative pathname o ruta relativa inicia en el directorio donde te encontrás en un momento determinado; es decir, NUNCA inicia con " / ". Asumiendo que el usuario está en el directorio /home/jose  el directorio /usr y el directorio /var respectivamente (precisamente por eso son relativas, porque se usan respecto a la posición del usuario en un momento determinado), las rutas realtivas serán:
fotos/fap_folder/oldies
src/linux/README
log
¿La diferencia? Pues que es útil usar rutas absolutas y relativas según la situación. Por ejemplo, si vas a operar dentro de un subdirectorio, usar una ruta relativa te ahorra escribir tooooda la ruta. Por ejemplo, si estás en:
 /home/jose/fotos/fap_folder/oldies/monroe
y querés navegar hacia:
/home/jose/fotos/fap_folder/oldies/greta_garbo
en lugar de escribir:
 $ cd /home/jose/fotos/fap_folder/oldies/greta_garbo
simplemente hacés:
$ cd ../greta_garbo

Recordá que los dos puntos representan al directorio o "rama anterior". Pero a veces usar una ruta absoluta es mucho más conveniente, como cuando estás en:
/home/jose/fotos/fap_folder/oldies/greta_garbo
y querés moverte a:
/usr/tmp 
 Si usás las rutas relativas tendrías que hacer:
$ cd ../../../../../usr/tmp
 lo que implica escribir más. En su lugar es mejor escribir directamente:
$ cd /usr/tmp


Y eso es todo por ahora. Saludos :)


Thursday, September 10, 2015

Banana Pro: Resumen de actividades.

Hola a todos.

Los saludo desde el Banana Pro. Durante los días posteriores a su adquisición, me di a la tarea de personalizar Raspbian un poco. Hasta inicios de agosto, logramos hacer lo siguiente:

• Añadimos soporte para idioma español en el teclado.
• Cambiamos el idioma a español en todo el sistema operativo (ojo mis novatos, los comandos siguen escribiéndose en inglés pero las respuestas de Terminal se leen en español. Luego de eso regresé a inglés por cuestión de costumbre).
• Después de un garrafal error de Novato (estaba usando la contraseña equivocada y  me salían las canas verdes creyendo que mi Banana vino arruinado), pude conectarme a mi router por medio del adaptador WiFi integrado en el Banana :)
•Personalizamos el LXDE para que tuviera una apariencia menos noventera.
• Hice que la terminal quedara embedida o "integrada" en el escritorio y también que arranque junto con el escritorio (sin comando alguno, sólo con el prompt).

Con estos cambios, se ve así:
Terminal embebida en el Escritorio y automáticamente abierta al inicio de Sesión.  Simula ser transparente pero en realidad sólo está renderizando el  background dentro de la Terminal; LXDE no tiene soporte nativo par transparencias. Como pueden ver con htop, corriendo IceWeasel y Terminal de Root (en una ventana aparte), se consume poca RAM).

• Instalamos Chromium (quien al igual que Chrome, gasta RAM como un chupacabras) y también hicimos que corriera desde el arranque del escritorio. Justo hoy lo cambiamos por Iceweasel, una variante de Firefox que está instalado de fábrica en muchas Distros de Linux.
• Configuramos el /etc/fstab para que el sistema monte automáticamente una USB de 32GB al arrancar. Esto se realiza cuando querés agregar nuevas unidades "fijas" de almacenaje que no querés montar manualmente. Esta la he usado para cuando descargo archivos de internet —vea el siguiente punto.
• También instalamos Deluge Console para descargar torrentes desde la terminal (sea trabajando directamente en el Banana, o desde otro equipo haciendo acceso remoto vía SSH). En pocas palabras: configuramos nuestro propio servidor local de torrents.
• Exploramos un par de aplicaciones educativas que Raspbian incluye: SonicPi (programa basado en Python para aprender a programar mientras se crea música), aproveché el bajo consumo de energía para darle seguimiento a mis cursos de programación autodidacta mientras no adquiría mi laptop.

En pocas palabras, me he divertido con el Banana Pro. Hay muchísimos más proyectos que hacer en él; por ejemplo, conectar un disco duro al puerto SATA para tener una unidad de almacenamiento muchísimo mayor (traté esto una vez compré mi laptop nueva: traté quitándole el disco duro de 1TB que trae y lo conecté al Banana Pro, pero el puerto de poder SATA no parece proveer suficiente energía para encenderle y mantenerlo operativo... no fue reconocido. Intentaré con discos duros de menor capacidad -que podrían tener menos "plates" y por lo tanto, consumir menos amperios- pero me tomará un tiempo el conseguir uno), o hacer sistemas de teatro en casa usando software libre. 

Como prometí, los mantendré actualizados y añadiré tutoriales para configurar SBCs como el Banana Pro y Raspberry Pi. 

Por cierto, uno de mis amigos se llevó mis dos Rasbperry Pi a su casa, descargó su propia imagen de Raspbian en su tarjeta MicroSD y... ¡funcionaron! Al parecer mi imagen de instalación está corrompida... (cosa que hubiera jurado haber revisado y descargado dos veces... pero la memoria me falla, como con la contraseña del WiFi).

Por ahora me despido, pero seguiré trabajando en los tutoriales y demás artículos. Ayudá a tus amigos Unixeros  novatos y compartiles nuestras guías. ¡Hasta pronto!

man

Esta es la continuación de los otros dos artículos de la CLI y el sistema de Ficheros.  En esos dos artículos, vimos cómo entender el sistema de ficheros (el filesystem) y cómo navegar en él. Pero eso no es todo. Uno de los comandos más útiels pero subestimados por los amigos de "todoenlatrompa.com", es el comando

man

 $ man comando

Se lee "manual pages" manual para el comando especificado y su uso. Por ejemplo:

$ man pwd
$ man ls
$ man cd
$ man exit
$ man man


¿Para qué me sirve?  Para cuando se te olvida cómo usar un comando o cuando necesitás argumentos o parámetros adicionales para un comando y no recordás cómo usarlos. Por ejemplo, dijimos antes que el comando ls te muestra el contenido de un directorio; pero no te muestra archivos o directorios ocultos. Pero al leer 

$ man ls 

Aprenerás que, existe la opción -l "no ignora elementos comenzando con . (el punto a la izquierda de un archivo o carpeta, significa que ese elemento está "oculto"; si navegás a la GUI, no lo verás. Hay muchos archivos y directorios ocultos por motivos de seguridad, o porque son de configuración y no hace falta que se le muestren al usuario así por así)".


$ ls -a

$ man ls
también nos enseña que

$ ls --author
va a  mostrarnos el autor de cada archivo/carpeta listada en el directorio donde estás.

Entre otras cosas, man nos muestra un número (arriba a la derecha) el tipo de comando que se está corriendo. Te lo recomiendo mucho. Cuando usás man, el prompt ($) desaparece. Esto es porque en esencia, tenés frente a vos a un documento de texto insertado en tu Terminal (por eso los Unixeros te piden  que leás las "man pages")

Apretá "h" para ver las instrucciones/opciones. man usa las mismas instrucciones del comando less, que no veremos hoy por practicidad. Las otras  opciones se ejecutan cuando usás las opciones listadas en la ayuda.  Apretá "q" para salir de la página man en la qu estás; el prompt reaparecerá en el borde inferior de tu Terminal.

Espero que lo usés mucho. Es tu primera fuente de conocimiento y entrenamiento; debe de ser tu ley el leer las man pages antes de preguntarle al prójimo. Te va a ahorrar regaños en los foros y grupos ;)


todoenlatrompa.com: chiste usado para referirse a las personas que todo lo quieren servido y masticado para no tener que hacer su tarea; se deriva del salvadoreñismo: "este maje todo lo quiere en la trompa" = "este bobo todo lo quiere en la boca". El dominio de hecho, existe y tiene un sitio web, aunque no parece tener mayor actualizaciones ni contenido disponibles al público.

CLI y Sistema de Ficheros II


$ pwd

Este es facilito. Se lee "print working directory": imprimir (en pantalla, no en papel) el directorio actual.

$ pwd
muestra/el/directorio/en/el/que/estás/actualmente 

 

$ ls

se lee "list directory", listar directorio:
muestra/los/archivos/o/sub/directorios/del/directorio/especificado

Escribí el siguiente comando en tu Terminal:
$ ls .

El " . " (punto) representa al directorio actual; es decir, el directorio en el que te encontrás. Y esto es algo fascinante si lo pensás: ¿cómo se marca usualmente una posición en un mapa o plano cartesiano? con un punto. Algo tan simple como eso :)

Ahora, seguí uno a uno, los siguientes:

$ ls /
$ ls /etc
$ ls /usr

¿Qué  te dice esto? Que podés navegar por tu PC sin tener que dar click como loco. Pero listar los directorios y  archivos no es suficiente. A veces necesitás moverte; para eso usamos:

 

$ cd 

"Change directory" o cambiar directorio. Hacé esto:

$ pwd

Y ahora, detenidamente hacé esto:

$ cd / 
$ pwd
¿Qué pasó? Te moviste del directorio home (si es que estabas en home), al Root Directory. Ahora escribí:

$ cd - 
$ pwd

Como pudiste notar, " cd - " te regresa al directorio donde estabas inicialmente (no un nivel más o menos, sino al directorio en el que estabas antes).  Hay otros usos de cd:

$ cd .. 
cambia al directorio padre (el directorio que contiene al directorio en el que estás).

$ cd ../..
cambia a dos directorios superiores.

$ cd ../../.. 
cambia tres directorios superiores, y así, hasta que de tanto " .. " vas a llegar al directorio / .

Ejercicio:

(¿Pensaste que no habría ejercicio? Sin repetición no hay aprendizaje duradero. NOTA: a menos que sepás lo que estás haciendo, no vayás a usar otros comandos que aun no hayamos mostrado; esto es por seguridad y  para evitar modificar o agregar cosas a archivos/directorios de forma indebida).  

• Listá el contenido del Root Directory.
• Navegá a /usr
• Imprimí el directorio /usr
• Sin desplazarte a otro lugar, imprimí el directorio /home
• Sin desplazarte a ningún lugar, listá el contenido del directorio /etc
• Navegá a /usr/share/man
• Navegá un nivel hacia atrás
• Listá el contenido de ese nivel donde estás ahora.
• Navegá de vuelta a tu home directory.
• Cerrá tu Terminal.

CLI y Sistema de Ficheros: Dolores de Cabeza para Principiantes.

En palabras de un antiguo samurai: "parecerá difícil al inicio, pero todo es difícil al inicio."

Nos han solicitado que elaboremos una guía un poco "menos técnica" que la que Jimmy compartió hace un rato ya acerca de los comandos básicos así como el asunto del Sistema de Ficheros de Linux. Este es un intento por lograrlo y nos esforzamos por ser lo menos "techy" posible.

La Terminal intimida a mucha gente. Si se la mostrás a un hermano mayor o un papá o tío que haya visto una de las primeras PCs y que no sea un adepto a la informática, a lo mejor te cuente lo complicado que era usar una PC antes;  si sos lo suficientemente viejo tal vez recordás un poco de DOS. Es comprensible; se trata de una pantalla oscura con una rayita que parpadea esperando que le digás qué hacer. Y si no sabés qué palabras usar para decirle qué hacer y escribís cualquier cosa que se te ocurra como "ACM1PT", de seguro te va a escupir un mensaje diciendo algo como "command not recognized" o "comando no reconocido" y es de esperarse que no haga nada y que por lo tanto la PC parezca un alien.

Tal vez por eso es intimidante y la gente le evita; o tal vez porque no quieren tomar el tiempo para aprender a usarla. Pero el problema entonces no es la Terminal, sino nuestro escaso conocimiento acerca del "idioma" que ella "escucha" y "habla". ¿Cómo se arregla este predicamento? De dos formas: huyendo, como la mayoría hace; o aprendiendo a comunicarte en el lenguaje que la Terminal entiende. A todos nos frustró al inicio; pero de nuevo, "todo es difícil al inicio".

Si vas a hacerle frente al problema, armarte de valor y ánimos es sólo una porcioncita de lo que debés de hacer. Se necesita disciplina, orden, dedicación, tiempo, y estar dispuesto a equivocarte una y otra vez. Casi nunca son las felicitaciones las que te hacen aprender para cambiar y mejorar, son tus equivocaciones y cómo vos las tomás. Recordá esto y aplicalo en todo aspecto de tu vida.
 
Es justo y necesario, nuestro deber y salvación aprender los siguientes comandos a usar en Linux. La GUI (Graphical User Interface) no es más que una síntesis o representación visual (en forma de iconos y ventanas) de toda instrucción que tu PC ejecuta. Estas instrucciones pueden ser ingresadas en forma de texto, cosa que con un poco de práctica es más rápida y fácil que dar clicks aquí y allá de un lado a otro de tu pantalla (ahorrándote tiempo, divagación y esfuerzos).

Así como das clicks en tus ventanas para moverte de un lugar a otro en tu PC y lograr que ella haga algo por vos, así también podés desplazarte por tu PC desde una simple ventanita escribiendo texto. 
Vamos a aprender a navegar en tu Terminal con estos comandos básicos. Ellos son como el "AEIOU" de Linux. 

"Pero yo no necesito ni quiero aprender comandos."

Es cierto que para poder hablar no se necesita escribir y que mucha gente vive sin llegar a escribir ni leer nada; pero es cierto que esto les priva de muchas libertades y conocimiento importante para crecer como personas. Algo así sucede con los comandos de la Terminal.

 

Yo sólo quiero ver videos, revisar mi correo y redes sociales.


Bueno, entonces tal vez este no es el lugar para vos y te pediremos que dejés de leer los artículos relacionados a Comandos y Terminal. Lo cierto es que para los usuarios de Linux que deseamos aprovechar el potencial de estos sistemas operativos, la CLI y los comandos son vitales.

¿Qué carajos tienen que ver la Terminal con el Sistema de Ficheros?

Todo. Por ahora digamos que la Terminal es una mezcla de Timón y el Sistema de Ficheros es un Mapa de Navegación. O digamos que tu Terminal es una Caja de Herramientas y tu Sistema de Ficheros es los planos de un Automóvil. Tal vez esta última analogía no la comprendás aún, pero lo harás cuando aprendás comandos avanzado. Si seguiste leyendo, esperamos que esta guía te ayude. Abrí tu Terminal y comencemos. 

Probablemente es lo primero que vas a ver junto a tu nombre o el nombre que le diste a tu PC cuando instalaste tu distro. Es el "command prompt" o símbolo de sistema. La "señal" que indica estar lista para que ingresés comandos. Cuando veás el prompt en mis tutoriales, deberás escribir los comandos que a su derecha.

Es el mismo símbolo o prompt, pero como "root" o superusuario. A menos que necesités hacer labores de mantenimiento o corrás una distro especializada, vas a ver este prompt muy poco.

 /

Como punto de partida, si alguna ves al símbolo de barra diagonal (símbolo de fracción, pleca, etc.) solito, es que representa al directorio "inicio" o "de partida", llamado Directorio Raíz. O sea, vas a entender que estamos hablando del Root Directory.  Es el nivel primero en el sistema de ficheros y respecto a él, situamos a todos los demás directorios y archivos (aquí no usamos la palabra "raíz" como algo bajo tierra sino como el INICIO, o seal el origen, nacimiento, punto de partida).

Es como si fuera la calle principal de una ciudad y la cual se toma como punto de referencia para poder tomar otras calles y conducirte a tu destino. En dibujitos:


Esta es la representación gráfica de la estructura de directorios de Linux. Recordá que un sistema operativo basado en Linux está organizado en compartimientos llamados conocidos como carpetas/folders/ficheros. En los siguientes niveles ves otros folders/carpetas/nombres. Si partimos de / (el Root Directory) y queremos ubicar al folder "Miguel" dentro del  sistema operativo, vamos a escribir

/home/miguel

que sitúa a Miguel dentro del folder "home", que está dentro del folder o Directorio Root. O sea, podemos decir que Miguel está dos directorios abajo en relación al Root Directory. No estamos diciendo que Miguel tenga menos superpoderes o un Ki menor al del Root Directory por estar "dos niveles abajo", porque no estamos comparando; simplemente estamos situando a Miguel en relación al Root Directory.

Partiendo del directorio Raíz, si queremos representar al fólder public_html, vamos a hacerlo así:

/home/francis/public_html

Como ves, seguimos usando / varias veces; y es que cuando la / se usa después del nombre de un folder, simboliza un "nivel"; o sea, nos sirve para hacer divisiones entre un directorio y otro o un directorio con un archivo. La primera barra a la izquierda simboliza el directorio raíz; las siguientes indican un directorio más "abajo".
  
Notá que escribí 
/home/miguel

y no

/home/Miguel

o

/Home/Miguel

¿Por qué? Porque así es como fueron definidos estos dos directorios y la sintaxis usada en la Terminal es sensible a capitalización. Si no tenés idea qué significa esto, deberías de hacer click en "sensible a capitalización"; he hipervinculado un artículo de la Todopoderosa Wikipedia que te lo explica.


Ya con esta explicación breve, en nuestra Terminal abierta, vamos a escribir este primer comando:

$ exit

¿Qué pasó? Yo sé qué pasó. Seguí la segunda parte para aprender más :)

Entradas populares.