comandos linux-
comandos linux-
comandos linux-
En el momento de escribir esto, Linux tiene una cuota de mercado mundial del 2,68% en
ordenadores de escritorio, pero más del 90% de toda la infraestructura en la nube y los
servicios de alojamiento se ejecutan en este sistema operativo. Solo por esta razón, es
crucial estar familiarizado con los comandos populares de Linux.
Tanto si eres un administrador de sistemas con experiencia como si eres un recién llegado a
Linux, puedes aprovechar esta guía.
¡Comencemos!
¿Qué es un comando de Linux?
Un comando Linux es un programa o utilidad que se ejecuta en la línea de comandos. Una
línea de comandos es una interfaz que acepta líneas de texto y las procesa en forma de
instrucciones para tu ordenador.
Cualquier interfaz gráfica de usuario (GUI) no es más que una abstracción de los programas
de línea de comandos. Por ejemplo, cuando cierras una ventana haciendo clic en la «X», hay
un comando que se ejecuta detrás de esa acción.
Un argument o parámetro es la input que damos a un comando para que pueda ejecutarse
correctamente. En la mayoría de los casos, el argumento es una ruta de archivo, pero
puede ser cualquier cosa que se escriba en el terminal.
Puedes invocar flags utilizando guiones (-) y guiones dobles (--), mientras que la
ejecución de los argumentos depende del orden en que los pase a la función.
Ahora vamos a sumergirnos en los 40 comandos de Linux más utilizados. Muchos de ellos
tienen múltiples opciones que puedes encadenar, así que asegúrate de revisar el manual de
los comandos.
1. Comando ls
ls
Tiene muchas opciones, así que puede ser bueno obtener algo de ayuda usando el flag --
help. Este flag devuelve todas los flag que puedes utilizar con ls.
Por ejemplo, para colorear la salida del comando ls, puede utilizar lo siguiente:
ls --color=auto
— El comando ls coloreado.
Ahora la salida del comando ls está coloreada, y se puede apreciar la diferencia entre un
directorio y un archivo.
Pero escribir ls con el flag de color sería ineficiente; por eso usamos el comando alias.
2. Comando alias
Por ejemplo, para que ls tenga color sin tener que teclear el flag --color cada vez, se
usaría:
alias ls="ls --color=auto"
Como puedes ver, el comando alias toma un par de parámetros clave-valor: alias
NAME="VALUE". Ten en cuenta que el valor debe estar entre comillas.
Si quieres listar todos los alias que tienes en tu sesión de shell, puedes ejecutar el comando
alias sin argumento.
alias
— El comando alias.
3. Comand unalias
Como su nombre indica, el comando unalias tiene como objetivo eliminar un alias de
los ya definidos. Para eliminar el alias ls anterior, puedes utilizar:
unalias ls
4. Comando pwd
El comando pwd significa «imprimir el directorio de trabajo» y muestra la ruta absoluta del
directorio en el que se encuentra. Por ejemplo, si tu nombre de usuario es «john» y está en tu
directorio Documentos, tu ruta absoluta sería /home/john/Documents.
pwd
# My result: /home/kinsta/Documents/linux-commands
5. Comando cd
El comando cd es muy popular, junto con ls. Se refiere a «cambiar de directorio» y, como
su nombre indica, te cambia al directorio al que intentas acceder.
Por ejemplo, si estás dentro del directorio Documentos y tratas de acceder a una de sus
subcarpetas llamada Vídeos, puedes entrar en ella escribiendo:
cd Videos
cd /home/kinsta/Documents/Videos
Hay algunos trucos con el comando cd que pueden ahorrarte mucho tiempo al jugar con él:
1. Ir a la carpeta de inicio
cd
2. Sube un nivel
cd ..
3. Volver al directorio anterior
cd -
6. Comando cp
Es tan fácil copiar archivos y carpetas directamente en el terminal de Linux que a veces
puede sustituir a los gestores de archivos convencionales.
Para utilizar el comando cp, basta con escribirlo junto con los archivos de origen y destino:
cp file_to_copy.txt new_file.txt
cp -r dir_to_copy/ new_copy_dir/
Recuerda que en Linux, las carpetas terminan con una barra diagonal (/).
7. Comando rm
Ahora que sabes cómo copiar archivos, te será útil saber cómo eliminarlos.
Puedes utilizar el comando rm para eliminar archivos y directorios. Sin embargo, ten
cuidado al usarlo, porque es muy difícil (aunque no imposible) recuperar los archivos
eliminados de esta manera.
rm file_to_copy.txt
rm -r dir_to_remove/
Por otro lado, para eliminar un directorio con contenido en tu interior, es necesario utilizar el
flag force (-f) y recursive:
rm -rf dir_with_content_to_remove/
Info
Ten cuidado con esto: ¡puedes borrar todo un día de trabajo si usas mal
estas dos flags!
8. Comando mv
Para utilizar este comando, debes escribir tu nombre con los archivos de origen y destino:
mv source_file destination_folder/
mv command_list.txt commands/
mv /home/kinsta/BestMoviesOfAllTime ./
mv old_file.txt new_named_file.txt
9. Comando mkdir
Para crear carpetas en el shell, se utiliza el comando mkdir. Solo tienes que especificar el
nombre de la nueva carpeta, asegurarte de que no existe y ya está.
Por ejemplo, para crear un directorio para guardar todas tus imágenes, solo tienes que
escribir:
mkdir images/
Para crear subdirectorios con un simple comando, utiliza el flag padre (-p):
mkdir -p movies/2004/
Otro comando esencial de Linux es man. Muestra la página del manual de cualquier otro
comando (siempre que tenga uno).
Para ver la página del manual del comando mkdir, escribe:
man mkdir
man man
— La página de manual de «man».
El comando touch permite actualizar los tiempos de acceso y modificación de los archivos
especificados.
Por ejemplo, tengo un archivo antiguo que fue modificado por última vez el 12 de abril:
— Fecha antigua.
Para cambiar su fecha de modificación a la hora actual, necesitamos utilizar el flag -m:
touch -m old_file
Ahora la fecha coincide con la de hoy (que en el momento de escribir este artículo era el 8 de
agosto).
— Nueva fecha
No obstante, la mayoría de las veces no se utilizará touch para modificar las fechas de los
archivos, sino para crear nuevos archivos vacíos:
touch new_file_name
12. Comando chmod
r (leer)
w (escribir)
x (ejecutar)
Uno de los casos más comunes de uso de chmod es hacer que un archivo sea ejecutable
por el usuario. Para ello, escriba chmod y el flag +x, seguido del archivo en el que desea
modificar los permisos:
chmod +x script
Se utiliza para hacer ejecutables los scripts, lo que permite ejecutarlos directamente
utilizando la notación ./.
13. Comando ./
Tal vez la notación ./ no sea un comando en sí mismo, pero vale la pena mencionarlo en
esta lista. Permite a tu shell ejecutar un archivo ejecutable con cualquier intérprete instalado
en tu sistema directamente desde el terminal. Se acabó el hacer doble clic en un archivo en
un gestor de archivos gráfico!
Por ejemplo, con este comando puedes ejecutar un script de Python o un programa solo
disponible en formato .run, como XAMPP. Cuando ejecutes un ejecutable, asegúrate de que
tiene permisos de ejecución (x), que puedes modificar con el comando chmod.
Aquí tenemos un sencillo script de Python y cómo lo ejecutaríamos con la notación ./:
#! /usr/bin/python3
# filename: script
for i in range(20):
chmod +x script
./script
El comando exit hace exactamente lo que tu nombre sugiere: Con él, puedes terminar
una sesión de shell y, en la mayoría de los casos, cerrar automáticamente el terminal que
estás utilizando:
exit
15. Comando sudo
Este comando significa «superuser do», y te permite actuar como superusuario o usuario root
mientras ejecutas un comando específico. Es la forma en que Linux se protege a sí mismo y
evita que los usuarios modifiquen accidentalmente el sistema de archivos de la máquina o
instalen paquetes inapropiados.
Sudo se utiliza comúnmente para instalar software o para editar archivos fuera del directorio
personal del usuario:
sudo cd /root/
Como puedes adivinar, el comando shutdown te permite apagar tu máquina. Sin embargo,
también puede utilizarse para detenerla y reiniciarla.
shutdown now
Para cancelar una llamada de shutdown anterior, puedes utilizar el flag -c:
shutdown -c
htop
— La interfaz «htop».
El comando unzip permite extraer el contenido de un archivo .zip desde el terminal. Una
vez más, este paquete puede no estar instalado por defecto, así que asegúrate de instalarlo
con tu gestor de paquetes.
unzip images.zip
19. Comandos apt, yum, pacman
Los siguientes ejemplos instalarán GIMP, un software libre y de código abierto que suele
estar disponible en la mayoría de los gestores de paquetes:
— El comando eco
# Hey kinsta
— El comando cat.
22. Comando ps
Con ps, puedes echar un vistazo a los procesos que tu sesión de shell actual está
ejecutando. Imprime información útil sobre los programas que está ejecutando, como el ID
del proceso, el TTY (Teletipo), la hora y el nombre del comando.
ps
— El comando ps.
En pocas palabras, kill envía una señal TERM o kill a un proceso que lo termina.
Puedes matar procesos introduciendo el PID (ID de los procesos) o el nombre binario del
programa:
kill 533494
kill firefox
Ten cuidado con este comando – con kill, corres el riesgo de borrar accidentalmente el
trabajo que has estado haciendo.
24. Comando ping
ping es la utilidad de terminal de red más popular que se utiliza para probar la conectividad
de la red. ping tiene un montón de opciones, pero en la mayoría de los casos, lo utilizarás
para solicitar un dominio o una dirección IP:
ping google.com
ping 8.8.8.8
vim es un editor de texto de terminal libre y de código abierto que se utiliza desde los años
90. Te permite editar archivos de texto plano utilizando combinaciones de teclas eficientes.
Algunas personas consideran que es difícil de usar — salir de Vim es una de las preguntas
más vistas en StackOverflow- pero una vez que te acostumbras a él, se convierte en tu mejor
aliado en la línea de comandos.
vim
— El editor de texto vim.
Si te cuesta recordar un comando, el history es muy útil. Este comando muestra una lista
enumerada con los comandos que has utilizado en el pasado:
history
— El comando history.
passwd te permite cambiar las contraseñas de las cuentas de usuario. En primer lugar, te
pide que introduzcas tu contraseña actual y, a continuación, te pide una nueva contraseña y
una confirmación.
Es similar a cualquier otro cambio de contraseña que hayas visto en otros lugares, pero en
este caso, es directamente en tu terminal:
passwd
— El comando passwd
El comando which muestra la ruta completa de los comandos del shell. Si no puede
reconocer el comando dado, arrojará un error.
Por ejemplo, podemos usar esto para comprobar la ruta binaria para Python y el navegador
web Brave:
which python
# /usr/bin/python
which brave
# /usr/bin/brave
Si alguna vez has querido que un archivo sea casi imposible de recuperar, shred puede
ayudarte con esta tarea. Este comando anula el contenido de un archivo repetidamente, y
como resultado, el archivo dado se vuelve extremadamente difícil de recuperar.
shred file_to_shred.txt
— Contenido sobreescrito.
shred -u file_to_shred.txt
less (opuesto a more) es un programa que permite inspeccionar archivos hacia atrás y
hacia adelante:
less large_text_file.txt
— El comando less.
Lo bueno de less es que incluye los comandos more y vim en su interfaz. Si necesitas
algo más interactivo que cat, less es una buena opción.
31. Comando tail
Similar a cat, tail imprime el contenido de un archivo con una advertencia importante:
sólo imprime las últimas líneas. Por defecto, imprime las últimas 10 líneas, pero puedes
modificar ese número con -n.
Por ejemplo, para imprimir las últimas líneas de un archivo de texto de gran tamaño, se
utilizaría:
tail long.txt
— El comando tail.
head long.txt
head -n 5 long.txt
— El comando head.
Grep es una de las utilidades más potentes para trabajar con archivos de texto. Busca
líneas que coincidan con una expresión regular y las imprime:
Puede contar el número de veces que se repite el patrón utilizando el flag -c:
# 2
whoami
# kinsta
# kinsta
whatis imprime una descripción de una sola línea de cualquier otro comando, lo que lo
convierte en una referencia útil:
whatis python
whatis whatis
36. Comando wc
wc long.txt
37 líneas
207 palabras
1000 bytes de tamaño
El nombre del archivo (long.txt)
wc -w long.txt
207 long.txt
uname (abreviatura de «Unix name») imprime la información del sistema operativo, lo que
resulta útil cuando se conoce la versión actual de Linux.
La mayoría de las veces, usted utilizará el flag -a (–all), ya que la salida por defecto no es
tan útil:
uname
# Linux
uname -a
Neofetch es una herramienta CLI (command-line interface) que muestra información sobre tu
sistema -como la versión del kernel, el shell y el hardware- junto a un logotipo ASCII de tu
distribución de Linux:
neofetch
— El comando neofetch.
En la mayoría de las máquinas, este comando no está disponible por defecto, así que
asegúrate de instalarlo primero con tu gestor de paquetes.
Para buscar archivos que terminen con una extensión .py (Python), puedes utilizar el
siguiente comando:
wget (World Wide Web get) es una utilidad para recuperar contenidos de Internet. Tiene una
de las mayores colecciones de flags que existen.
Así es como se descarga un archivo de Python desde un repositorio de GitHub:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Progr
Resumen
Puede llevar algún tiempo aprender Linux, pero una vez que domines algunas de sus
herramientas, se convertirá en tu mejor aliado, y no te arrepentirás de haberlo elegido como
tu conductor diario.
Una de las cosas destacables de Linux es que, incluso si eres un usuario experimentado,
nunca dejarás de aprender para ser más productivo usándolo.
Hay muchos más comandos de Linux útiles. Si nos hemos dejado algo, ¡comparte tus
comandos Linux favoritos en los comentarios de abajo!