10 comandos de Linux útiles 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 Lesser Known Useful Linux Commands – Part I
  2. 10 Lesser Known Linux Commands – Part II
  3. 10 Lesser Known Commands for Linux – Part III
  4. 10 Lesser Known Effective Linux Commands – Part IV

42. lsb_release

El comando "lsb_release" imprime información específica de la distribución. Si lsb_release no está instalado, puede utilizar 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. u200bu200bsudo apt-get build-dep ffmpeg

El siguiente comando creará la dependencia, automáticamente durante la instalación del paquete correspondiente. Por 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 80 específico. 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, 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 la 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 la 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ía 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 generando 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.