Para cualquier técnico viniendo del mundo Windows, donde casi todo se puede hacer moviendo, dando clic y arrastrando íconos o ventanas, la línea de comandos Linux puede parecer un poco desalentadora.
Esta introducción puede ayudar a romper algunas barreras.

Acabo de acceder a una Consola Linux…

…ahora lo primero a tener en mente es que se encuentra dentro de su directorio “home”.

Si ha ingresado como cualquier usuario EXCEPTO el usuario “root”, su directorio home es “/home/” (ej. “/home/kevin”).

Si ha ingresado como el usuario “root”, su directorio home es “/root”.

Cambiando el Directorio de Trabajo

Puede usar el comando “cd” para navegar dentro de la estructura de directorio. El comando “cd” tiene dos formas principales.

cd <objetivo>

Puede ingresar el comando “cd” especificando el directorio destino al cual desea navegar. Puede especificar un destino absoluto o un destino relativo.

Destinos Absolutos

Puede especificar la carpeta destino ingresando la ruta completa del directorio. Así:

cd /var/mail

…cambiará su directorio de trabajo actual a “/var/mail”.

Destinos Relativos

Puede especificar la carpeta destino ingresando la ruta relativa al directorio actual. Al hacer esto, tome en cuenta que el atajo especial denotado como “..” de hecho se traduce como “el padre del directorio actual”.

Así que, si su directorio actual es “/home/kevin” y desea navegar a “/home/joseph”, puede usar el método de destino “relativo”:

cd ../joseph

cd – sin argumentos

Si ingresa el comando “cd” sin argumentos adicionales, será regresado a su directorio home.

Acerca del Directorio Home

Debe tener en cuenta que el atajo con el carácter “~” significa “la carpeta home del usuario actual”.

Así que si ingresa el comando “cd ~/documents”, esto sería el equivalente a “cd /home/kevin/documents” (para el usuario “kevin”) o “cd /root/documents” (para el usuario “root”).

¿En qué Directorio Estoy?

Simplemente ingrese “pwd” (print working directory “imprimir directorio de trabajo”) para obtener esta información:

kevin@debian:~$ pwd
/home/kevin
kevin@debian:~$ ls
notes2.txt notes3.txt other
kevin@debian:~$ cd other
kevin@debian:~/other$ pwd
/home/kevin/other
kevin@debian:~/other$

En la mayoría de los ambientes Linux, sin embargo, la línea de comandos ya muestra el directorio actual de trabajo – y esto de hecho se puede ver en el ejemplo anterior (el “~” en el prompt denota el directorio home del usuario).

Listando el Contenido de un Directorio

Puede usar el comando “ls” para listar el contenido del directorio actual de trabajo. La forma más simple es ingresar el comando sin ningún argumento. Esto puede arrojar un resultado como se muestra a continuación:

kevin@debian:~$ ls
notes1.txt notes2.txt other
kevin@debian:~$

La consola, típicamente, indica el directorio usando texto coloreado, pero el listado del directorio es un poco terso y no muy informativo. Puede, sin embargo, invocar el “long listing format o listado de formato largo” utilizando la opción “-l”:

kevin@debian:~$ ls -l
total 12
-rw-r–r– 1 kevin kevin 35 Dec 31 08:55 notes1.txt
-rw-r–r– 1 kevin kevin 35 Dec 31 08:56 notes2.txt
drwxr-xr-x 2 kevin kevin 4096 Dec 31 08:56 other
kevin@debian:~$

Este formato muestra varias columnas, conteniendo:

  • tipo de archivo y permisos
  • conteo de enlaces
  • el usuario al que pertenece el archivo/directorio
  • el grupo al que pertenece el archivo/directorio
  • el tamaño del archivo
  • la última fecha de modificación
  • el nombre del archivo/directorio

Archivos Ocultos

Para mostrar archivos ocultos dentro del listado de un directorio, puede ingresar el comando “ls” con la opción “-a”. Así, siguiendo el mismo ejemplo, podemos combinarlos con la opción “-l” para obtener lo siguiente:

kevin@debian:~$ ls -al
total 36
drwxr-xr-x 3 kevin kevin 4096 Dec 31 08:57 .
drwxr-xr-x 3 root root 4096 Dec 31 08:37 ..
-rw——- 1 kevin kevin 217 Dec 31 09:50 .bash_history
-rw-r–r– 1 kevin kevin 220 Dec 26 17:14 .bash_logout
-rw-r–r– 1 kevin kevin 3515 Dec 26 17:14 .bashrc
-rw-r–r– 1 kevin kevin 675 Dec 26 17:14 .profile
-rw-r–r– 1 kevin kevin 35 Dec 31 08:55 notes1.txt
-rw-r–r– 1 kevin kevin 35 Dec 31 08:56 notes2.txt
drwxr-xr-x 2 kevin kevin 4096 Dec 31 08:56 other
kevin@debian:~$

Nos puede parecer obvio a partir de la respuesta mostrada arriba que, en el mundo Linux, los archivos ocultos comienzan con un punto “.”.

Copiando Archivos

El comando “cp” tiene una formato simple para la copia de archivos:

cp <objetivo> <destino>

Así el ejemplo “cp notes1.txt notes3.txt” hará una copia del archivo llamado “notes1.txt” dentro del directorio actual a un nuevo archivo llamado “notes3.txt”, también dentro del directorio actual.
El destino no necesariamente tiene que ser un nombre de archivo, también puede ser el nombre de una carpeta. Por lo tanto, el ejemplo “cp notes1.txt other” hará una copia del archivo llamado “notes1.txt” dentro del directorio actual en un subdirectorio llamado “other”. ¡Note que si la carpeta “other” no existe, el resultado será la creación de una copia del archivo “notes1.txt” en otro llamado “other”!

Debe de estar prevenido que algunas distribuciones Linux sobre escribirán el archivo si este ya existe sin ninguna advertencia o notificación. Este documento fue escrito con Debian 8 (Jessie) como objetivo, y de hecho sobre escribirá archivos sin ninguna advertencia.

Moviendo Archivos

Mover archivos o carpetas se logra con el comando “mv”:

mv <target> <destination>

El comando “mv notes1.txt other” moverá el archivo “notes1.txt” fuera del directorio actual a un subdirectorio llamado “other”. Debe de tomar en cuenta que, en este ejemplo, si el directorio destino “other” no existe, logrará el efecto de renombrar el archivo de “notes1.txt” a “other”. De hecho, el comando “mv” es la herramienta utilizada para renombrar archivos y carpetas.

Otro dato útil de recordar es que puede especificar el nombre de un directorio como objetivo. Esto significa que puede mover un directorio y todo su contenido con un simple comando; por ejemplo, “mv /usr/local/myfolder /home/kevin” moverá el directorio “/usr/local/myfolder” fuera de “/usr/local” y reubicarlo para convertirse en “/home/kevin/myfolder”.

Crear un Directorio Vacío

Esto es tan simple como:

mkdir <target>

Removiendo Archivos y Directorios

Remover archivos y directorios debe hacerse con cuidado, debido a que no existe una forma natural de recuperar la información. El formato del comando es:

rm <objetivo>

…donde el objetivo puede ser un archivo o directorio.

Para remover un archivo, puede utilizar algo como a continuación:

rm notes1.txt

o

rm /home/kevin/other/notes3.txt

Para remover un directorio vacío, puede de nuevo especificar el directorio a remover:

rm /home/kevin/other

…pero si hay algo dentro del directorio el comando será rechazado. Si necesita remover un directorio Y TAMBIÉN su contenido, entonces deberá especificar la opción “-r” (significa recursivo):

rm -r /home/kevin/other

¡Utilice con cuidado!

Editando Archivos de Texto

El comando “nano” es probablemente el editor de texto más popular (amigable con el usuario) utilizado en la línea de comandos Linux. El formato:

nano <archivo->

…abrirá el archivo para edición – pero tome en cuenta que el archivo NO es un archivo de texto plano, puede dañarlo al momento de guardarlo.

Incidentalmente, puede usar “CTRL+O” para salvar el archivo, y “CTRL+X” para salvar y salir.

Tenga en mente que si el archivo no existe, nano creará un archivo vacío para que empiece a escribir en él.