5 alternatives modernes a les antigues eines de línia d'ordres de Linux

Si utilitzeu alternatives més modernes juntament amb eines de línia d'ordres més antigues, us podeu divertir més i fins i tot millorar la vostra productivitat.

5 alternatives modernes a les antigues eines de línia d'ordres de Linux

En el nostre treball diari a Linux/Unix, fem servir moltes eines de línia d'ordres, per exemple, per controlar l'ús del disc i els recursos del sistema. Algunes d'aquestes eines ja fa temps que existeixen. Per exemple, top va aparèixer el 1984 i el primer llançament de du data de 1971.

Amb els anys, aquestes eines s'han modernitzat i portat a diferents sistemes, però en general no s'han allunyat de les seves primeres versions, la seva aparença i usabilitat tampoc han canviat gaire.

Són grans eines que necessiten molts administradors de sistemes. Tanmateix, la comunitat ha desenvolupat eines alternatives que ofereixen avantatges addicionals. Alguns d'ells simplement tenen una interfície moderna i bonica, mentre que altres milloren molt la usabilitat. En aquesta traducció, parlarem de cinc alternatives a les eines estàndard de línia d'ordres de Linux.

1. ncdu vs du

Ús del disc NCurses (ncdu) és similar a du, però amb una interfície interactiva basada en la biblioteca curses. ncdu mostra l'estructura de directoris que ocupa la major part de l'espai del vostre disc.

ncdu analitza el disc i després mostra els resultats ordenats pels directoris o fitxers més utilitzats, per exemple:

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
   96.7 GiB [##########] /libvirt
   33.9 GiB [###       ] /.crc
    7.0 GiB [          ] /Projects
.   4.7 GiB [          ] /Downloads
.   3.9 GiB [          ] /.local
    2.5 GiB [          ] /.minishift
    2.4 GiB [          ] /.vagrant.d
.   1.9 GiB [          ] /.config
.   1.8 GiB [          ] /.cache
    1.7 GiB [          ] /Videos
    1.1 GiB [          ] /go
  692.6 MiB [          ] /Documents
. 591.5 MiB [          ] /tmp
  139.2 MiB [          ] /.var
  104.4 MiB [          ] /.oh-my-zsh
   82.0 MiB [          ] /scripts
   55.8 MiB [          ] /.mozilla
   54.6 MiB [          ] /.kube
   41.8 MiB [          ] /.vim
   31.5 MiB [          ] /.ansible
   31.3 MiB [          ] /.gem
   26.5 MiB [          ] /.VIM_UNDO_FILES
   15.3 MiB [          ] /Personal
    2.6 MiB [          ]  .ansible_module_generated
    1.4 MiB [          ] /backgrounds
  944.0 KiB [          ] /Pictures
  644.0 KiB [          ]  .zsh_history
  536.0 KiB [          ] /.ansible_async
 Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540

Podeu navegar per les entrades utilitzant les tecles de fletxa. Si premeu Intro, ncdu mostrarà el contingut del directori seleccionat:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

Podeu utilitzar aquesta eina per, per exemple, determinar quins fitxers ocupen més espai al disc. Podeu anar al directori anterior prement la tecla de fletxa esquerra. Amb ncdu podeu esborrar fitxers prement la tecla d. Demana confirmació abans de suprimir. Si voleu desactivar la funció d'eliminació per evitar la pèrdua accidental de fitxers valuosos, utilitzeu l'opció -r per habilitar el mode d'accés només de lectura: ncdu -r.

ncdu està disponible per a moltes plataformes i distribucions Linux. Per exemple, podeu utilitzar dnf per instal·lar-lo a Fedora directament des dels repositoris oficials:

$ sudo dnf install ncdu

2. htop vs top

htop és un visualitzador de processos interactiu similar al superior, però fora de la caixa ofereix una experiència d'usuari agradable. Per defecte, htop mostra la mateixa informació que top, però d'una manera més visual i colorida.

Per defecte, htop té aquest aspecte:

5 alternatives modernes a les antigues eines de línia d'ordres de Linux
A diferència de la part superior:

5 alternatives modernes a les antigues eines de línia d'ordres de Linux
A més, htop mostra informació general sobre el sistema a la part superior i un panell per executar ordres mitjançant tecles de funció a la part inferior. Podeu configurar-lo prement F2 per obrir la pantalla de configuració. A Configuració, podeu canviar els colors, afegir o eliminar mètriques o canviar les opcions de visualització del tauler de visió general.

Tot i que podeu aconseguir una usabilitat similar ajustant la configuració de les últimes versions de top, htop ofereix configuracions predeterminades convenients, cosa que la fa més pràctica i fàcil d'utilitzar.

3. tldr vs home

L'eina de línia d'ordres tldr mostra informació d'ajuda simplificada sobre les ordres, sobretot exemples. Va ser desenvolupat per la comunitat projecte de pàgines tldr.

Val la pena assenyalar que tldr no és un substitut de l'home. Encara és l'eina de sortida de la pàgina de manual canònica i més completa. Tanmateix, en alguns casos l'home és redundant. Quan no necessiteu informació completa sobre una ordre, només esteu intentant recordar-ne els usos bàsics. Per exemple, la pàgina man de l'ordre curl conté gairebé 3000 línies. La pàgina tldr de curl té 40 línies. El seu fragment té aquest aspecte:


$ tldr curl

# curl
  Transfers data from or to a server.
  Supports most protocols, including HTTP, FTP, and POP3.
  More information: <https://curl.haxx.se>.

- Download the contents of an URL to a file:

  curl http://example.com -o filename

- Download a file, saving the output under the filename indicated by the URL:

  curl -O http://example.com/filename

- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:

  curl -O -L -C - http://example.com/filename

- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form                                                                                            
- Send a request with an extra header, using a custom HTTP method:

  curl -H 'X-My-Header: 123' -X PUT http://example.com                                                                                  
- Send data in JSON format, specifying the appropriate content-type header:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... TRUNCATED OUTPUT

TLDR significa "massa llarg; no va llegir": és a dir, es va ignorar algun text per la seva excessiva verbositat. El nom és adequat per a aquesta eina perquè les pàgines de manual, tot i que són útils, de vegades poden ser massa llargues.

Per a Fedora, tldr es va escriure en Python. Podeu instal·lar-lo mitjançant el gestor dnf. Normalment, l'eina requereix accés a Internet per funcionar. Però el client Python de Fedora permet que aquestes pàgines es baixin i es emmagatzemin en memòria cau per accedir fora de línia.

4.jq vs sed/grep

jq és un processador JSON per a la línia d'ordres. És similar a sed o grep, però està dissenyat específicament per funcionar amb dades JSON. Si sou un desenvolupador o administrador de sistemes que utilitza JSON en les tasques quotidianes, aquesta és l'eina per a vosaltres.

El principal avantatge de jq respecte a les eines estàndard de processament de text com ara grep i sed és que entén l'estructura de dades JSON, la qual cosa us permet crear consultes complexes en una sola expressió.

Per exemple, esteu intentant trobar noms de contenidors en aquest fitxer JSON:

{
  "apiVersion": "v1",
  "kind": "Pod",
  "metadata": {
    "labels": {
      "app": "myapp"
    },
    "name": "myapp",
    "namespace": "project1"
  },
  "spec": {
    "containers": [
      {
        "command": [
          "sleep",
          "3000"
        ],
        "image": "busybox",
        "imagePullPolicy": "IfNotPresent",
        "name": "busybox"
      },
      {
        "name": "nginx",
        "image": "nginx",
        "resources": {},
        "imagePullPolicy": "IfNotPresent"
      }
    ],
    "restartPolicy": "Never"
  }
}

Executeu grep per trobar el nom de la cadena:

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep ha retornat totes les línies que contenen el nom de la paraula. Podeu afegir algunes opcions més a grep per restringir-lo i utilitzar alguna manipulació d'expressions regulars per trobar els noms dels contenidors.

Per obtenir el mateix resultat amb jq, només cal escriure:

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

Aquesta ordre us donarà els noms dels dos contenidors. Si cerqueu només el nom del segon contenidor, afegiu l'índex de l'element de matriu a l'expressió:

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

Com que jq coneix l'estructura de dades, produeix els mateixos resultats encara que el format del fitxer canviï lleugerament. És possible que grep i sed no funcionin correctament en aquest cas.

jq té moltes funcions, però cal un altre article per descriure-les. Per a més informació contacteu pàgina del projecte jq o a tldr.

5. fd vs trobar

fd és una alternativa simplificada a la utilitat de cerca. Fd no pretén substituir-lo completament: té els paràmetres més habituals instal·lats per defecte, que defineixen l'enfocament general per treballar amb fitxers.

Per exemple, quan cerqueu fitxers en un directori del dipòsit de Git, fd exclou automàticament els fitxers i subdirectoris ocults, inclòs el directori .git, i també ignora els comodins del fitxer .gitignore. En general, accelera les cerques al retornar resultats més rellevants al primer intent.

De manera predeterminada, fd realitza una cerca que no distingeix entre majúscules i minúscules al directori actual, amb sortida en color. La mateixa cerca amb l'ordre find requereix introduir paràmetres addicionals a la línia d'ordres. Per exemple, per trobar tots els fitxers .md (o .MD) al directori actual, haureu d'escriure una ordre find com aquesta:

$ find . -iname "*.md"

Per a fd es veu així:

$ fd .md

Però en alguns casos, fd també requereix opcions addicionals: per exemple, si voleu incloure fitxers i directoris ocults, heu d'utilitzar l'opció -H, tot i que no sol ser necessària a l'hora de cercar.

fd està disponible per a moltes distribucions de Linux. A Fedora es pot instal·lar així:

$ sudo dnf install fd-find

No cal renunciar a res

Esteu utilitzant les noves eines de línia d'ordres de Linux? O t'asseures exclusivament als antics? Però el més probable és que tingueu un combo, oi? Si us plau, comparteix la teva experiència als comentaris.

Sobre els drets de publicitat

Molts dels nostres clients ja n'han apreciat els beneficis servidors èpics!
El servidors virtuals amb processadors AMD EPYC, Freqüència del nucli de la CPU fins a 3.4 GHz. La configuració màxima us permetrà passar-ho bé: 128 nuclis de CPU, 512 GB de RAM, 4000 GB NVMe. Afanya't a fer la comanda!

5 alternatives modernes a les antigues eines de línia d'ordres de Linux

Font: www.habr.com

Afegeix comentari