Deur meer moderne alternatiewe saam met ouer opdragreëlnutsgoed te gebruik, kan jy meer pret hê en selfs jou produktiwiteit verbeter.
In ons daaglikse werk op Linux/Unix gebruik ons baie opdragreëlnutsgoed - byvoorbeeld om skyfgebruik en stelselhulpbronne te monitor. Sommige van hierdie gereedskap bestaan al lank. Top het byvoorbeeld in 1984 verskyn, en die eerste vrystelling van du dateer uit 1971.
Deur die jare is hierdie gereedskap gemoderniseer en na verskillende stelsels oorgedra, maar oor die algemeen het hulle nie ver van hul eerste weergawes af beweeg nie, hul voorkoms en bruikbaarheid het ook nie veel verander nie.
Dit is wonderlike hulpmiddels wat baie stelseladministrateurs nodig het. Die gemeenskap het egter alternatiewe hulpmiddels ontwikkel wat bykomende voordele bied. Sommige van hulle het bloot 'n moderne, pragtige koppelvlak, terwyl ander die bruikbaarheid aansienlik verbeter. In hierdie vertaling sal ons praat oor vyf alternatiewe vir standaard Linux-opdragreëlnutsgoed.
1. ncdu vs du
NCurses-skyfgebruik (
ncdu ontleed die skyf en vertoon dan die resultate gesorteer volgens die dopgehou of lêers wat die meeste gebruik word, byvoorbeeld:
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
Jy kan deur die inskrywings navigeer met die pyltjie sleutels. As jy Enter druk, sal ncdu die inhoud van die geselekteerde gids vertoon:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Jy kan hierdie hulpmiddel gebruik om byvoorbeeld te bepaal watter lêers die meeste skyfspasie opneem. Jy kan na die vorige gids gaan deur die linkerpyltjie sleutel te druk. Met ncdu kan jy lêers uitvee deur die d-sleutel te druk. Dit vra vir bevestiging voordat dit uitgevee word. As jy die verwyderingsfunksie wil deaktiveer om toevallige verlies van waardevolle lêers te voorkom, gebruik die -r-opsie om leesalleentoegangsmodus te aktiveer: ncdu -r.
ncdu is beskikbaar vir baie Linux-platforms en verspreidings. U kan byvoorbeeld dnf gebruik om dit direk vanaf die amptelike bewaarplekke op Fedora te installeer:
$ sudo dnf install ncdu
2. htop vs top
By verstek lyk htop so:
Anders as bo:
Daarbenewens vertoon htop oorsiginligting oor die stelsel aan die bokant, en 'n paneel vir die uitvoer van opdragte met funksiesleutels onderaan. U kan dit konfigureer deur F2 te druk om die konfigurasieskerm oop te maak. In Instellings kan jy kleure verander, maatstawwe byvoeg of verwyder, of die oorsigpaneelvertoonopsies verander.
Alhoewel jy soortgelyke bruikbaarheid kan bereik deur die instellings van die nuutste weergawes van top aan te pas, bied htop gerieflike verstekkonfigurasies, wat dit meer prakties en makliker maak om te gebruik.
3. tldr vs man
Die tldr-opdragreëlnutsding vertoon vereenvoudigde hulpinligting oor opdragte, meestal voorbeelde. Dit is deur die gemeenskap ontwikkel
Dit is opmerklik dat tldr nie 'n plaasvervanger vir die mens is nie. Dit is steeds die kanonieke en mees omvattende manbladsy-uitvoerinstrument. In sommige gevalle is die mens egter oorbodig. Wanneer jy nie omvattende inligting oor 'n opdrag nodig het nie, probeer jy net die basiese gebruike daarvan onthou. Byvoorbeeld, die manbladsy vir die krul-opdrag bevat amper 3000 reëls. Die tldr-bladsy vir krul is 40 reëls lank. Sy fragment lyk soos volg:
$ 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 beteken "te lank; het nie gelees nie": dit wil sê, sommige teks is geïgnoreer weens die oormatige breedsprakigheid daarvan. Die naam is gepas vir hierdie hulpmiddel omdat die manbladsye, hoewel nuttig, soms te lank kan wees.
Vir Fedora is tldr in Python geskryf. Jy kan dit installeer met behulp van dnf manager. Tipies vereis die instrument internettoegang om te werk. Maar Fedora se Python-kliënt laat toe dat hierdie bladsye afgelaai en gekas word vir vanlyn toegang.
4.jq vs sed/grep
jq is 'n JSON-verwerker vir die opdragreël. Dit is soortgelyk aan sed of grep, maar is spesifiek ontwerp om met JSON-data te werk. As jy 'n ontwikkelaar of stelseladministrateur is wat JSON in alledaagse take gebruik, is dit die hulpmiddel vir jou.
Die grootste voordeel van jq bo standaard teksverwerkingsinstrumente soos grep en sed is dat dit die JSON-datastruktuur verstaan, sodat jy komplekse navrae in 'n enkele uitdrukking kan skep.
Byvoorbeeld, jy probeer om houername in hierdie JSON-lêer te vind:
{
"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"
}
}
Begin grep om die string naam te vind:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep het alle reëls teruggestuur wat die woordnaam bevat. Jy kan nog 'n paar parameters by grep voeg om dit te beperk, en met 'n paar gereelde uitdrukking manipulasie vind die houer name.
Om dieselfde resultaat met jq te kry, skryf net:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Hierdie opdrag sal jou die name van beide houers gee. As jy net die naam van die tweede houer soek, voeg die indeks van die skikkingselement by die uitdrukking:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Aangesien jq van die datastruktuur weet, lewer dit dieselfde resultate, selfs al verander die lêerformaat effens. grep en sed werk dalk nie reg in hierdie geval nie.
jq het baie funksies, maar 'n ander artikel is nodig om dit te beskryf. Vir meer inligting kontak gerus
5. fd vs vind
Byvoorbeeld, wanneer daar na lêers in 'n Git-bewaargids gesoek word, sluit fd outomaties versteekte lêers en subgidse uit, insluitend die .git-gids, en ignoreer ook wildcards van die .gitignore-lêer. In die algemeen versnel dit soektogte deur meer relevante resultate met die eerste probeerslag terug te gee.
By verstek voer fd 'n hoofletter-onsensitiewe soektog in die huidige gids uit, met kleuruitvoer. Dieselfde soektog met behulp van die vind-opdrag vereis dat bykomende parameters op die opdragreël ingevoer word. Byvoorbeeld, om alle .md (of .MD) lêers in die huidige gids te vind, sal jy 'n vind-opdrag soos volg skryf:
$ find . -iname "*.md"
Vir fd lyk dit so:
$ fd .md
Maar in sommige gevalle vereis fd ook bykomende opsies: as jy byvoorbeeld verborge lêers en gidse wil insluit, moet jy die -H-opsie gebruik, alhoewel dit gewoonlik nie vereis word wanneer jy soek nie.
fd is beskikbaar vir baie Linux-verspreidings. In Fedora kan dit soos volg geïnstalleer word:
$ sudo dnf install fd-find
Jy hoef niks prys te gee nie
Gebruik jy die nuwe Linux-opdragreëlnutsgoed? Of sit jy uitsluitlik op die oues? Maar heel waarskynlik het jy 'n kombinasie, reg? Deel asseblief jou ervaring in die kommentaar.
Oor die regte van reklame
Baie van ons kliënte het reeds die voordele waardeer epiese bedieners!
Dit
Bron: will.com