10 comandos útiles de Linux menos conocidos - Parte V


Después de cuatro artículos muy apreciados y exitosos sobre "Comandos de Linux menos conocidos", aquí les presentamos el último artículo de esta serie, obviamente no menos importante. Los artículos anteriores son:

  1. 11 comandos de Linux útiles menos conocidos - Parte I
  2. Diez comandos de Linux menos conocidos - Parte II
  3. Diez comandos menos conocidos para Linux - Parte III
  4. Diez comandos de Linux efectivos menos conocidos - Parte IV

42. lsb_release

El comando "lsb_release" imprime información específica de la distribución. Si lsb_release no está instalado, puede usar el paquete "lsb-core" en Debian o yum "redhat-lsb" en Red Hat.

# lsb_release -a

LSB Version:    :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:
Distributor ID: CentOS
Description:    CentOS release 6.3 (Final)
Release:        6.3
Codename:       Final

Nota: La opción "-a", muestra toda la información disponible con respecto a la versión, id, descripción, lanzamiento y nombre en clave.

43. nc -zv localhost 80

Compruebe si el puerto 80 está abierto o no. Podemos reemplazar "80" con cualquier otro número de puerto para verificar si está abierto o cerrado.

$ nc -zv localhost 80

Connection to localhost 80 port [tcp/http] succeeded!

Compruebe si el puerto 8080 está abierto o no.

$ nc -zv localhost 8080

nc: connect to localhost port 8080 (tcp) failed: Connection refused

44. curl ipinfo.io

El siguiente comando generará la "Ubicación geográfica" de la dirección IP, proporcionada.

$ curl ipinfo.io 

"ip": "xx.xx.xx.xx",
"hostname": "triband-del-aa.bbb.cc.ddd.bol.net.in",
"city": null,
"region": null,
"country": "IN",
"loc": "20,77",
"org": "AS17813 Mahanagar Telephone Nigam Ltd."

45. encontrar. -usuario root

El siguiente comando genera los archivos con respecto a los archivos propiedad del usuario (raíz). Todos los archivos propiedad del usuario "root" en el directorio actual.

# find . -user root

./.recently-used.xbel
./.mysql_history
./.aptitude
./.aptitude/config
./.aptitude/cache
./.bluefish
./.bluefish/session-2.0
./.bluefish/autosave
./.bash_history

Todos los archivos propiedad del usuario "avi" en el directorio actual.

# find . -user avi

./.cache/chromium/Cache/f_002b66
./.cache/chromium/Cache/f_001719
./.cache/chromium/Cache/f_001262
./.cache/chromium/Cache/f_000544
./.cache/chromium/Cache/f_002e40
./.cache/chromium/Cache/f_00119a
./.cache/chromium/Cache/f_0014fc
./.cache/chromium/Cache/f_001b52
./.cache/chromium/Cache/f_00198d
./.cache/chromium/Cache/f_003680

46. sudo apt-get build-dep ffmpeg

El siguiente comando creará la dependencia, automáticamente durante la instalación del paquete correspondiente. Por lo tanto, el proceso de instalación del paquete es muy fluido y sencillo.

# apt-get build-dep ffmpeg

libxinerama-dev libxml-namespacesupport-perl libxml-sax-expat-perl
libxml-sax-perl libxml-simple-perl libxrandr-dev libxrender-dev
x11proto-render-dev x11proto-xinerama-dev xulrunner-dev
The following packages will be upgraded:
libpixman-1-0
1 upgraded, 143 newly installed, 0 to remove and 6 not upgraded.
Need to get 205 MB of archives.
After this operation, 448 MB of additional disk space will be used.
Do you want to continue [Y/n]?

47. lsof -iTCP: 80 -sTCP: ESCUCHAR

El siguiente comando genera el nombre del proceso/servicio utilizando un puerto específico 80. Para comprender mejor, ejecute el siguiente comando en el puerto 80, enumerará todos los servicios/procesos que se ejecutan en el puerto.

[email protected]:/home/avi# lsof -iTCP:80 -sTCP:LISTEN

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 1566 root 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1664 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1665 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1666 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1667 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1668 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)

De la misma manera, también puede verificar los servicios/procesos en ejecución del puerto 22.

[email protected]:/home/avi# lsof -iTCP:22 -sTCP:LISTEN

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 2261 root 3u IPv4 8366 0t0 TCP *:ssh (LISTEN)
sshd 2261 root 4u IPv6 8369 0t0 TCP *:ssh (LISTEN)

48. encontrar -tamaño + 100M

El comando de búsqueda enumera todos los archivos en el directorio actual por encima del tamaño especificado (aquí 100 MB), de forma recursiva.

# find -size +100M

./.local/share/Trash/files/linuxmint-15-cinnamon-dvd-32bit.iso
./Downloads/Fedora-Live-Desktop-i686-19-1.iso
./Downloads/Ant Videos/shakira 2.avi
./Downloads/Deewar.avi
./Desktop/101MSDCF/MOV02224.AVI
./Desktop/101MSDCF/MOV02020.AVI
./Desktop/101MSDCF/MOV00406.MP4
./Desktop/squeeze.iso

Listado de todos los archivos cuyo tamaño sea superior a 1000 MB, dentro del directorio actual, de forma recursiva.

[email protected]:/home/avi# find -size +1000M

./Downloads/The Dark Knight 2008 hindi BRRip 720p/The Dark Knight.mkv.part
./Downloads/Saudagar - (1991) - DVDRiP - x264 - AAC 5.1 - Chapters - Esubs - [DDR]/Saudagar 
- (1991) - DVDRiP - x264 - AAC 5.1 - Chapters - Esubs - [DDR].mkv
./Downloads/Deewar.avi
./Desktop/squeeze.iso

49. pdftk

El comando pdftk fusiona varios archivos pdf en uno. Debe tener instalado el programa pdftk. Si no es así, haz apt o yum para obtener el paquete requerido.

$ pdftk 1.pdf 2.pdf 3.pdf …. 10.pdf cat output merged.pdf

50. ps -LF -u nombre_usuario

El siguiente comando genera procesos e hilos de un usuario. La opción “L” (listar subprocesos) y “-F” (Listado de formato completo).

$ ps -LF -u avi

avi 21645 3717 21766 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/
avi 21645 3717 21768 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/
avi 22314 3717 22314 0 2 42797 50332 0 19:00 ? 00:00:40 /usr/
avi 22314 3717 22316 0 2 42797 50332 1 19:00 ? 00:00:00 /usr/
avi 22678 24621 22678 0 1 969 1060 1 21:05 pts/1 00:00:00 ps -L
avi 23051 3717 23051 0 2 37583 45444 1 19:03 ? 00:00:52 /usr/
avi 23051 3717 23053 0 2 37583 45444 0 19:03 ? 00:00:03 /usr/
avi 23652 1 23652 0 2 22092 12520 0 19:06 ? 00:00:22 gnome
avi 23652 1 23655 0 2 22092 12520 0 19:06 ? 00:00:00 gnome

51. Iniciox -: 1

Compartir sesión X, significa iniciar y cerrar sesión con frecuencia, aquí es donde el comando Startx viene a rescatar. El comando crea una nueva sesión, por lo que no es necesario iniciar sesión y cerrar sesión con frecuencia. Para cambiar entre las dos sesiones X, debemos cambiar entre "ctrl+Alt + F7" y "ctrl+Alt + F8".

Nota: Las teclas "ctrl+Alt + F1", "ctrl+Alt + F6" son para la sesión de consola, y "ctrl+Alt + F7", "ctrl+Alt + F12" son para la sesión X. Por lo tanto, 6 sesiones de consola y 6 sesiones X, sin inicios y cierres de sesión frecuentes. La secuencia anterior funciona en la mayor parte de la distribución, sin embargo, una distribución diferente puede haberla implementado de manera diferente. Lo he comprobado en Debian y funciona perfectamente bien.

Eso es todo por ahora. Seguiremos creando otros comandos menos conocidos y un script de línea según sea necesario, en artículos futuros. No olvide darnos sus valiosos comentarios sobre nuestro artículo y la serie "Comandos de Linux menos conocidos". Vengo con mi próximo artículo muy pronto, hasta entonces, mantente saludable, sintonizado y conectado a Tecmint.