Ha dominado una herramienta de Linux, pero este conocimiento ganado con tanto esfuerzo tiene el costo del uso frecuente, la lectura de páginas man y el uso de motores de búsqueda para evitar malos ejemplos.
Entonces, ¿qué te motiva a aprender y reemplazar tus herramientas con nuevas utilidades? Aquí hay algunas razones:
- Quiere ser más productivo en menos tiempo, y diferentes herramientas pueden proporcionar eso.
- Diferentes herramientas pueden imitar su forma de trabajar. Es genial usar herramientas que funcionan de la manera esperada.
- Una nueva herramienta desafía la forma en que haces las cosas. Esto es importante porque a medida que usted mejora, también lo hacen las herramientas y tecnologías que lo rodean. Está bien cuando los servicios públicos te obligan a pensar fuera de la caja.
Este artículo proporciona algunas herramientas nuevas e interesantes que puede considerar usar. Al evaluar una nueva herramienta, tenga en cuenta la comunidad que la rodea, lo fácil que es usarla y si tiene las funciones que necesita.
Una última cosa: el tema de las «herramientas de repuesto» siempre es controvertido, así que pruébalo con la mente abierta. No hay nada malo con las herramientas originales mencionadas en el artículo; estas son solo opciones para ayudarlo a trabajar mejor.
Además, por razones obvias, este artículo no cubre todas las herramientas disponibles. Considere esta lista como un punto de partida.
[ Boost your command line skills. Download A sysadmin’s guide to Bash scripting. ]
Tabla de Contenidos
antes de empezar
Mientras prueba estas nuevas herramientas, tenga en cuenta lo siguiente:
- Debe estar familiarizado con la interfaz de línea de comandos (CLI) de Linux. Si no lo eres, lee este artículo para empezar.
- Es posible que algunas de estas utilidades no estén en su sistema y requieran privilegios elevados para instalarlas usando herramientas como RPM.
- Puede ser mejor usar un instalador como pip para instalar algunas herramientas en su usuario en lugar de en todo el sistema.
Bien, es hora de probar algunas herramientas nuevas.
htop y miradas: mejor que top
La utilidad superior es una de las mejores herramientas generales de monitoreo de recursos en Linux. Tiene buenas características como guardar estadísticas en un archivo y ordenar columnas por criterios.
[ Learn what the first five lines of Linux’s top command tell you. ]
En el mismo espíritu, arriba El comando muestra más información (como qué tan duro está trabajando cada núcleo de la CPU).A continuación se muestra una sesión de ejemplo que muestra cómo usar htop
:
¿Qué hace que esta herramienta sea única? La interfaz de usuario le brinda fácil acceso a operaciones poderosas.
Instalar htop
Distribuciones basadas en RPM:
$ sudo dnf install -y htop
Glances
es otra herramienta que puede brindarle mucha información sobre su sistema, como htop
:
¿Por qué hay otra herramienta? htop
? Excelente, de un vistazo Hay varias características que lo hacen interesante:
- Puede ejecutarse en modo servidor, lo que le permite conectarse mediante un navegador web o un cliente REST.
- Puede exportar resultados en varios formatos, incluido Prometheus.
- Puede escribir complementos para extenderlo en Python.
Para instalarlo, puede usar un entorno virtual o hacer una instalación de usuario:
$ pip install --user glances
smem: cuando te enfocas en la memoria
Utilidades como top
, htop
y glances
Le brinda detalles completos sobre el servidor, pero ¿qué sucede si solo se preocupa por la utilización de la memoria? en este caso, chistoso es una buena opción:
Puede filtrar por usuario, mostrar totales, agrupar el uso por usuario e incluso crear gráficos con Mathlib.
Instalar smem
En FedoraLinux:
$ sudo dnf install -y smem
ripgrep: más rápido que grep
Este grep
Las utilidades son probablemente una de las herramientas de filtrado más conocidas; si alguna vez ha necesitado usar un filtro para encontrar un archivo, es probable que haya grep
.
[ Happy with the usual option? Download the Linux grep command cheat sheet. ]
Una buena alternativa a grep es ripgrepEs rápido y tiene características modernas, grep
No:
- Puede exportar la salida a formato JSON. Esta es una gran característica para la captura de datos o la interacción con otros scripts.
- Proporciona búsqueda de directorio recursiva automática, saltando archivos ocultos y archivos de copia de seguridad ignorables comunes.
Comience con una recursividad más convencional grep
Ver solo archivos con extensión *.pyb
utilizando una búsqueda que no distingue entre mayúsculas y minúsculas:
$ time grep --dereference-recursive --ignore-case --count --exclude '.ipynb_*' --include '*.ipynb' death COVIDDATA/
COVIDDATA/.ipynb_checkpoints/Curve-checkpoint.ipynb:0
COVIDDATA/.ipynb_checkpoints/EUCDC-checkpoint.ipynb:37
COVIDDATA/.ipynb_checkpoints/Gammamulti-checkpoint.ipynb:11
COVIDDATA/.ipynb_checkpoints/Gammapivot-checkpoint.ipynb:11
# ... Omitted output
COVIDDATA/tweakers/zzcorwav.ipynb:10
real 0m0.613s
user 0m0.505s
sys 0m0.105s
Tenga en cuenta que muestra Jupyter .ipynb_checkpoints/*
Archivo de puntos de control.ver siguiente ripgrep
(rg
) en acción:
$ time rg --ignore-case --count --type 'jupyter' death COVIDDATA/
COVIDDATA/tweakers/zzcorwav.ipynb:10
COVIDDATA/tweakers/zzbenford.ipynb:2
COVIDDATA/tweakers/EUCDC.ipynb:19
COVIDDATA/Modelpivot.ipynb:9
COVIDDATA/experiment/zzbenford.ipynb:2
COVIDDATA/experiment/zzcorwavgd.ipynb:10
# ... Omitted output
COVIDDATA/experiment/zzcasemap.ipynb:13
real 0m0.068s
user 0m0.087s
sys 0m0.071s
la línea de comando es más corta, y rg
Omita los archivos del punto de control de Jupyter sin ayuda adicional.Compruébalo a continuación rg
Usa algunas banderas:
Instalar ripgrep
En Fedora Linux con DNF:
$ sudo dnf install ripgrep
Drill (ldns): proporciona más información que dig o nslookup
Si necesita buscar la dirección del Protocolo de Internet (IP) para un registro DNS dado, puede usar dig
o nslookup
Estos comandos han existido durante tanto tiempo que han entrado y salido del estado obsoleto.
Una herramienta más moderna que proporciona la misma funcionalidad es drill
(de proyecto indns). Supongamos que desea consultar MX (Intercambiador de correo) nasa.org
campo:
$ dig @8.8.8.8 nasa.org MX +noall +answer +nocmd
nasa.org. 3600 IN MX 5 mail.h-email.net.
Este drill
El comando le brinda la misma información, y más:
$ drill @8.8.8.8 mx nasa.org
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 50948
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; nasa.org. IN MX
;; ANSWER SECTION:
nasa.org. 3600 IN MX 5 mail.h-email.net.
;; AUTHORITY SECTION:
;; ADDITIONAL SECTION:
;; Query time: 126 msec
;; SERVER: 8.8.8.8
;; WHEN: Sun Jul 10 14:31:48 2022
;; MSG SIZE rcvd: 58
¿Qué significa esto para usted?
drill
se puede usar como sustitutodig
.- Sería mejor tener una implementación de herramienta de DNS separada para solucionar problemas y diagnosticar errores.
Los mantenedores de distribución y los desarrolladores de aplicaciones tienen argumentos más convincentes para usar ldns
:
Esto es un pequeño programa Los registros MX se pueden consultar para una lista determinada de dominios:
Instalar ldns
En Fedora Linux esto es:
$ sudo dnf install -y python3-ldns ldns-utils ldns
Rich-CLI: una CLI que procesa todos los formatos
Seamos realistas: es molesto usar diferentes herramientas en la interfaz de línea de comandos (CLI) para representar bien diferentes tipos de datos.
Por ejemplo, aquí hay un archivo JSON (sin filtrado especial):
$ /bin/jq '.' ./.thunderbird/pximovka.default-default/sessionCheckpoints.json
{
"profile-after-change": true,
"final-ui-startup": true,
"quit-application-granted": true,
"quit-application": true,
"profile-change-net-teardown": true,
"profile-change-teardown": true,
"profile-before-change": true
}
Un archivo XML:
$ /bin/xmllint ./opencsv-source/checkstyle-suppressions.xml
etiquetar archivos? ¿Archivo CSV? ¿Script de Python? Ya sabes lo que está pasando, hay diferentes aplicaciones para cada tipo. Algunos de ellos ofrecen coloración de sintaxis, mientras que otros no.Si desea paginación, lo más probable es que necesite canalizar la salida a less
- pero luego dile adiós a la coloración.
[ Free download: Advanced Linux commands cheat sheet. ]
Ingresar CLI rica (Una aplicación es textualización proyecto) al rescate.A continuación reviso los dos archivos que abrí anteriormente, esta vez usando rich
Primero, aquí está el archivo JSON:
$ rich ./.thunderbird/pximovka.default-default/sessionCheckpoints.json
{
"profile-after-change": true,
"final-ui-startup": true,
"quit-application-granted": true,
"quit-application": true,
"profile-change-net-teardown": true,
"profile-change-teardown": true,
"profile-before-change": true
}
A continuación, aquí está el archivo XML que demostré anteriormente:
$ rich ./opencsv-source/checkstyle-suppressions.xml
Vea la demostración a continuación para renderizar múltiples tipos de archivos con un solo comando:
La instalación es fácil pip
:
$ pip install --user rich-cli
envolver
No necesita conformarse con las herramientas predeterminadas que vienen con su sistema operativo Linux. Muchas herramientas de Linux ofrecen nuevas características que pueden mejorar su productividad. Si más personas las usan, se convertirán en las herramientas predeterminadas.
Además, al evaluar cualquier herramienta, consulte su comunidad y la frecuencia con la que se realizan actualizaciones para detectar errores y nuevas funciones. Una comunidad activa es tan importante como la propia herramienta.