Tutoriales

5 asombrosos scripts de Perl para guardar en su caja de herramientas de administrador de sistemas

Antes de que Python se convirtiera en la omnipresente herramienta todo en uno para la programación de computadoras, Perl era la primera opción de programadores aficionados y administradores de sistemas perezosos. Muchas de las utilidades de Linux que se utilizan hoy en día están escritas en Perl, por lo que, tanto si utiliza Perl como lenguaje de secuencias de comandos como si no, es probable que siga utilizando programas Perl.

[ Want to test your sysadmin skills? Take a skills assessment today. ]

Perl es fácil de pasar por alto porque rara vez piensa en los comandos en términos del lenguaje en el que están escritos. A veces encuentro cosas valiosas mientras navego por CPAN (PyPI de Perl), y estas son cinco de mis utilidades favoritas de Perl.

imitación

Los tipos MIME son una forma estándar de identificar entidades del sistema de archivos. En Internet, los tipos MIME ayudan a los navegadores a conocer el ícono genérico para asignar un archivo y ayudan al escritorio a saber qué aplicación usar al abrir un archivo.

A menos que los use mucho, puede ser difícil recordar los nombres de tipo MIME oficiales para los tipos de archivo. secuencia de comandos Perl mimetypeen el interior perl-file-mimeinfo paquete, proporciona la solución más rápida y sencilla:

$ mimetype example.txt
example.txt: text/plain
$ mimetype html/example.webp
html/example.webp: image/webp
$ mimetype mydir
mydir: inode/directory

Innovación y Tecnología

sabes top, htoptal vez powertopPero si ejecuta la base de datos, entonces necesita saber innotop.

Esto innotop El comando supervisa una base de datos MySQL o MariaDB y proporciona estadísticas de rendimiento y E/S (incluido el uso de la memoria y las consultas procesadas por segundo), el estado de la replicación, una lista de consultas y más.

Puedes obtener innotop Del paquete MariaDB.

[ Get the MariaDB and MySQL cheat sheet. ]

Renxi

Linux tiene muchos comandos para obtener los archivos de configuración del sistema.Tener lsblk Para dispositivos de bloque, free Para memoria, ip link Para interfaces de red, etc.Pero si está buscando un comando unificado que le brinde la información que desea, debe intentarlo. inxi.

Esto inxi Cuando desee obtener las especificaciones de una computadora, el comando le brindará la información que necesita:

CPU: 6-core AMD Ryzen 5 5600X (-MT MCP-)
speed/min/max: 2248/2200/4650 MHz
Kernel: 5.15.38 x86_64
Up: 9h 32m
Mem: 7684.2/32104.6 MiB (23.9%)
Storage: 7.28 TiB (48.1% used)
Procs: 517 Shell: Bash inxi: 3.3.12

Nueve de cada diez veces, esta es la información que realmente desea obtener, y inxi Proporcionarlo de una manera que sea fácil de leer y fácil de copiar y pegar.

eso no es todo inxi En efecto. Tiene muchas opciones adicionales en su página de manual. Por ejemplo, hago todo el trabajo de audio posible, por lo que es bueno ver la lista completa de dispositivos de audio:

$ inxi --audio
Audio:
  Device-1: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
  Device-2: AMD Starship/Matisse HD Audio driver: snd_hda_intel
  Device-3: Logitech StreamCam type: USB
    driver: hid-generic,snd-usb-audio,usbhid,uvcvideo
  Device-4: Cooler Master CH321 type: USB
    driver: hid-generic,snd-usb-audio,usbhid
  Device-5: Logitech HD Pro Webcam C920 type: USB
    driver: snd-usb-audio,uvcvideo
  Device-6: ZOOM Handy Recorder stereo mix type: USB
    driver: snd-usb-audio
  Sound Server-1: ALSA v: k5.15.38 running: yes
  Sound Server-2: PulseAudio v: 15.0 running: yes

Es una gran herramienta para cualquier sistema, así que descargar inxi Ahora.

[ Get the guide to installing applications on Linux. ]

lineas paralelas

escribí mi amor GNU paralelo Antes, pero vale la pena mencionar.Esto parallel Los comandos literalmente significan que puede hacer más, más rápido y con menos comandos.

Tiene dos puntos de entrada separados: puede usarlo como destinatario de la salida enviada a través de conductos de Unix o como un comando independiente.

Como comando de tubería, un inicio típico es find Ordenar:

$ find ~/public_html/images -type f -name "*jpg" | \
parallel convert {} {.}.webp

Este comando encuentra todas las imágenes JPEG en un directorio public_html/images/ carpetas y convertirlas a WEBP en paralelo (y cambiar la extensión .jpg por .webp En progreso).

Si no está acostumbrado, la versión independiente del comando parece un poco más críptica:

$ parallel ffmpeg ~/Audio/file.flac -vn ~/Audio/file.{} ::: ogg m4a opus

El comando utiliza ffmpeg Convierte audio a tres formatos diferentes.

Parallel es imprescindible en cualquier sistema y está disponible en su repositorio de software.

[ Learn how to get more done at the Linux command line with GNU Parallel. ]

Pasa todo el tiempo. Las fotos subidas por los usuarios contienen una variedad de información potencialmente confidencial en sus metadatos. Nadie pensó en ello hasta que alguien pensó en volcar datos EXIF ​​​​en una foto, que proporciona longitud, latitud, fecha y, a veces, incluso más información sobre quién tomó la foto. Puede ayudar a proteger a sus usuarios (y a usted mismo) borrando los metadatos EXIF ​​​​de las fotos antes de que se hagan públicas.La herramienta clásica es el script Perl. exiftool.

Este comando elimina todos los metadatos de todas las fotos. ~/public_html/images Tabla de contenido:

$ exiftool -overwrite_original \
-all:all= \
-r ~/public_html/images/

seguramente, exiftool No solo para eliminar todos los metadatos. Puede usarlo para escribir nuevos metadatos o para corregir metadatos incorrectos. Por ejemplo, a veces los datos EXIF ​​​​en una foto requieren un visor de fotos para rotar la imagen.Si esto no es lo que desea, puede establecer Orientation propiedad. La dirección tiene ocho valores posibles:

  1. nivel (normal)
  2. nivel del espejo
  3. Girar 180
  4. espejo verticales
  5. Refleje horizontalmente y gire 270 grados en el sentido de las agujas del reloj
  6. Girar 90 grados en el sentido de las agujas del reloj
  7. Refleje horizontalmente y gire 90 grados en el sentido de las agujas del reloj
  8. Girar en el sentido de las agujas del reloj 270

Por ejemplo:

$ exiftool -Orientation=1 ~/public_html/image/foo.jpg

Hay tantos atributos potenciales en EXIF ​​​​que puede ser difícil saber cuál es el valor esperado.Esto exiftool proyecto mantente amigable tabla de conversión Para referencia rápida.

Perl es una joya

Puede que no escuche hablar de Perl con tanta frecuencia como antes, pero eso no significa que el proyecto sea irrelevante. Para mí, Perl es un gran lenguaje «Bash ++», en comparación con Python, que tiene muchas convenciones que se sienten similares a un lenguaje de secuencias de comandos tipo C o Shell. Incluso si no planea escribir secuencias de comandos de Perl usted mismo, estas cinco secuencias de comandos son solo el comienzo de una serie de utilidades sorprendentes que debe tener en su sistema. ¡intentalo!

[ Download now: A sysadmin’s guide to Bash scripting. ]

LEER  Sistemas operativos imprescindibles para los profesionales de la ciberseguridad

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba