Recopilación: los 44 mejores trucos para Linux

Tux super saiyan Linux

Este artículo va dirigido tanto para los que ya llevan un tiempo “trasteando” Linux, pero que aun siguen con algunas dudas o problemas con la plataforma del pingüino, como para los más novatos que desean aprender cosas nuevas que hacer en sus distribuciones GNU/Linux. Para ellos he recopilado este ranking de los mejores trucos y los más prácticos.

Como sabéis, en los sistemas operativos *nix se hace un uso intensivo de la consola de comandos, aunque las modernas interfaces gráficas hayan irrumpido y cada vez sean mejores y más extendidas, estos sistemas tienen gran dependencia de la consola por su rendimiento y poder. Es bueno que no se pierda esta herencia del pasado, puesto que es precisamente lo que debilita a otros sistemas.

Es el caso de Apple Mac OS X, en el que se apuesta seriamente por la GUI y se ha descuidado enormemente las herramientas para el terminal. Esto ha hecho que OS X no sea un sistema operativo tan usado y potente a la hora de realizar ciertas tareas (p.e.: para el pentesting, al igual que Windows, que apesar de la cantidad de herramientas disponibles, éstas no son presisamente rápidas y potentes…).

Pues bien, como realizar tareas en modo gráfico es relativamente sencillo, vamos a centrar sobre todo los trucos a la consola y dar una serie de consejos para realizar tareas prácticas y cotidianas desde la consola. Aunque también habrá algunas ideas prácticas para otras herramientas gráficas.

Optimiza tu experiencia con el shell Bash:

La consola de Linux por excelencia, bash, es maravillosa para trabajar con ella, aunque a muchos les resulte tedioso trabajar en modo texto. Para comprenderla mejor y trabajar más fácilmente, te enseñaremos estos trucos de manejo que te facilitarán la vida y los comandos Linux esenciales para sacar el máximo partido del terminal:

  • Autocompleción de comandos: para que la consola autocomplete el nombre de un comando o nombre de fichero/directorio con tan solo escribir las primeras letras, puedes usar la tecla Tab (tabulador). Es simple, teclea las primeras letras de un comando o dirección y luego pulsa Tab para autocompletar. En caso de que existan varios nombres que coincidan con las letras escritas, puedes seguir pulsando Tab para mostrar más posibilidades o simplemente seguir escribiendo más letras.
  • Historial de comandos: si dudas de la sintaxis de un comando que has utilizado recientemente o simplemente quieres recuperarlo para evitar teclearlo de nuevo, puedes usar el historial de comandos que Bash guarda (en ~/.bash_history). Para ello solo tienes que escribir “history” sin comillas y pulsar INTRO. Otra opción de explotar las virtudes del historial es utilizar las teclas de flechas arriba y abajo para “navegar” por el historial de comandos e ir haciendo que aparezcan los comandos almacenados delante del prompt actual. También puedes utilizar la combinación de teclas Ctrl+P y Ctrl+N para hacer esta misma tarea.
  • Buscar comandos ya utilizados: gracias al historial que hemos estudiado en el párrafo anterior, se pueden buscar comandos empleados en el pasado. Solo hay que usar Ctrl+R para una búsqueda retrospectiva o Ctrl+S para una búsqueda hacia delante. Este método es una combinación entre el historial de comandos y el de compleción, por lo que tenemos que escribir las primeras letras del comando que deseamos recuperar.
  • Borrar historial: si queremos borrar el historial para que otro usuario de nuestro equipo no tenga acceso a los comandos que hemos utilizado o simplemente por borrar el fichero que ya se encontraba bastante saturado de comandos por un uso intensivo del terminal, puedes utilizar “history -c” sin comillas y se borra nuestro historial (para el usuario actual). En cambio, si quieres borrar el historial completamente, puedes utilizar:
cat /dev/null > ~/.bash_history
  • Modificar o corregir líneas ya escritas: si hemos buscado una línea del historial o utilizamos autocompletar, pero deseamos actualizar la línea para otro uso o simplemente la sintaxis no es adecuada, podemos usar Ctrl+A y Ctrl+E para desplazar el cursor al comienzo de la línea o al final respectivamente. Si queremos ir saltando carácter a carácter en un sentido u otro, pdemos usar las teclas de las flechas izquierda o derecha. En cambio, si queremos dar saltos de palabra en palabra en vez de carácter a carácter, podemos emplear Ctrl+Flecha (izquierda o derecha) de nuestro teclado. Una vez llegamos a un punto, se puede borrar el carácter bajo el cursor con la tecla Supr o la que hay a la izquierda con la tecla Retroceso. Si queremos borrar los caracteres que hay desde el cursor hasta el final de la línea se emplea Ctrl+K y luego aprietas Retroceso. Para borrar desde el cursor hacia el principio de la líena se emplea Ctrl+X y luego Retroceso.
  • Cambiar mayúsculas por minúsculas o viceversa: puedes cambiar las minúsculas por mayúsculas o lo contrario situando el cursor donde deseamos y luego pulsando Esc seguido de C o de L.
  • Copiar y pegar texto en la línea de comandos: a parte de con el botón derecho del ratón, se puede emplear la combinación de teclas Ctrl+Shift+C para copiar y Ctrl+Shift+V para pegar. Por cierto, Shift es la tecla de mayúsculas, pero la que hay bajo la tecla “Bloq Mayus”, para los que no lo sepan. Aunque parezca una tontería, a veces no disponemos de un ratón para actuar y es interesante conocer estos atajos de teclado. Por ejemplo, esto me ha pasado en ocasiones con Raspbian para la Raspberry Pi, en la cual no disponía de un ratón para conectar a la placa.
  • Script: los script son muy prácticos para automatizar tareas cotidianas, imagina que deseas ve el historial, borrar la pantalla actual y luego borrar el historial completamente. Esto necesitaría de una serie de comandos y si es una tarea que realizas a diario, quizás te interese crear un script que lo haga todo de una vez y automáticamente y tan solo tienes que ejecutarlo para realizar dicha tarea. Para crearlo, escribimos el siguiente texto con un editor de texto y lo guardamos con la extensión .sh y le damos permisos de ejecución. Imagina el ejemplo que hemos puesto, el texto sería:
 #!/bin/bash
history
clear
cat /dev/null > ~/.bash_history
echo "El historial se ha borrado. Gracias.”
  • Para ejecutarlo, imagina que lo hemos denominado borrado.sh, pues desde el directorio donde se encuentra, escribimos lo siguiente y pulsamos INTRO (ahorrandonos escribir el comando history para mostrar el historial, clear para borrar la pantalla y la línea cat para borrar el fichero que guarda el historial, aunque este script no tiene mucho sentido, pero es un ejemplo fácil para que lo entiendas):
 ./borrado.sh

Trucos prácticos y comandos para exprimir nuestro terminal:

Una vez sabemos como aprovechar las ventajas que nos ofrece bash para obtener una mejor experiencia, podemos comenzar a explotar las herramientas que se pueden usar a través de él:

  • Saber en el directorio que me encuentro:
pwd
  • Cambiar a otro directorio:
cd /ruta/del/nuevo/directorio/o/fichero
  • Volver al directorio anterior:
cd ..
  • Ir directamente a tu directorio personal o al de otro usuario que especifiques:
cd ~nombre_usuario
  • Ir al directorio raiz:
cd /
  • Crear un directorio:
mkdir nombre_directorio
  • Borrar directorios o ficheros:
rmdir nombre_directorio
rm nombre_fichero
  • Listar el contenido de un directorio:
 ls 
  • Ver los documentos ocultos en un directorio:
ls -a
  • Buscar un fichero en todo el sistema:
 find / -name nombre_fichero
  • Estimar el espacio utilizado por un directorio:
 du -sh /directorio
  • Realizar un backup de un directorio en otro: imagina que deseas realizar una copia de seguridad del directorio /home y guardarla en /temp y que el backup se llame copia1:
 dump -0aj -f /tmp/copia1.bak /home
  • Crear una imagen ISO de un disco rápido y fácil:
 mkisofs /dev/cdrom > nombre_imagen.iso
  • ¿Tu sistema se ha quedado bloqueado por culpa de un programa en modo gráfico? Puedes forzar el cierre de este programa que ha fallado para volver a la normalidad con xkill. Solo tienes que teclear lo siguiente y verás que el cursor del ratón se ha transformado en un aspa, con ella toca la ventana que deseas forzar al cierre y listo:
 xkill
  • ¿Quieres volver a ejecutar el último comando ingresado? Teclea:
 !! 
  • Ingresar un comando sin que se guarde en el historial: solo tienes que poner un espacio delante del comando que desees excluir del listado del historial. Por ejemplo, si quieres que ls no se liste en el historial de bash, escribe:
 ls 
  • Conseguir información sobre como utilizar un comando cualquiera:
 man nombre_comando
  • Ver los componentes hardware de nuestro sistema:
 dmidecode -q
  • Mostrar las características técnicas de un disco duro:
 sudo hdparm -i /dev/sda
  • Mostrar información detallada de la CPU:
 cat /proc/cpuinfo
  • ¿Necesitas un calendario rápido? Para conseguir un calendario de un año determinado, solo tienes que teclear lo siguiente (p.e.: para mostrar uno de este año):
 cal 2015
  • O si lo deseas de un mes concreto, por ejemplo octubre:
 cal 10 2015
  • Apagar el sistema a una hora determinada. Imagina que estás descargando algo que tardará un buen rato y deseas salir de casa. Para que el equipo no esté consumiendo electricidad hasta que regreses y sin dejar a medias la descarga, puedes programar el apagado a una hora determinada con este comando. Por ejemplo, imagina que deseas apagarlo a las 08:50:
 shutdown -h 08:50
  • Saber nuestra IP: para ello podemos utilizar el comando ifconfig y buscar el campo “inet addr:” que determinará nuestra IP. Es sencillo, pero esto nos da nuestra IP interna. Si lo que queremos e sla IP externa o púclica:
 curl ifconfig.me/ip
  • Limpiar la pantalla del terminal para no agobiarte con tanto texto y disponer de un entorno límpio. Es útil tras haber ejecutado muchos comandos o con ciertas herramientas que devuelven multitud de información textual colapsando la pantalla del terminal. Cuando ya no lo quieras, puedes dejar el shell como nuevo con Ctrl+L o si lo deseas:
 clear
  • Comunicación en máquinas virtuales: si empleas VirtualBOX o VMWare para virtualizar otro sistema operativo, ya sea Linux o diferente, puedes estar pensando cómo puedes enlazar a nivel de red la máquina virtual (guest) y la máquina física (host) o incluso como conectar dos máquinas virtuales entre sí. Pues bien, tan solo tienes que acceder a la configuración de red de la máquina virtual y seleccionar una configuración NAT para crear un vínculo directo entre dos máquinas virtuales o Bridge para comunicar una máquina virtual con la física. En el primer caso no tienes que hacer nada, pero en caso de seleccionar un modo Bridge, deberás configurar la IP del guest para que esté en el mismo rango que el host físico. Por ejemplo, imagina que tu equipo físico tiene una IP (puedes comprobarlo con ifconfig) 192.168.1.3 y que la máquina virtual e otra distro de Linux. Pues bien, deberías abrir el terminal de la máquina virtual y teclear “ifconfig eth0 IP_nueva” sin comillas y sustituyendo IP_nueva por la IP que deseas (recuerda también que si estás usando otro dispositivo de red diferente a eth0, lo tienes que especificar). Esta nueva IP debe estar en el mismo segmento de red que la de la máquina física, así que tiene que tener el aspecto 192.168.1.X, siendo X cualquier número del 0 a 255. Por ejemplo, esto valdría en este caso:
 ifconfig eth0 192.168.1.10
  • Silenciar mensajes de error molestos: yo aconsejo primero solucionar o supervisar el problema y ver que no se trata de algo grave. Pero en ocasiones, algunos errores puntuales o inofensivos generan un fichero de error que hará que salte un molesto mensaje avisandonos del problema y pidiendo reportar el problema para solucionarlo. Si quieres evitar ese molesto mensaje de “Se ha detectado un problema…” o similares, puedes teclear lo siguiente:
 sudo rm /var/crash/*
  • Disco duro al límite de capacidad (liberar espacio): para liberar espacio puedes emplear por ejemplo la siguiente sucesión de comandos (eso hará que se borren ficheros innecesarios que ocupan espacio sin ser precisos)
 sudo apt-get autoclean sudo apt-get celan sudo apt-get autoremove
  • Comprobar el espacio disponible y utilizado del disco duro: para hacer esto, podemos utilizar un sencillo comando que nos arroja datos sobre el espacio libre y utilizado de las particiones presentes, incluido el porcentaje:
 df -H
  • Averiguar las bibliotecas que utiliza un programa: por ejemplo, imagina que deseas ver las bibliotecas de las que depende el programa “ls”:
 ldd /bin/ls
  • Buscar y borrar todos los ficheros con una determinada extensión: imagina que deseas borrar todas las imágenes con extensión .gif de tu sistema (sea cual sea su nombre). Teclea:
 find -name *.gif | xargs rm -rf
  • Saber qué puertos tenemos abiertos: para saber qué puertos tenemos abiertos podemos utilizar estos dos comandos, uno para los TCP y el otro para UDP:
 nmap -sS -O
nmap -sU -O
  • Saber qué shell estamos utilizando: como sabes existen varios, aunque bash es el más extendido hay otros. Para saber con qué shell estamos trabajando, puedes teclear la siguiente orden que nos devuelve su nombre:
 echo $SHELL
  • Información sobre la versión del kernel, arquitectura y distro: podemos saber información acerca de la versión del kernel Linux que utiliza nuestra distro, además de la arquitectura de nuestro procesador y la distribución que utilizamos. Solo debes teclear:
 uname -a
  • Detectar si nuestro sistema está en peligro por la existencia de rootkits: los rootkits son herramientas malintencionadas como sabrán, estas herramientas permiten un acceso root a usuarios malitencionados. Para detectar si nuestro sistema está infectado por uno, descargamos este paquete y luego (desde el directorio donde se encuentra el fichero descargado, recuerda emplear cd para dirigirte a él):
 tar -xvf chkrootkit.tar.gz
cd chkrootkit-0.49/
make sense
./chkrootkit

Espero que te haya servido de ayuda. No olvides comentar para dar tu opinión y si lo deseas, pedirnos que agreguemos algún que otro truco que te parezca interesante. Estamos abiertos a vuestras peticiones.

Más información y tutoriales de nuestro blog – Las mejores alternativas Linux a programas Windows, Cómo instalar cualquier paquete en Linux


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Sranderson dijo

    Copiar y pegar texto con el teclado se hace de formas más cómoda con:

    Ctrl + Insert –> copia
    Shift + Insert -> pega

  2.   Pepe Matias dijo

    con el raton seleccionas y boton central pegas. mas facil imposible.

  3.   Richard Luna Fuentes dijo

    Excelente aporte, me sirve de mucho para la carrera de informatica a la cual voy a estudiar

  4.   Tiendas de informatica online dijo

    Que buen aporte! Lo enlazaré en mis páginas web.

  5.   kike dijo

    genial resumen, muchas gracias

  6.   Jorge Luis Arellano Zubiate -- Luckord dijo

    Muchas gracias…
    Son muy útiles los comandos que mencionas.
    Saludos desde Lima – Perú
    — Linux Mint 20 —