La guía definitiva para aprender a usar la terminal de Linux
Miedo, esa emoción dolorosa causada por la espera de un peligro inminente, que crea la sensación de ansiedad que a tantos paraliza, el temor, pavor, como un niño al que asustan con el “hombre del saco”, el monstruo de debajo de la cama o “el coco”.
Miedo, aquello que lleva a los usuarios de Windows a huir de todo lo relacionado con Linux, debido a su extrema CLI-fobia (miedo a la Command Line Interface o interfaz de línea de comandos).
Ese miedo, acaba hoy. Os traigo todo lo necesario para que esa temida terminal pase a ser una de vuestras herramientas más útiles . Los comandos y atajos de teclado más prácticos y usados con los que casi preferiréis la Línea de Comandos a la interfaz gráfica (tan molesta a veces…).
Cada vez que he realizado alguna reparación sobre un ordenador que ya contaba con casi una década a sus espaldas, me han hecho la misma pregunta: “ ¿Qué puedo hacer para que vaya más rápido? ”. Mi respuesta siempre es que prueben alguna distribución Linux . Además siempre respondo de la misma forma: “Si usted quiere le puedo preparar un USB para que trabaje desde él, pruebe Linux y si no funciona, puede continuar usando su Windows de siempre, ya que este método no es intrusivo en absoluto con el sistema del disco duro.”
Pues ni con tantas facilidades si quiera, acceden a probar Linux. Pocos son los que directamente me dicen que no, que han oído de gente que ha tenido muchísimos problemas a la hora de trabajar con Linux. En la mayoría de las ocasiones intentan razonarme que son usuarios con poca experiencia y no saben trabajar con comandos, que eso de la terminal les suena pero de los aeropuertos, que si van a borrar algo sin querer con los comandos… Y como veis el denominador común es la línea de comandos o terminal .
Con el fin de abrir los ojos a los usuarios que dicen que la terminal es difícil de manejar, que son miles y miles los comandos que van a tener que recordar, y para remitir a esta publicación a todo aquel que se atreva a ponerme como excusa el complejo uso de la terminal, dejo hoy aquí un listado con los comandos más usados y los atajos de teclado más útiles a la hora de trabajar con dicha interfaz, la terminal de Linux.
Navegando por los directorios
pwd: “Print working directory” (Muestra el directorio de trabajo), nos mostrará la ruta en la que nos encontramos actualmente. Muy útil si hemos estado saltando de subcarpeta en subcarpeta y el prompt nos muestra sólo una ruta abreviada.
ls: Nos muestra una lista con el contenido del directorio actual (o el que le pasemos 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, etc…
ls –a: Muestra una lista de todos los ficheros del directorio, incluyendo los ficheros o carpetas ocultos.
cd: nos lleva al directorio raíz.
cd.. : Subiremos un nivel en el árbol de directorios. Si por ejemplo nos encontramos en /home/usuario, con este comando nos iremos a /home.
Examinando archivos
file: determina el tipo de un archivo.
cat: muestra el contenido de un archivo
less: muestra el contenido de un archivo, y lo va paginando en caso de que sea necesario por ser 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, utilizamos el mismo que para mover archivos o directorios, y lo que hacemos 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 se diese 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 poder usarlo con directorios evitando problemas.
Atajos de teclado
Ctrl + Alt + Fn (1-6): Para abrir terminales a pantalla completa. Requiere autentificación con usuario y contraseña. Cambiaremos a la terminal correspondiente a la tecla Fn que pulsemos, correspondiendo ésta al orden en el que las abrimos. En Linux podemos tener múltiples terminales funcionando simultáneamente, por defecto controlaremos hasta 6 con esta combinación de teclas. Por ejemplo Ctrl + Alt + F1 nos lleva a la primera terminal abierta.
tty: Con este comando, en el caso de tener varias terminales abiertas, nos dirá en cuál nos encontramos.
Ctrl + Alt + F7: Nos devolverá al entorno gráfico (si usábamos alguno).
Shift (Mayus) + RePág: Realizaremos scroll hacia arriba en la terminal.
Shift (Mayus) + AvPág: Realizaremos scroll hacia abajo en la terminal.
Tab (Tabulador): Completará el comando, nombre de fichero o directorio que estemos escribiendo. En caso de múltiples coincidencias, con una doble pulsación de esta tecla obtendremos todos los resultados posibles encontrados en el directorio o sistema.
Flecha de dirección ‘arriba’ y /o ‘abajo’: Nos moveremos por el historial compuesto por los últimos comandos usados.
Ctrl + r: Buscará en el historial el último comando usado según lo que vayamos escribiendo. Por ejemplo utilizamos el comando clear hace unas horas, si pulsamos Ctrl + r y escribimos cl nos mostrará el comando clear, puesto que lo ha buscado en el historial y es el más reciente que coincide.
Ctrl + c: Interrumpe cualquier proceso en ejecución de forma inmediata y nos devuelve al prompt.
Ctrl + z: Envía el proceso actual a segundo plano. Para recuperarlo sólo tendremos que escribir fg y pulsar Intro.
Ctrl + d: Cierra la sesión de la terminal en la que nos encontramos. Si estamos usando una interfaz gráfica en la que hemos abierto una terminal, ésta sólo se cerrará.
Ctrl + w: Elimina la palabra anterior a la posición del cursor.
Ctrl + k: Corta todo aquello que se encuentra entre la situación del cursor y el final de la línea.
Ctrl + u: Corta la línea en la que nos encontramos al completo.
Ctrl + y: Pega el contenido copiado o cortado con Ctrl + u o Ctrl + k.
!!: Repetirá el último comando usado.
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 estamos 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 Microprocesador
cat /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 administración
adduser xxxxxx: Donde sustituiremos las x por el nombre del usuario que queramos añadir.
passwd xxxxxxx: Donde xxxxxxx será el nombre del usuario al que queramos cambiar la contraseña. Necesitaremos conocer la contraseña ya establecida si queremos cambiarla.
su: Inicia sesión como superusuario o root desde la sesión actual.
exit: Cierra la sesión del superusuario o root, volviendo al usuario desde la que se inició.
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 (recordamos que Ctrl + z establecía procesos en segundo plano).
fg: Trae de vuelta el proceso más reciente puesto en segundo plano.
Comandos de actualización
apt-get update: Actualiza los repositorios para añadir nuevas fuentes que instalarán las versiones más recientes de los programas que indiquemos.
apt-get upgrade: Actualizará las aplicaciones que el comando ‘apt-get update’ haya actualizado, en caso de existir versiones más recientes.
apt-get install xxxxx: Donde xxxxx será el paquete correspondiente al programa que queremos instalar. Por ejemplo, ‘apt-get install libreoffice’.
dpkg –i xxxx.deb: Instalador de paquetería para gestores de paquetes deb.
yum install xxxxxx: Instalador de paquetería para gestores de paquetes rpm.
rpm –i xxxxxx.rpm: Instalador de paquetería para gestores de paquetes rpm.
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 ésta se encuentra instalada en el sistema.
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.com
wget xxxx: Descargará el archivo xxxx. Deberemos proporcionarle una dirección completa como por ejemplo: https://direccionip/carpeta/subcarpeta/archivo.file
Comandos de comandos
man xxxxx: Muestra el manual de uso o configuración del programa xxxxx.
man –k xxxxx: Muestra las páginas de manual que contengan la palabra xxxxx.
apropos xxxxx: Lista las páginas de manual que tratan acerca del comando xxxxx.
whereis xxxxx: Muestra la localización más probable para el programa xxxxxx.