Door modernere alternatieven naast oudere commandoregeltools te gebruiken, kun je meer plezier beleven en zelfs de productiviteit verhogen.

In ons dagelijks werk met Linux / Unix gebruiken we veel commandoregeltools ā zoals du voor het monitoren van schijfgebruik en systeembronnen. Sommige van deze tools bestaan al lange tijd. Bijvoorbeeld, top is geĆÆntroduceerd in 1984, en de eerste release van du dateert uit 1971.
In de afgelopen jaren zijn deze tools gemoderniseerd en overgebracht naar verschillende systemen, maar in grote lijnen zijn ze niet ver weggekomen van hun eerste versies; hun uiterlijk en gebruiksgemak zijn ook niet veel veranderd.
Dit zijn geweldige tools die voor veel systeembeheerders noodzakelijk zijn. Echter, de gemeenschap heeft alternatieve tools ontwikkeld die extra voordelen bieden. Sommige hebben gewoon een modern, aantrekkelijk ontwerp, terwijl andere het gebruiksgemak aanzienlijk verbeteren. In deze vertaling bespreken we vijf alternatieven voor de standaard commandoregeltools van Linux.
1. ncdu vs du
NCurses Disk Usage () lijkt op du, maar met een interactieve interface op basis van de curses-bibliotheek. ncdu toont de mappenstructuur die het grootste deel van je schijfruimte in beslag neemt.
ncdu analyseert de schijf en toont vervolgens de resultaten, gesorteerd op de meest gebruikte mappen of bestanden, bijvoorbeeld:
ncdu 1.14.2 ~ Gebruik de pijltjestoetsen om te navigeren, druk op ? voor hulp
--- /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
Totale schijfruimte: 159.4 GiB Schijnbare grootte: 280.8 GiB Items: 561540Je kunt door de vermeldingen navigeren met de pijltjestoetsen. Als je op Enter drukt, toont ncdu de inhoud van de geselecteerde map:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /mediaMet dit gereedschap kunt u bijvoorbeeld vaststellen welke bestanden de meeste schijfruimte in beslag nemen. U kunt naar de vorige map gaan door op de pijl naar links te drukken. Met ncdu kunt u bestanden verwijderen door op de toets d te drukken. Voor het verwijderen vraagt het om bevestiging. Als u de verwijderfunctie wilt uitschakelen om onbedoeld verlies van waardevolle bestanden te voorkomen, gebruikt u de optie -r om de alleen-lezen modus in te schakelen: ncdu -r.
ncdu is beschikbaar voor veel platforms en Linux-distributies. U kunt bijvoorbeeld dnf gebruiken om het op Fedora direct uit de officiƫle repositories te installeren:
$ sudo dnf install ncdu2. htop vs top
is een interactieve tool om processen te bekijken, vergelijkbaar met top, maar biedt standaard een prettige gebruikerservaring. Standaard toont htop dezelfde informatie als top, maar in een meer visuele en kleurrijke weergave.
Standaard ziet htop er als volgt uit:

In tegenstelling tot top:

Bovendien toont htop bovenaan een overzicht van systeeminformatie en onderaan een paneel om opdrachten uit te voeren met functietoetsen. U kunt deze aanpassen door F2 in te drukken om het instellingenvenster te openen. In de instellingen kunt u de kleuren wijzigen, metrics toevoegen of verwijderen, of de weergave-instellingen van het overzichtpaneel aanpassen.
Hoewel het ook mogelijk is om met de instellingen van de nieuwste versies van top een vergelijkbare gebruiksvriendelijkheid te bereiken, biedt htop standaard handige configuraties die het praktischer en eenvoudiger te gebruiken maken.
3. tldr vs man
De commandoregeltool tldr toont vereenvoudigde documentatie over commando's, voornamelijk voorbeelden. Het is ontwikkeld door de gemeenschap .
Het is belangrijk op te merken dat tldr geen vervanging is voor man. Het blijft het canonieke en meest complete hulpmiddel voor het weergeven van auteursrechtrapporten. In sommige gevallen is man echter overmatig. Wanneer u geen uitgebreide informatie over een bepaald commando nodig heeft, probeert u gewoon de belangrijkste gebruiksvarianten te onthouden. De man-pagina voor het commando curl bevat bijna 3000 regels. De tldr-pagina voor curl heeft een lengte van 40 regels. Een fragment ervan ziet er zo uit:
$ tldr curl
# curl
Verzendt gegevens van of naar een server.
Ondersteunt de meeste protocollen, inclusief HTTP, FTP en POP3.
Meer informatie: .
- Download de inhoud van een URL naar een bestand:
curl http://example.com -o bestandsnaam
- Download een bestand, waarbij de uitvoer wordt opgeslagen onder de bestandsnaam die door de URL wordt aangegeven:
curl -O http://example.com/filename
- Download een bestand, waarbij [L]ocatie-omleidingen worden gevolgd en automatisch [C]ontinuerend (herstartend) een eerdere bestandsoverdracht:
curl -O -L -C - http://example.com/filename
- Stuur formulier-gecodeerde gegevens (POST-verzoek van type `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Stuur een verzoek met een extra header, gebruikmakend van een aangepaste HTTP-methode:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Stuur gegevens in JSON-indeling, waarbij de juiste content-type header is gespecificeerd:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUTTLDR betekent "te lang; niet gelezen": dat wil zeggen, een bepaalde tekst is genegeerd vanwege zijn overmatige omschrijvingen. De naam past bij dit hulpmiddel, omdat man-pagina's, hoewel nuttig, soms te lang zijn.
Voor Fedora is tldr geschreven in Python. U kunt het installeren met de dnf-pakketbeheerder. De tool heeft meestal toegang tot internet nodig om te functioneren. Maar de Python-client in Fedora maakt het mogelijk om deze pagina's te downloaden en te cachen voor offline toegang.
4. jq vs sed/grep
jq is een JSON-processor voor de opdrachtregel. Het lijkt op sed of grep, maar is speciaal ontworpen voor het werken met JSON-gegevens. Als u een ontwikkelaar of systeembeheerder bent die dagelijks met JSON werkt, is dit hulpmiddel voor u.
Het belangrijkste voordeel van jq ten opzichte van standaard tekstverwerkingstools, zoals grep en sed, is dat het de datastructuur van JSON begrijpt, waardoor het mogelijk is om complexe queries in ƩƩn expressie te maken.
Bijvoorbeeld, u probeert de namen van de containers in dit JSON-bestand te vinden:
{
"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 regel name: te zoeken:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",grep retourneerde alle regels met het woord name. U kunt nog enkele parameters aan grep toevoegen om het te beperken, en met enkele manipulaties van reguliere expressies kunt u container namen vinden.
Om hetzelfde resultaat met jq te krijgen, kunt u gewoon schrijven:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"Deze opdracht geeft u de namen van beide containers. Als u alleen de naam van de tweede container zoekt, voeg dan de index van het array-element toe aan de expressie:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"Aangezien jq op de hoogte is van de datastructuur, geeft het dezelfde resultaten, zelfs als het bestandsformaat iets verandert. grep en sed kunnen in dit geval onbetrouwbaar zijn.
jq heeft veel functies, maar voor hun beschrijving is nog een artikel nodig. Voor meer informatie, raadpleeg jq of tldr.
5. fd vs find
ā dit is een vereenvoudigd alternatief voor de find-tool. Fd is niet bedoeld om het volledig te vervangen: het heeft standaard de meest voorkomende instellingen die de algemene benadering van het werken met bestanden bepalen.
Bijvoorbeeld, wanneer u bestanden in een Git-repository zoekt, sluit fd automatisch verborgen bestanden en subdirectories uit, inclusief de .git-directory, en negeert het sjablonen uit het .gitignore-bestand. Over het algemeen versnelt het de zoekopdracht door relevantere resultaten in ƩƩn keer te geven.
Standaard voert fd de zoekopdracht uit zonder hoofdlettergevoeligheid in de huidige directory met gekleurde output. Dezelfde zoekopdracht met de find-opdracht vereist dat u extra parameters invoert in de opdrachtregel. Bijvoorbeeld, om alle .md (of .MD) bestanden in de huidige directory te vinden, moet u de volgende find-opdracht invoeren:
$ find . -iname "*.md"Voor fd ziet het er zo uit:
$ fd .mdMaar in sommige gevallen zijn ook extra parameters voor fd nodig: als u bijvoorbeeld verborgen bestanden en directories wilt opnemen, moet u de optie -H gebruiken, hoewel dit doorgaans niet nodig is bij zoeken.
fd is beschikbaar voor veel Linux-distributies. In Fedora kunt u het als volgt installeren:
$ sudo dnf install fd-findHet is niet noodzakelijk om ergens afstand van te doen
Gebruikt u nieuwe Linux-opdrachtregeltools? Of blijft u alleen maar bij de oude? Waarschijnlijk heeft u een combinatie, toch? Deel alstublieft uw ervaringen in de comments.
Adverteervermelding
Veel van onze klanten hebben de voordelen al ervaren van epische servers!
Dit is , de kloksnelheid van de CPU tot 3,4 GHz. De maximale configuratie biedt volledige vrijheid ā 128 CPU-kernen, 512 GB RAM, 4000 GB NVMe. Wees er snel bij om te bestellen!
Bron: habr.com
