Comandos en Linux que quizás no conocías
Seas un DevOps, sysadmin, desarrollador o simplemente un fanático de sistemas basados en GNU/Linux, a veces no utilizamos o simplemente no conocemos todos los comandos existentes que vienen integrados dentreo del sistema operativo. Así que hoy te traigo algunos comandos que no son tan comunes y que también te pueden ayudar en tu día a día dentro de tu terminal.👨💻👩💻
mkpasswd 🤯
Este comando te permite generar una contraseña segura directamente en tu terminal. Sin argumentos, por defecto te genera una contraseña de longitud 9, pero si lo deseas, agregamos el argumento -l
y especificamos la longitud.
Sin argumentos:
$ mkpasswd
#> 5zc3kP*eg
Con una longitud específica:
$ mkpasswd -l 12
#> YmH!Aip36FV^
cmp
Compara dos archivos byte por byte y señala donde difieren entre sí, si no difieren en nada, no muestra nada, de lo contrario, específica la posición y el número de byte.
# sintáxis
# $ cmp [OPTIONS] ... FILE1 FILE2
$ cmp go.mod go.sum
#> go.mod go.sum differ: char 1, line 1
Y si deseas sacarle más provecho y necesitas más información, puedes utilizar algunas de sus opciones:
-b --print-bytes Imprime los bytes en los que difieren
-l Imprime TODOS los bytes en los que difieren
-n Compara hasta un límite de bytes.
-s --quiet --silent No imprime nada
top 📈
Este comando tal vez algunos lo conozcan, Table of Process por sus siglas en inglés. Muestra un listado en tiempo real de los procesos que se están ejecutando en el sistema, especifica el % de uso en CPU, memoria, ID del proceso y mucha información útil.
$ top
![](https://codingtaco.com/content/images/2022/07/linuxtop.png)
nl
El comando nl
enumera tiene como salida una enumeración de líneas, teniendo como entrada un archivo. Es decir, pinta en la terminal las lineas que tiene un determinado archivo que se le pase.
$ nl test1.txt
1 North Memphis
2 Pharmacist
3 -
4 Live Another Day
5 Kordhell
6 -
7 kitty phonk
8 soviss
9 -
10 UPGRADE
11 OFFL1NX
grep
Uno de los comandos que más ampliamente uitlizo en mi día a día es sin duda alguna grep
, permite buscar un patrón de texto específico dentro de un archivo o un grupo de archivos, es decir, dado un archivo/s busca dentro de ellos lo que tú le proporciones.
Quiero buscar si dentro del archivo test1.txt
existe algo que coincida con el texto kitty
$ grep "kitty" test1.txt
#> kitty phonk
Y como pueden observar, si existe y me trae la línea completa del lugar donde encontró lo que estaba buscando.
man
Abreviado de manual
es un comando que nos permite, tal cual como dice su nombre, tener un manual de cada comando que tienen los sistemas basados en GNU/Linux. Es decir, nos permite acceder a la documentación de los comandos (como los que ya estuvimos viendo arriba).
Sintáxis
$ man [COMMAND]
$ man grep
GREP(1) General Commands Manual GREP(1)
NAME
grep, egrep, fgrep, rgrep, bzgrep, bzegrep, bzfgrep, zgrep, zegrep, zfgrep – file pattern searcher
SYNOPSIS
grep [-abcdDEFGHhIiJLlMmnOopqRSsUVvwXxZz] [-A num] [-B num] [-C[num]] [-e pattern] [-f file]
[--binary-files=value] [--color[=when]] [--colour[=when]] [--context[=num]] [--label]
[--line-buffered] [--null] [pattern] [file ...]
DESCRIPTION
The grep utility searches any given input files, selecting lines that match one or more patterns. By
default, a pattern matches an input line if the regular expression (RE) in the pattern matches the input
line without its trailing newline. An empty expression matches every line. Each input line that
matches at least one of the patterns is written to the standard output.
grep is used for simple patterns and basic regular expressions (BREs); egrep can handle extended regular
expressions (EREs). See re_format(7) for more information on regular expressions. fgrep is quicker
than both grep and egrep, but can only handle fixed patterns (i.e., it does not interpret regular
expressions). Patterns may consist of one or more lines, allowing any of the pattern lines to match a
portion of the input.
zgrep, zegrep, and zfgrep act like grep, egrep, and fgrep, respectively, but accept input files
compressed with the compress(1) or gzip(1) compression utilities. bzgrep, bzegrep, and bzfgrep act like
Y por último, tenemos a un comando peculiar...
yes
Este comando lo único que hace es imprimir en pantalla una cadena de texto, la cual le pasas y la imprime hasta que detengas el proceso y eso es todo, sin duda alguna algo raro pero divertido.
$ yes codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
codingtaco.com
^C
Conclusión
Como pudimos observar, existen una gran cantidad de comandos que podemos uitlizar y que nos pueden ayudar a agilizar algunas tareas, en especial cuando trabajamos o utilizamos más la terminal que entornos gráficos.
¿Cónocemos algún otro comando que no sea tan conocido?, comentalo para la segunda parte.