La línea de comandos no es sólo para expertos Linuxeros, en realidad cuando llegas al mundo de Asterisk te das cuenta de que te irá mejor si conoces la línea de comandos, aunque con las distribuciones que instalan automáticamente Linux y Asterisk casi no tienes que pensar en eso, la verdad es que te pierdes de la mejor parte de Asterisk: El control de lo que puedes hacer con cada parte del sistema.

Así que, luego de encontrar un artículo genial en Internet, “A Command Line Primer for Beginners“, hemos decidido traer un extracto en español a nuestro estilo de lo que necesitas para comenzar tu nueva relación con la línea de comandos en Linux.

Nota: Este artículo está pensado para personas que son nuevas en el uso de la línea de comandos de Linux, no para usuarios expertos. Pero si eres experto y conoces a algún novato, te invitamos a compartirlo con el.

¿Qué es la Línea de Comandos?
La interfaz de línea de comandos de Linux, algunas veces conocida como el CLI de Linux, es una herramienta en la que puedes escribir comandos de texto para realizar tareas específicas. Usualmente no hay mouse ni botones donde hacer clicks. Aunque parezca la contrario, algunas de las veces es mas rápido controlar las acciones del computador desde la interfaz de texto que desde una bonita interfaz gráfica llena de pestañas y botones, aunque no estamos diciendo que una sea mejor que otra en realidad todo depende de la destreza de cada quien.

La aplicación que acepta los comandos de texto se denomina shell, y hay muchas variantes de donde escoger, aunque la mas común es el shell Bash que viene por defecto en Linux y Mac cuando abrimos la terminal. Por defecto en Windows encontramos solo la aplicación Command Prompt, que no tiene el mismo poder y flexibilidad que Bash, pero de algún modo son similares y sirve para efectos de comparación introductoria.

Uso Básico de la Línea de Comandos

Para comenzar con la línea de comandos, necesitarás abrir una ventana de la terminal de Linux para poder comenzar a escribir comandos. Al abrirla veremos el símbolo del sistema apuntando a la carpeta del disco duro en la que estemos ubicados. Con los comandos de texto podremos “navegar” entre esas carpetas de archivos, modificar los archivos y/o ejecutar muchas otras acciones. A continuación veremos una lista de comandos utiles organizados por su uso.

Listar Archivos

Veamos la lista de archivos que existe en la carpeta donde nos ubico la terminal. Para esto usaremos el comando ls. A los comandos les podemos pasar uno o mas parámetros a fin de modificar la forma en la que funcionan o la información que nos retornan.

Por ejemplo, usando el comando “ls” con el parámetro “-l” vemos la salida del comando como una lista, el parámetro “-t” los organizará por tiempo, “-S” por tamaño, “-r” reversa el orden, y existen muchos otros parámetros que podemos pasarle al comando “ls” que combinandolos adecuadamente nos darán mas o menos información según lo que deseamos consultar.

Si usamos la opción “-a” podremos ver archivos ocultos y aparecerá algo mas en nuestra lista, dos entradas para ”.” y “..” al principio de la lista. Estas representan “.” la carpeta en la que estamos ubicados y “..” la carpeta superior a esta.

Cambiar de Directorio

Podemos cambiar de directorio o carpeta de archivos usando el comando “cd”, y usando el concepto de carpetas que aprendimos con “.” y “..”, por ejemplo para ir al directorio inmediatamente superior a aquiel donde estamos ubicados usaremos:

cd ..

Podemos navegar a otros directorios usando rutas absolutas o relativas. Por ejemplo si queremos navegar al directorio de Linux donde se suelen encontrar los archivos de configuración de Asterisk podemos usar el siguiente comando:

cd /etc/asterisk

En este comando especificamos todos los directorios existentes desde la raíz del sistema de archivos indicada por el primer “/”, hasta la ruta final. Si hubiésemos estado ya ubicados en la carpeta “etc”, entonces el comando para llegar al mismo lugar habría sido relativo, así:

cd asterisk

Ya que el directorio “asterisk” se encuentra dentro del directorio “etc”. Si desde el directorio “asterisk” quisiñeramos navegar al directorio “etc”, podríamos usar el siguiente comando:

cd ..

Por último, para cambiar al directorio previo, el acceso directo “-” es una gran ayuda. Solo hay que ejecutar el siguiente comando:

cd -

Y bueno, esa es la idea. La práctica hace al maestro.

Crear y Eliminar Directorios

Para crear un nuevo directorio o carpeta, usamos el comando “mkdir <nombredirectorio>”. Por otra parte para eliminar un directorio, lo que considero una tarea peligrosa por lo menos al principio, podemos usar el comando “rmdir <nombredirectorio>”. Notemos que en ambos casos indicamos el nombre del directorio a crear o eliminar. Si existen archivos en el directorio a eliminar entonces primero deberás eliminar dichos archivos, de otro modo no podrás eliminar el directorio. Hay formas de hacerlo, pero al principio podrías cometer errores no deseados así que las otras opciones las dejamos para después.

Entonces, para crear el directorio de nombre “midirectorio” en la carpeta donde estemos ubicados, usaríamos el siguiente comando:

mkdir midirectorio

Y para luego eliminarla, usaríamos:

rmdir midirectorio

En serio, es buena idea verificar dos veces antes de borrar cualquier directorio de nuestro sistema, especialmente si se trata de uno donde ya tienes Asterisk en producción.

Crear y Eliminar Archivos
Para crear un archivo sin contenido podemos usar el comando touch nombrearchivo. Para eliminar un archivo usaremos el comando rm nombrearchivo. Por ejemplo, creemos y luego eliminemos un archivo que llamaremos miarchivo

touch miarchivo
rm miarchivo

Si queremos eliminar todos los archivos de un directorio rápidamente (Atención, esta acción puede resultar peligrosa) podemos usar el comodín “*”, por ejemplo

rm *

Si queremos borrar una lista de archivos y al mismo tiempo directorios con un solo comando, entonces podemos usar el comando:

rm –rf *.*

Por lo general estos dos últimos comandos son peligrosos para usuarios novatos, en especial el rm con los parámetros -r para borrado recursivo y -f para forzar el borrado. Probablemente será mejor indicar exactamente lo que queremos eliminar por ejemplo:

rm -rf archivos.*

Asi eliminamos los archivos que terminan en determinada extensión, o por ejemplo:

rm -rf *.txt

Para eliminar todos los archivos de un tipo específico, en este caso de texto.

Se sabio al usar el rm, recuerda que en la línea de comandos no hay papelera para deshacer un error de borrar lo que no deseas.

– Hasta la próxima. Exitos con la línea de comandos.