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.ls
Te muestra una lista con el contenido del directorio actual (o el que le pases como argumento, por ejemplo: “ls /home/usuario”).ls –l
Muestra 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 –a
Muestra una lista de todos los ficheros del directorio, incluyendo los ficheros o carpetas ocultos.cd
Te 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:
file
Determina el tipo de un archivo.cat
Muestra el contenido de un archivoless
Muestra el contenido de un archivo, y lo va paginando en caso de que sea muy extenso.
Manipulando archivos y directorios:
cp
Copia un fichero o directorio.cp –i
Copia un fichero o directorio y pregunta antes de sobrescribir si se diese el caso.cp –r
Copia un directorio con todo su contenido.mv
Mueve 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 –i
Mueve o renombra un fichero o directorio preguntando antes de sobrescribir si fuera el caso.mkdir
Crea un directorio.rmdir
Elimina un directorio vacío.rm
Elimina un fichero.rm –r
Elimina un directorio y todo su contenido.rm –i
Elimina un fichero solicitando confirmación. Es muy recomendable usarlo con la opción –r para que lo puedas utilizar con directorios evitando problemas.touch
Crea un nuevo archivo en la ubicación actual.
Comandos de proceso:
ps
Muestra los procesos que se encuentran activos en el sistema actualmente.top
Muestra todos los procesos en funcionamiento.kill “pid”
(process id): Detiene el proceso asignado al pid que muestra la salida del comando ps.bg
Muestra todos los procesos pausados o en segundo plano (recuerda que Ctrl + z establecía procesos en segundo plano).fg
Trae de vuelta el proceso más reciente puesto en segundo plano.
Comandos de Información del Sistema:
date
Muestra la fecha y hora al completo.cal
Muestra el calendario del mes en curso.whoami
Muestra el nombre del usuario con el que estás trabajando.w
Muestra qué usuarios están conectados actualmente.uptime
Muestra el tiempo que lleva encendido el sistema, y cuántos usuarios lo han usado.uname –a
Ofrece información del Kernel del sistema.cat /proc/cpuinfo
Muestra información del Microprocesadorcat /proc/meminfo
Muestra información de la memoria del equipo.free
Muestra la cantidad de memoria total, usada y libre, así como el espacio en la unidad de intercambio.
Comandos de inicio y apagado:
halt
Detiene todos los procesos y apaga el equipo.shutdown
Programa el apagado del sistema en 1 minuto.shutdown –r X
Programa el reinicio del sistema, donde X será el número de minutos en el que se reiniciará el equipo.shutdown –h now
Apaga el equipo saltándose el minuto de espera programado.shutdown –r now
Reinicia el equipo saltándose la espera programada.reboot
Reinicia el sistema de la misma forma que el comando anterior.init 0
Apaga el sistema.init 6
Reinicia el sistema.startx
Inicia 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.deb
Instalador 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.rpm
Instalador de paquetería para gestores de paquetes rpm.
Comandos de administración:
adduser xxxxxx
Se sustituye ****las x por el nombre del usuario que quieras añadir.passwd xxxxxxx
Donde xxxxxxx será el nombre del usuario al que quieras cambiar la contraseña. Necesitarás conocer la contraseña ya establecida si quieres cambiarla.su
Inicia sesión como superusuario o root desde la sesión actual.exit
Cierra la sesión del superusuario o root.
Comandos de Red:
ifconfig
Lista las direcciones IP de todos los dispositivos del equipo.ping xxxx
Manda una señal que deberá ser devuelta por el equipo xxxx para comprobar si se encuentra en línea o no.whois xxxxx
Obtiene información acerca de un dominio xxxxx, como por ejemplo www.google.comwget xxxx
Descargará 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.