5 moderne alternatieven voor oude Linux-opdrachtregelprogramma's

Door modernere alternatieven te gebruiken naast oudere opdrachtregelprogramma's, kunt u meer plezier beleven en zelfs uw productiviteit verbeteren.

5 moderne alternatieven voor oude Linux-opdrachtregelprogramma's

In ons dagelijkse werk op Linux/Unix gebruiken we veel opdrachtregelprogramma's, bijvoorbeeld om het schijfgebruik en de systeembronnen te controleren. Sommige van deze tools bestaan ​​al heel lang. Top verscheen bijvoorbeeld in 1984 en de eerste release van du dateert uit 1971.

Door de jaren heen zijn deze tools gemoderniseerd en overgezet naar verschillende systemen, maar over het algemeen zijn ze niet ver verwijderd van hun eerste versies, hun uiterlijk en bruikbaarheid zijn ook niet veel veranderd.

Dit zijn geweldige tools die veel systeembeheerders nodig hebben. De gemeenschap heeft echter alternatieve hulpmiddelen ontwikkeld die extra voordelen bieden. Sommigen van hen hebben simpelweg een moderne, mooie interface, terwijl andere de bruikbaarheid enorm verbeteren. In deze vertaling zullen we het hebben over vijf alternatieven voor standaard Linux-opdrachtregelprogramma's.

1. ncdu versus du

NCurses schijfgebruik (ncdu) is vergelijkbaar met du, maar met een interactieve interface gebaseerd op de vloekenbibliotheek. ncdu geeft de mapstructuur weer die het grootste deel van uw schijfruimte in beslag neemt.

ncdu analyseert de schijf en geeft vervolgens de resultaten weer, gesorteerd op de meest gebruikte mappen of bestanden, bijvoorbeeld:

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

Met de pijltjestoetsen kunt u door de vermeldingen navigeren. Als u op Enter drukt, geeft ncdu de inhoud van de geselecteerde map weer:

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

Met deze tool kunt u bijvoorbeeld bepalen welke bestanden de meeste schijfruimte in beslag nemen. U kunt naar de vorige map gaan door op de pijl-links te drukken. Met ncdu kun je bestanden verwijderen door op de d-toets te drukken. Er wordt om bevestiging gevraagd voordat het wordt verwijderd. Als u de verwijderfunctie wilt uitschakelen om onbedoeld verlies van waardevolle bestanden te voorkomen, gebruikt u de optie -r om de alleen-lezen toegangsmodus in te schakelen: ncdu -r.

ncdu is beschikbaar voor veel Linux-platforms en -distributies. Je kunt bijvoorbeeld dnf gebruiken om het rechtstreeks op Fedora te installeren vanuit de officiële repositories:

$ sudo dnf install ncdu

2. htop versus top

htop is een interactieve procesviewer vergelijkbaar met de top, maar biedt kant-en-klaar een prettige gebruikerservaring. Standaard geeft htop dezelfde informatie weer als top, maar op een meer visuele en kleurrijke manier.

Standaard ziet htop er zo uit:

5 moderne alternatieven voor oude Linux-opdrachtregelprogramma's
In tegenstelling tot boven:

5 moderne alternatieven voor oude Linux-opdrachtregelprogramma's
Bovendien geeft htop bovenaan overzichtsinformatie over het systeem weer, en onderaan een paneel voor het uitvoeren van opdrachten met behulp van functietoetsen. U kunt het configureren door op F2 te drukken om het configuratiescherm te openen. In Instellingen kunt u kleuren wijzigen, statistieken toevoegen of verwijderen, of de weergaveopties van het overzichtspaneel wijzigen.

Hoewel je een vergelijkbare bruikbaarheid kunt bereiken door de instellingen van de nieuwste versies van top aan te passen, biedt htop handige standaardconfiguraties, waardoor het praktischer en gemakkelijker te gebruiken is.

3. tldr versus man

Het opdrachtregelprogramma tldr geeft vereenvoudigde helpinformatie over opdrachten weer, voornamelijk voorbeelden. Het is ontwikkeld door de gemeenschap tldr pagina's project.

Het is vermeldenswaard dat tldr geen vervanging is voor de mens. Het is nog steeds de canonieke en meest uitgebreide tool voor het uitvoeren van manpagina's. In sommige gevallen is de mens echter overbodig. Als u geen uitgebreide informatie over een opdracht nodig heeft, probeert u alleen het basisgebruik ervan te onthouden. De manpagina voor de curl-opdracht bevat bijvoorbeeld bijna 3000 regels. De tldr-pagina voor curl is 40 regels lang. Het fragment ziet er als volgt uit:


$ 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 betekent “te lang; niet gelezen": dat wil zeggen dat een tekst werd genegeerd vanwege de buitensporige breedsprakigheid. De naam is passend voor dit hulpmiddel omdat de manpagina's, hoewel nuttig, soms te lang kunnen zijn.

Voor Fedora is tldr geschreven in Python. Je kunt het installeren met dnf-manager. Normaal gesproken heeft de tool internettoegang nodig om te kunnen werken. Maar Fedora's Python-client staat toe dat deze pagina's worden gedownload en in de cache worden opgeslagen voor offline toegang.

4.jq versus sed/grep

jq is een JSON-processor voor de opdrachtregel. Het is vergelijkbaar met sed of grep, maar is specifiek ontworpen om met JSON-gegevens te werken. Als u een ontwikkelaar of systeembeheerder bent die JSON gebruikt bij dagelijkse taken, dan is dit de tool voor u.

Het belangrijkste voordeel van jq ten opzichte van standaard tekstverwerkingshulpmiddelen zoals grep en sed is dat het de JSON-datastructuur begrijpt, waardoor u complexe query's in één enkele expressie kunt maken.

U probeert bijvoorbeeld containernamen te vinden in dit JSON-bestand:

{
  "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"
  }
}

Voer grep uit om de stringnaam te vinden:

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

grep retourneerde alle regels die het woord naam bevatten. Je kunt nog een paar opties aan grep toevoegen om het te beperken, en wat manipulatie van reguliere expressies gebruiken om de containernamen te vinden.

Om hetzelfde resultaat te krijgen met jq, schrijft u gewoon:

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

Met deze opdracht krijgt u de namen van beide containers. Als u alleen naar de naam van de tweede container zoekt, voegt u de index van het array-element toe aan de expressie:

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

Omdat jq de datastructuur kent, levert het dezelfde resultaten op, zelfs als het bestandsformaat enigszins verandert. grep en sed werken in dit geval mogelijk niet correct.

jq heeft veel functies, maar er is een ander artikel nodig om ze te beschrijven. Voor meer informatie kunt u contact opnemen met projectpagina jq of naar tldr.

5. fd versus vinden

fd is een vereenvoudigd alternatief voor het hulpprogramma Find. Fd is niet bedoeld om het volledig te vervangen: standaard zijn de meest voorkomende instellingen geïnstalleerd, die de algemene aanpak voor het werken met bestanden definiëren.

Bij het zoeken naar bestanden in een Git-repositorymap sluit fd bijvoorbeeld automatisch verborgen bestanden en submappen uit, inclusief de .git-map, en negeert ook jokertekens uit het .gitignore-bestand. Over het algemeen versnelt het zoekopdrachten door bij de eerste poging relevantere resultaten te retourneren.

Standaard voert fd een hoofdletterongevoelige zoekopdracht uit in de huidige map, met kleuruitvoer. Voor dezelfde zoekopdracht met behulp van de opdracht find zijn aanvullende parameters op de opdrachtregel ingevoerd. Om bijvoorbeeld alle .md- (of .MD-) bestanden in de huidige map te vinden, schrijft u een find-opdracht als volgt:

$ find . -iname "*.md"

Voor fd ziet het er als volgt uit:

$ fd .md

Maar in sommige gevallen vereist fd ook extra opties: als je bijvoorbeeld verborgen bestanden en mappen wilt opnemen, moet je de optie -H gebruiken, hoewel dit meestal niet nodig is bij het zoeken.

fd is beschikbaar voor veel Linux-distributies. In Fedora kan het als volgt worden geïnstalleerd:

$ sudo dnf install fd-find

Je hoeft niets op te geven

Gebruikt u de nieuwe Linux-opdrachtregelprogramma's? Of zit je uitsluitend op de oude? Maar hoogstwaarschijnlijk heb je een combo, toch? Deel uw ervaring in de reacties.

Als advertentie

Veel van onze klanten hebben de voordelen al op prijs gesteld epische servers!
Het virtuele servers met AMD EPYC-processors, CPU-kernfrequentie tot 3.4 GHz. Met de maximale configuratie kun je veel plezier beleven: 128 CPU-kernen, 512 GB RAM, 4000 GB NVMe. Wees er snel bij om te bestellen!

5 moderne alternatieven voor oude Linux-opdrachtregelprogramma's

Bron: www.habr.com

Voeg een reactie