Linux es un sistema operativo que está en todas partes, aunque no te hayas dado cuenta. Desde computadoras de escritorio, smartphones, automóviles, supercomputadoras, servidores y hasta en Windows. Para sacarle el mayor provecho a este sistema operativo de código abierto es necesario aprender a usar la terminal. Y aquí comienza el dolor de cabeza para muchas personas.
¿Qué es la Terminal?
Es un intérprete de comandos u órdenes (conocido como terminal, consola o shell) que hace de interfaz entre el usuario y el propio sistema operativo. Es decir, mediante la terminal podemos acceder al sistema operativo sin utilizar la interfaz gráfica y realizar todo tipo de tareas en modo texto.
Ahora te explicaré lo básico que debes saber para que esa "complicada" terminal se convierta en una de tus herramientas más usadas.
CLI - Línea de comandos (Command Line Interface, en inglés)

Navegando por los directorios:
pwd(muestra el directorio de trabajo): Esto muestra la ruta en la que te encuentras actualmente. Es muy útil si has estado saltando de subcarpeta en subcarpeta y el prompt (el símbolo que se encuentra antes del cursor) te muestra sólo una ruta abreviada.lsTe muestra una lista con el contenido del directorio actual (o el que le pases como argumento, por ejemplo: “ls /home/usuario”).ls –lMuestra una lista del contenido del directorio añadiendo información adicional de los ficheros o carpetas, como permisos, fecha y hora de creación o modificación, entre otros.ls –aMuestra una lista de todos los ficheros del directorio, incluyendo los ficheros o carpetas ocultos.cdTe lleva al directorio raíz.cd..Subirás un nivel en el árbol de directorios. Por ejemplo, si te encuentras en /home/usuario, con este comando te irás a /home.
Examinando archivos:
fileDetermina el tipo de un archivo.catMuestra el contenido de un archivolessMuestra el contenido de un archivo, y lo va paginando en caso de que sea muy extenso.
Manipulando archivos y directorios:
cpCopia un fichero o directorio.cp –iCopia un fichero o directorio y pregunta antes de sobrescribir si se diese el caso.cp –rCopia un directorio con todo su contenido.mvMueve o renombra un fichero o directorio. En la terminal de Linux, en lugar de renombrar un fichero mediante un comando exclusivo, se utiliza el mismo que para mover archivos o directorios. Lo que se hace para renombrarlo es moverlo a la misma ruta donde se encuentra y cambiarle el nombre.mv –iMueve o renombra un fichero o directorio preguntando antes de sobrescribir si fuera el caso.mkdirCrea un directorio.rmdirElimina un directorio vacío.rmElimina un fichero.rm –rElimina un directorio y todo su contenido.rm –iElimina un fichero solicitando confirmación. Es muy recomendable usarlo con la opción –r para que lo puedas utilizar con directorios evitando problemas.touchCrea un nuevo archivo en la ubicación actual.
Comandos de proceso:
psMuestra los procesos que se encuentran activos en el sistema actualmente.topMuestra todos los procesos en funcionamiento.kill “pid”(process id): Detiene el proceso asignado al pid que muestra la salida del comando ps.bgMuestra todos los procesos pausados o en segundo plano (recuerda que Ctrl + z establecía procesos en segundo plano).fgTrae de vuelta el proceso más reciente puesto en segundo plano.
Comandos de Información del Sistema:
dateMuestra la fecha y hora al completo.calMuestra el calendario del mes en curso.whoamiMuestra el nombre del usuario con el que estás trabajando.wMuestra qué usuarios están conectados actualmente.uptimeMuestra el tiempo que lleva encendido el sistema, y cuántos usuarios lo han usado.uname –aOfrece información del Kernel del sistema.cat /proc/cpuinfoMuestra información del Microprocesadorcat /proc/meminfoMuestra información de la memoria del equipo.freeMuestra la cantidad de memoria total, usada y libre, así como el espacio en la unidad de intercambio.
Comandos de inicio y apagado:
haltDetiene todos los procesos y apaga el equipo.shutdownPrograma el apagado del sistema en 1 minuto.shutdown –r XPrograma el reinicio del sistema, donde X será el número de minutos en el que se reiniciará el equipo.shutdown –h nowApaga el equipo saltándose el minuto de espera programado.shutdown –r nowReinicia el equipo saltándose la espera programada.rebootReinicia el sistema de la misma forma que el comando anterior.init 0Apaga el sistema.init 6Reinicia el sistema.startxInicia la interfaz gráfica si se encuentra instalada en el sistema.
Comandos de actualización:
apt-get update(distribuciones basadas en Debian): Actualiza los repositorios para añadir nuevas fuentes que instalarán las versiones más recientes de los programas que señales.apt-get upgrade(distribuciones basadas en Debian): ****Actualizará las aplicaciones que el comando ‘apt-get update’ haya actualizado, en caso de existir versiones más recientes.apt-get install xxxxx(distribuciones basadas en Debian): ****Donde xxxxx será el paquete correspondiente al programa que quieres instalar. Por ejemplo, ‘apt-get install libreoffice’.dpkg –i xxxx.debInstalador de paquetería para gestores de paquetes deb.yum install xxxxxx(distribuciones basadas en Red Hat): ****Instalador de paquetería para gestores de paquetes rpm.rpm –i xxxxxx.rpmInstalador de paquetería para gestores de paquetes rpm.
Comandos de administración:
adduser xxxxxxSe sustituye ****las x por el nombre del usuario que quieras añadir.passwd xxxxxxxDonde xxxxxxx será el nombre del usuario al que quieras cambiar la contraseña. Necesitarás conocer la contraseña ya establecida si quieres cambiarla.suInicia sesión como superusuario o root desde la sesión actual.exitCierra la sesión del superusuario o root.
Comandos de Red:

ifconfigLista las direcciones IP de todos los dispositivos del equipo.ping xxxxManda una señal que deberá ser devuelta por el equipo xxxx para comprobar si se encuentra en línea o no.whois xxxxxObtiene información acerca de un dominio xxxxx, como por ejemplo www.google.comwget xxxxDescargará el archivo xxxx. Deberemos proporcionarle una dirección completa como por ejemplo:https://direccionip/carpeta/subcarpeta/archivo.file
Con estos comandos comenzarás a dominar la terminal de Linux y sacarle el máximo provecho a este sistema operativo. ¡Espero haberte ayudado! Si quieres aprender a administrar remota y localmente servidores Linux y desplegar proyectos, es obligatorio que tomes este curso: Linux desde cero.

