portaldacalheta.pt
  • Põhiline
  • Veebi Kasutajaliides
  • Ui Disain
  • Andmeteadus Ja Andmebaasid
  • Vilgas
Tagumine Ots

Käsurea tööriistad arendajatele



Tänapäeva võrgumaailmas jätkub võitlus kasutajate kaasamise pärast, rakenduste tootjad eelistavad mobiili- või veebirakendusi. Töölauarakendused on üha vähem asjakohased. Veelgi enam, nad kipuvad olema midagi muud kui rikkad veebirakenduste kliendid - Electron on populaarne valitud platvorm.

Kas see tähendab, et lahkume peagi töölaualt platvormina? Ei, muidugi mitte, ma ei ütleks seda. Kuigi näib, et GUI-rakendused on hiljuti seiskunud, on üks töölauarakenduste segment, mis kasvab jätkuvalt.



Kas olete kunagi häkkeritega filmi näinud? Enamasti näidatakse neid inimesi töötamas monitoride ees, millel on mingi terminal (tavaliselt tumeda tausta ja heleda esiplaaniga). See terminal kipub omakorda olema üle ujutatud tegelastega, millel on ilmselt mingit tähendust neid lugeva inimese jaoks.



Illustratsioon: käsurea tööriistad ja häkkimine näevad filmides lahedamad kui päriselus



Selliseid häkkerite kujutusi tegevuses mõnitatakse sageli professionaalsed arendajad ja on isegi mõningaid programme, mis simuleerivad erinevaid 'häkkerite' efekte lihtsalt oma lõbuks.

Kuid reaalses maailmas ei kasutata käsurea tööriistu nende meelelahutusliku väärtuse jaoks.



Miks me ikkagi kasutame käsurea liidese tööriistu

See artikkel keskendub käsurealiidese (CLI) tööriistade kasutamise praktilisusele. CLI-käskude tundmine ja kvaliteetsete tööriistade kasutamine võib muuta teid produktiivsemaks ja avada uksi erinevatele lähenemistele automatiseerimisele, mis on tekstiliidestega palju praktilisem kui GUI-rakenduste puhul.

Saate seda parandada, tehes GUI-s korduvaid ülesandeid, kuni teie mitu klikki kuulatakse ühtsena. Probleem on selles, et see ei paranda spetsialiseeritud skripti efektiivsust. Lisaks toob samade toimingute tegemine käsitsi kaasa nii täiendava kognitiivse koormuse kui ka suurema inimliku eksituse võimaluse. Nagu tavaliselt, toetume arvutitele, et tulla toime ülesannetega, mis inimestele võivad tunduda igavad, korduvad või valdavad.



Tasub teada, et terminalitööriist võib pakkuda mitut tüüpi liideseid. On mitteinteraktiivseid elemente nagu ls , mis lihtsalt võtavad parameetrid ja annavad väljundi. On interaktiivseid või pool-interaktiivseid liideseid, mida pakettihaldurid kõige sagedamini leiavad. ('Kas olete kindel, et soovite installimist jätkata kinnitamata allikast?') Siis on olemas tekstilised kasutajaliidesed (TUI-d), mis on interaktiivsed graafilise kasutajaliidese rakendused, mis on kavandatud mahtuma terminali piiridesse. Tõenäoliselt on kõige kuulsam Kesköö komandör (mc), ülipopulaarne kloon (alates 90ndatest) Nortoni ülem .

Olulised käsurea tööriistad

Kui soovite saada konsoolielanikuks, peate end varustama minimaalse käsurea arendustööriistade komplektiga - hädavajalikuga. Asjad, millega te kindlasti ei saa elada, on üks interaktiivne kest (eesmärk on midagi kaasaegset, millel on mugav ripsmete ots) ja a tekstiredaktor .



Illustratsioon: hädavajalikud käsurea tööriistad

Nüüd mainin UNIX-i filosoofia , mis on sageli tööriista autorite poolt teadlikult või mitte langetatud kujundusotsuste aluseks. Mõned põhipunktid võib kokku võtta järgmiselt:

  • Käsitlege kõike ühe failina.
  • Tehke ainult ühte asja, kuid tehke seda hästi.
  • Loe standardsisendist, kirjuta standardväljundisse ja teavita vigadest standardvea voos.
  • Eduka tulemuse korral tagastatakse kood 0. Nulliväline väärtus tähendab viga (mille saab täpsustada täpne tagastuskood).
  • Luba käskude aheldamine ja skriptimine.

Kest

Esimene asi, mida terminali avamisel näete, on kest. See on see osa, mis võimaldab kasutaja ja masina vahelist suhtlemist. See tõlgendab teie käske, jagab need programmide nimedeks ja argumentideks ning täidab kõik teie poolt visatud shellikäsklused.

Ajalooliselt on kestasid olnud palju erinevaid. Kõige populaarsemate hulgas on csh (C Shell) ja erinevad Bourne Shelli rakendused (üldiselt tuntud lihtsalt kui sh ). Bourne Shell levis Korn Shelli, mis sai ka mõningase haarde ja mida harrastajad kasutavad siiani. Csh on praegu mõnes BSD-süsteemis vaikimisi kest, samas kui peaaegu kõik teised UNIX-tüüpi operatsioonisüsteemid eelistavad mingit tüüpi Bourne Shelli. Linuxi distributsioonid kalduvad eelistama bash samas kui Mac OS X on kaasas zsh vaikevalikuna.

On ka teisi võimalusi, kuid need on palju vähem populaarsed, välja arvatud Microsoft PowerShell Windowsi süsteemides. PowerShell on osaliselt inspireeritud interaktiivsetest UNIX-i kestadest nagu zsh ja osaliselt .NET-i käitusest. Selle asemel, et kõike käsitleda tekstina, mis on UNIX-maailmas levinud mõiste, võimaldab see objektipõhist andmete manipuleerimist.

Ehkki Microsoft PowerShell on Windowsi areenil üsna populaarne, eelistavad paljud UNIX-i päritoluga programmid (eelkõige Git, Autotools või Make) mõnda Bourne Shelli variatsiooni. Tänu sellele on sellised projektid nagu msys (komplektis Git for Windows), Cygwin või hiljutine [WSL] Microsoft . Kui soovite Windowsi jaoks Linuxi-sarnast tunnet, on siin parim valik MSys. Kui soovite täisfunktsionaalset Linuxi keskkonda, mis suudaks käitada tavalisi Linuxi binaarfaile, on WSL õige tee. Midagi vahepeale: UNIX API, kuid kompileeritud Windowsi käivitatavana (kasutage seda ainult siis, kui teate tõesti, miks seda vajate) -Cygwin on vastus.

Toimetaja

Kui olete oma kestaga tuttavaks saanud, soovite omandada kasulikke oskusi. Kuna enamik kodeerimistöödest käib teksti kirjutamine (kood, README, sõnumite kinnitamine), on interaktiivsete tekstiredaktorite hea tundmine hädavajalik. Valikus on palju ja kuna redaktor on iga arendaja jaoks kõige vajalikum tööriist, on arvatavasti sama palju arvamusi, milline redaktor on parim.

Illustratsioon: käsurea redaktoril on lihtne liides

kuidas teha discord-mobiilis robotit

Enamus populaarsed tekstiredaktorid saab jagada kahte põhirühma: Lihtsad tekstiredaktorid Y programmeeritavad tekstiredaktorid .

Mõlemad võivad olla suurepärased koodi kirjutamiseks, kuid nagu nimigi ütleb, pakuvad programmeeritavad võimalused redaktorit kujundada ja kohandada vastavalt teie vajadustele. Sellel on aga oma hind, kuna ka neil on õppimiskõver järsem ning nende kehtestamine võib võtta kauem aega.

Põhilised tekstiredaktorid

Lihtsate tekstiredaktorite hulgas on GNU Nano see on kõige levinum. See on tegelikult toimetaja kloon tipp nii et kui üks pole teie süsteemis saadaval, võite proovida teist. Teine moodsam alternatiiv mõlemale on toimetaja mikro . Kui soovite midagi lihtsat ja laiendatavat korraga, on see hea koht alustamiseks.

Programmeeritavad tekstiredaktorid

Paljud arendajad toetuvad erinevate valdkondade programmeeritavatele redaktoritele, näiteks ma tulin Y GNU Emacs . Mõlemad redaktorid saavad töötada konsooli või graafilise kasutajaliidese režiimis ja mõlemad mõjutasid teises tarkvaras leiduvaid võtmeühendusi. Mõlemad pakuvad lisaks API-le ka reaalseid sisseehitatud programmeerimiskeeli. Emacs keskendub LISP-ile ja Vim kasutab oma VimL-i, kuid pakub ka liideseid teistele populaarsetele skriptikeeltele (näiteks Lua, Perl, Python või Ruby). Mainimist väärib ka uuem lähenemine Vimile, nn Neovim kuna see hakkab tõsiselt jälgima.

See võib tekitada segadust, kuid on olemas ka toimetaja meie mis on Vimi eelkäija (mis muide tähendab ' Meie täiustatud '). See on palju lihtsam kui Vim, kuid kui olete piisavalt kindel, et Vimi kirjutada, ei tohiks see teie jaoks väljakutse olla, kui peate vajalikuks kasutada vi-d.

Kuna pico / GNU Nano ja vi / Vim on tavaliselt eelinstallitud erinevatesse süsteemidesse, on hea mõte vähemalt nende põhitõdedest aru saada (Vimist väljumine on algajatele teadaolevalt keeruline probleem). Sel viisil, kui peate midagi kaugseadmes redigeerima, on see valmis olenemata sellest, milline redaktor juba olemas on. Oma privaatseadmes saate kasutada mis tahes redaktorit, mis teile kõige mugavam on.

Vaikimisi süsteemiredaktor

Viimane asi, mida meeles pidada, on see, et teie süsteemis võib olla nn redaktor.

Keskkonnamuutuja $ EDITOR osutab vaikiredaktorile ja Bourne'iga ühilduvates kestades (sh, bash, ksh, zsh) näete seda, sisestades echo $ EDITOR Kui väärtus erineb teie isiklikust valikust, saate selle määrata, lisades export EDITOR = my-awesome-editor oma kesta käituse konfiguratsioonile ( ~ / .profile, ~. / Bashrc, ~ /. zshrc ja nii edasi).

Muud programmid, näiteks versioonikontrollisüsteemid ja meilikliendid, kasutavad seda redaktorit, kui vajavad pikemat tekstisisestust.

Multipleksor

Niipea, kui hakkate CLI-s tõsiseid asju tegema, satute piirangusse, kui teil on võimalik hoida ainult ühte rakendust korraga avatud. Kodeerimisel võiksite koodi muuta, käivitada, parandada vead ja uuesti käivitada. Vea otsimisel võite serverile päringu saatmisel soovida logid loetleda ja vaadata, mis logitakse. Tavaliselt tähendab see kahe rakenduse vahel pidevat vahetamist või mitme terminaliakna avamist.

Siin saab teid aidata terminali multiplekser. Multiplekseritest rääkides eeldavad mõned inimesed kohe, et teema on GNU ekraan . See oli esimene omalaadne laiendatud tööriist ja on tänapäevalgi väga populaarne (sageli on see vaikimisi installitud). Selle kaasaegne asendus on tmux mis üllatuslikult tähendab t erminal mu mitmekordne x on.'

Need kaks võimaldavad teil antud terminaliseansil avada rohkem kui ühe akna ja vabalt nende seansside vahel vahetada. Need võimaldavad teil jagada aknad paneelideks, mis aitab käivitada mitut rakendust korraga ja jälgida nende väljundit reaalajas (ilma aknaid muutmata). Samuti töötavad nad kliendi-serveri režiimis, mis tähendab, et saate need igal ajal lahti ühendada ja hiljem tagasi tulla, et jätkata tööd seal, kus pooleli jätsite. See viimane funktsioon viis ekraani populaarsuseni, kui inimesed soovisid püsivaid seansse. IRC .

Enamasti peaks GNU Screen või tmux teie jaoks suurepärane olema, kuid kui mingil põhjusel leiate, et need on ressursside jaoks liiga rasked, on olemas ka kergemaid alternatiive. Seal on dtach / atach ja on abdQco . Nende ulatus on teadlikult piiratud, kuid suudavad oma vastavaid ülesandeid hästi täita.

Paketihaldur

Siinkohal võite hakata mõtlema kogu eelnimetatud tarkvara arvutisse installimisele. Üks probleem on see, et igal tööriistal on erinevad paigaldusjuhised. Mõnikord peate allikad alla laadima ja ise kompileerima, mõnikord saate iseseisva binaarse ja mõnikord saate nn binaarpakett , mis üldiselt tähendab tihendatud käivitatavat faili koos mõne metaandmega.

Tarkvara installiprotsessi hõlbustamiseks mõtlesid operatsioonisüsteemide loojad välja paketihaldurite kontseptsiooni. Lihtsamalt öeldes on paketihaldur nagu CLI ja töölauarakenduste rakenduste pood. See eelistab tegelikke rakenduste poode paar aastakümmet. Probleem on selles, et peaaegu igal süsteemil on oma paketihaldur. Debiani, Ubuntu ja GNU / Linuxi tuletatud distributsioonid kasutavad APT-d, Red Hat-põhised jaotused eelistavad yumit või DNF-i, teistes Linuxi distributsioonides on tarkvara installimiseks eksootilisemad võimalused ja nii teevad ka erinevad BSD kloonid. Lisaks sisseehitatud paketihalduritele on olemas ka kasutaja installitud sarnased Šokolaadine MS Windowsi ja Homebrew Mac OS X / Mac OS jaoks. Kui soovite kirjutada juhised oma programmi installimiseks, võite lõpuks kirjutada juhtumeid nende kõigi süsteemide jaoks. Tundub liiga palju, kas pole?

Õnneks võib viimane nimetatud süsteemidest Homebrew olla tänu kõige kaasaskantavam Linuxbrew , Homebrew'i port GNU / Linuxi süsteemidele. Naljakas on see, et see töötab isegi WSL-is, kui soovite saada sarnast kasutajakogemust Microsoft Windowsis. Pange tähele, et WSL-i ei toetata ametlikult.

Mida saab Homebrew lisaks kaasaskantavusele veel pakkuda? Esiteks ei häiri see süsteemipakette, nii et kõik, mida installite, asub operatsioonisüsteemi eraldi kihis. Samuti pole pakettide installimiseks vaja rootõigusi. Seetõttu võivad teil olla stabiilsed ja testitud süsteemipaketid, kuid samal ajal kontrollida oma uuemaid versioone süsteemi stabiilsust ohverdamata.

Kui soovite toimetajaid testida, mainisin juba varem, et Homebrewi või Linuxbrew'i süsteemis peate tegema ainult selle käsu:

brew install emacs micro nano vim neovim.

Särav asi

See, mida oleme juba arutanud, on töö jaoks kahtlemata kasulik. Kuid on ka rakendusi, mis küll pole vajalikud, kuid pakuvad siiski igapäevaelule mugavust. Teil ei pruugi neid vaja minna, kuid neid tasub alati teada.

Interaktiivne filter

Käsuajaloo otsimine võib olla tüütu. Kuigi bashil ja zsh-il on klahvid Ctrl + R, näitab see korraga ainult ühte asendust. Samuti peate sisestama täpse teksti, mida varem kasutasite. Kuna see on üsna tavaline toiming, siis tundub see käsurea kasutamist alustades hea koht parandamiseks.

Interaktiivsed filtrid, nagu fzy , perkol , tükk või fzf aitab teil filtreerida pikki tekstiridu. See võib olla eelmainitud käsulugu, kõik projekti kataloogi koodiread või find. loodud failinimede loend. Üldine idee on esitada teile kõigepealt kõik saadaolevad read ja seejärel tugineda ebasobivatele otsingualgoritmidele, et välja filtreerida kõik, mis ei sobi.

Näiteks Ctrl + R linkimine fzf-iga kuvab viimaste käskude loendi, mida saate nooltega üles ja alla liikuda, või võite sisestada git näidata ainult neid käske, millel on Git kusagil sees. Ise, kui töötan kestaga, millel pole interaktiivset filtrit, tunnen end järsku natuke eksinud. See funktsioon on tõesti veenev!

Samuti saate muuta oma interaktiivse filtri kättesaadavaks programmeeritavas tekstiredaktoris. Nii on teil shell ja redaktori vahel ühtne otsimisvõimalus.

Interaktiivne brauser

Facebook PathPicker see oli suureks abiks, kui töötasin peamiselt C ++ projektidega. Koostaja loodud veapäevik võib olla üsna suur ja ebameeldiv ning võime leida selle logi tegelikke teid oli tohutu tootlikkus.

Mis tahes antud tekstifailis või ekraani sisus, kui seda kasutatakse koos tmux , fpp filtreerib kõik peale failiradade. Seejärel esitatakse see kasutajaliides, kus saate valida ühe või mitu neist teedest ja käivitada nendega käsu. Kõige tavalisem vastus oleks muidugi failide avamine redaktoris, mis on vaiketoiming.

Mine kasutajaliidesesse

Tõenäoliselt kasutab vähemalt üks projektidest, millega töötate Mine versioonikontrollisüsteemina. Ehkki Git CLI on täiesti võimas, pole see hea kasutuskogemuse tipp. Et natuke stressi säästa, lugedes kõiki Giti spikri $ SUBCOMMAND valikuid, soovitan teil seda kontrollida tig . See pakub kena konsooli kasutajaliidest toimingutele, mis sellest kasu saavad, näiteks log või blame.

Teine tööriist, mille eesmärk on aidata GIt-kasutajaid, on tegema , mis on lühend Parandage kõik konfliktid . Nagu arvata võis, tuleb see kasuks, kui sulandumisel või möödasõidul satute konflikti. See on alternatiiv teistele ühendamisvahenditele, näiteks vimdiff.

Failihaldur

90-ndatel oli aeg, kus kõik tahtsid kahe paneeli failihaldurit. Trend algas Nortoni ülem . Paljud teised läksid sama rada, kuid see, kes näeb endiselt stabiilset kasutajaskonda, on Kesköö komandör . Kõige ilmsem kasutusjuhtum on mc kasutamine kohalike failidega manipuleerimiseks, kuid see on väga kasulik ka kaugmasinatega töötamisel.

Nagu enamus käsureaprogramme, on see ka väga kerge, nii et selle käivitamine ssh kaudu pole probleem ja tänu toetatud FTP ja FISH protokollidele saate paneelil näha kohaliku failisüsteemi ja teises puldi. Mugav funktsioon, kui soovite vältida failinimede kirjutamist või kopeerimist argumentidena scp-sse.

CLI tööriistad lihtsalt oma lõbuks

'Kogu töö ja ükski mäng ei tee Jackist igavat poissi.' nad ütlesid. Seal on palju programme, käsurida ja nii edasi, mis on just teie lõbu. Videomäng Rogue kuulub sellesse kategooriasse. Ta pani isegi kogu mängužanrile oma nime! Muud populaarsed mänguasjad on varandus Y lehm , mis võib muuta selle vähem igavaks päevaks, kui kasutate neid näiteks kusagil oma CI-skriptides.

Kuid mõnele meist on konsooli kasutamise peamine joonistus filmides häkkerina tunda. Enam pole saladusi Y Hollywoodi häkker nad esindavad seda rühma hästi. Proovige seda siis, kui keegi jälgib teie tööd, ja teie häkkerite usaldusväärsus kasvab kindlasti!

Käsurida praktikas

Mis on nii lahedat käsurealt, mis korvab mitu tundi kestade, redaktori ja kõigi erinevate rakenduste lülitite kasutamise õppimiseks kulutatud tunde? Lühike vastus on tootlikkus , mis tuleneb kahest asjast:

  • Üks on see, et kui teile kuvatakse ainult terminaliaken ja mitte midagi muud, saate keskenduda intensiivsemalt, kuna teie tähelepanu pole palju segada. Armsatest kassipoegadest ei kuvata märguandeid, reklaame ega fotosid. Ainult sina ja su eesmärk.

  • Teine on automatiseerimine. Võite panna mitu skripti sageli kombineeritud toimingut ja kutsuda seda hiljem tervikuna, selle asemel et need kõik iga kord käsitsi kirjutada. Shelli ajaloost otsides saate kiiresti naasta eriti keeruka käsu juurde, mille olete kunagi sisestanud. Põhimõtteliselt saate salvestada ja taasesitada ükskõik mida ning kood on saadaval teie tehtud dokumentatsioonina.

Kasumile aitab kaasa ka varjunimede lisamise oskus. Näiteks taban end sageli Gitis kohustusi loovutamast, et värskendada sama, kuni see on täiuslik (praegu). Kui olen soovitud failid ette valmistanud, käivitan git carmh Ärge proovige seda kasutusjuhendist otsida, kuna see on minu privaatne varjunimi, mis tähendab commit --amend --reuse-message = HEAD. Salvestage kindlasti veidi tippimist.

Asi on selles, et inimestel on igav kordada samu toiminguid ikka ja jälle ning igavus vähendab keskendumist. See võib põhjustada vigu ja vigu. Ainus viis neist hoiduda on mitte põimida kõrge ja madala fookusega tegevusi. Kirjutamiskood on väga fookuses ning kaasamisteate ja sisu ülevaatamine on teravdatud, kuid kui kaasamise ülevaatuse etappi jõudmiseks peate siin ja seal kordama mitu mehaanilist klikki, on teie tähelepanu tõenäoliselt väiksem. Käsurida pole loomulikult niisugustest mehaanilistest tegevustest vaba, kuid tänu automatiseerimisele saate enamikku neist vältida.

Muud uuringud

Teil võib olla juba teadmisi mõnest või kõigist selles artiklis mainitud käsurea tööriistadest. Võib-olla olete seda lugedes õppinud midagi uut ja kasulikku. Kui jah, siis suurepärane. Minu eesmärk ei olnud siin pakkuda ülevaadet ja võrdlust erinevatest tööriistadest, vaid demonstreerida mõningaid üliolulisi tööriistu, mis on minu igapäevatöös kasulikud, lootuses, et ka mõned neist võivad teile kasulikud olla.

Seal on palju huvitavamaid käsureaprogramme ja kui olete neist huvitatud, soovitan tungivalt vaadata kureeritud loendit Äge kest parimatest tänapäeval saadaval olevatest käskudest

Enamikul GUI-rakendustel on oma terminali vaste. See hõlmab veebibrausereid, e-posti kliente, vestluskliente (IRC, Slack, XMPP), PIM-komplekte või arvutustabeleid. Kui teate mõnda head saadet, mida ma pole maininud, esitage need kommentaarides.

Oracle SQL Serverisse ja SQL Server Oracle'i migreerimisjuhendisse - Pt. 3

Andmeteadus Ja Andmebaasid

Oracle SQL Serverisse ja SQL Server Oracle'i migreerimisjuhendisse - Pt. 3
Juhtumianalüüs: ApeeScape'i kasutamine suurte kalade veeretamiseks

Juhtumianalüüs: ApeeScape'i kasutamine suurte kalade veeretamiseks

Mobiilne

Lemmik Postitused
Raha kogumise pigi teki kunst
Raha kogumise pigi teki kunst
Amazon vs. Walmart: Bezos läheb kogu toiduainete omandamisega jugulaarseks
Amazon vs. Walmart: Bezos läheb kogu toiduainete omandamisega jugulaarseks
Bootstrapped: kaugettevõtte ehitamine
Bootstrapped: kaugettevõtte ehitamine
Bootstrapi kasutamine ja .NET-projektide loomine
Bootstrapi kasutamine ja .NET-projektide loomine
Kuidas luua meilisõnumite analüüsi bot: NLP-õpetus.
Kuidas luua meilisõnumite analüüsi bot: NLP-õpetus.
 
Kommunikatsioonidirektor
Kommunikatsioonidirektor
Kuidas vältida funktsioonide libisemist kasutajalugude parimate tavade abil
Kuidas vältida funktsioonide libisemist kasutajalugude parimate tavade abil
Täpsem Git-juhend: Git Stash, Reset, Rebase ja palju muud
Täpsem Git-juhend: Git Stash, Reset, Rebase ja palju muud
Disainihariduse tähtsus
Disainihariduse tähtsus
KPI-d edu saavutamiseks - ülevaade projektijuhi jõudlusmõõdikutest
KPI-d edu saavutamiseks - ülevaade projektijuhi jõudlusmõõdikutest
Lemmik Postitused
  • Apache kaameli õpetus samm-sammult
  • kuid krüptot peetakse turvalisuseks ja seal pole mingit juhtimistööd
  • õppige c++-s kodeerima
  • Kreeka võlakriisi algpõhjus
  • kuidas krediitkaarte häkkida
  • mis põhjustas Kreeka majanduskriisi
  • Raspberry pi kasutamine serverina
Kategooriad
  • Veebi Kasutajaliides
  • Ui Disain
  • Andmeteadus Ja Andmebaasid
  • Vilgas
  • © 2022 | Kõik Õigused Kaitstud

    portaldacalheta.pt