Objavljeno: 27.6.2023 | Avtor: David Vidmar | Monitor Julij-avgust 2023

Miti o Applovem Macu - Čarovnije v ukazni vrstici

Kot smo zapisali v prvih prispevkih serije za novince v svetu računalnikov Mac, je operacijski sistem macOS zasnovan na osnovi operacijskega sistema (BSD) Unix. To cenijo razvijalci in številni drugi uporabniki, saj jih raznovrstna orodja, ki jih poganjajo v ukazni vrstici, naredijo učinkovitejše.

Verjetno vas je ob branju naslova zaskrbelo, da ste v roke prijeli Monitor izpred 35 let, ko smo zrli še v zeleno-črne monitorje. Naj vas pomirimo, berete aktualno številko, saj še vedno velja, da je upravljanje računalnika iz ukazne vrstice v resnici veliko hitrejše od uporabniških vmesnikov.

Ukaze zna sestavljati umetna inteligenca

Uporaba ukazov in programov v ukazni vrstici je velikokrat videti strašljivo. Marsikdo se ustraši neskončne kompleksnosti, nepregledne množice ukazov, parametrov, nastavitev in stikal. Z redno uporabo (in nekaj zapisovanja) se nabor znanih ukazov širi, a redko izvajana opravila so vedno znova izziv.

Če smo si še do nedavno pomagali z iskalnikom Google ali pa zavili naravnost na Stack Overflow in povezana spletišča, je danes najboljši pomočnik in učitelj ChatGPT – kdo pa drug?

Povejte mu, kaj želite opraviti, omenite, kateri sistem uporabljate, in z veseljem vam bo svetoval. Včasih se zgodi, da bo potrebno nekaj pogajanja, a slej kot prej se boste z umetno inteligenco sporazumeli in dobili rezultat, ki ste ga iskali.

Spretnost pri uporabi ukazne vrstice ni uporabna le za razvijalce, svoje delo lahko z njo hitreje opravi marsikateri napreden uporabnik. Klikanje po gumbih, skakanje med okni, delo z datotekami in druga neproduktivna opravila, s katerimi izgubljamo čas v grafičnih vmesnikih, lahko mnogokrat nadomestimo s preprostim ukazom ali pa namestimo dodaten namenski program ter več ukazov in programov povežemo v skripto.

Kako do ukazne vrstice?

Privzeto orodje za dostop do ukazne vrstice macOS je Terminal. Ob zagonu vas bo pričakala ukazna vrstica, podobna kot je pri sistemih Unix in Linux. Natančneje, pričaka vas lupina zsh (Z Shell), ki omogoča, da vnašate ukaze ali več ukazov združite v skripto.

Program Terminal in lupino zsh lahko po mili volji prilagajate. Namesto Terminala večina namesti enega od številnih zmogljivejših nadomestkov. Do nedavno so uporabniki najraje posegli po iTerm2, ki omogoča veliko več prilagoditev in uporabo več oken. Čeprav se na prvi pogled zdi, da je ukazna vrstica tehnologija preteklosti, se inoviranje nadaljuje in orodja postajajo vedno bolj izpopolnjena in uporabniku prijazna.

Moderna terminalska orodja, kot so Kitty, Hyper in Warp, so hitra, razširljiva in prilagodljiva, njihov cilj pa je narediti uporabo ukazne vrstice karseda uporabniku prijazno. Omogočajo hitrejše/samodejno dokončanje ukazov, enostavnejše izbiranje datotek, premikanje po mapah in še marsikaj.

Osnovni ukazi

Eden izmed bolj uporabnih ukazov je pomoč, ki jo prikličemo z man <ključna beseda> in prikaže izčrpne informacije in primere o želeni temi. Ker je vsebina navadno daljša od ene strani, lahko smerne tipke uporabimo za listanje, ko smo branje končali, pa uporabimo tipko q za izhod.

Uporaben je tudi ukaz clear, ki bo počistil zaslon. Terminalsko aplikacijo lahko vedno zapremo kot vsak drug program ali pa sejo prekinemo z ukazom exit.

Datotečni sistem

Če ste med starejšimi uporabniki računalnikov, potem so vam dobro znani ukazi cd za menjavo trenutne mape in mkdir za ustvarjanje mape. Ukaza sta univerzalna ne glede na to, ali ste jih uporabljali v DOS, Windows ali operacijskem sistemu Unix.

Tisti, ki smo ukazno vrstico spoznali v Microsoftovih operacijskih sistemih, se moramo privaditi nekaterih posebnosti okolij, temelječih na Unixu (oz. obratno – odvaditi se moramo nestandardnih ukazov, ki jih je vpeljal Microsoft v svojem sistemu DOS). Najzahrbtnejša razlika je, da imena datotek in map razlikujejo med velikimi in malimi črkami, torej so case-sensitive. Če ste navajeni za skok v mapo više napisati ukaz cd.., boste na macOS razočarani, saj bo sistem izpisal napako. Izkaže se, da ta ukaz rahla Microsoftova goljufija, saj med ukazom in prvim parametrom manjka presledek (pravilen ukaz je cd ..). Če nismo prilagodili nastavitev, se bo terminal vedno odprl v mapi trenutnega uporabnika. Ta se nahaja v mapi /Users/, znak ~ pa je bližnjica do te domače mape – cd ~ nas najhitreje prestavi v mapo, v kateri so uporabne in zanimive sistemske mape Applications, Desktop, Documents in Downloads. Zagotovo ne potrebujejo razlage.

Za izpis vsebine mape uporabimo ukaz ls, za bolj informativen izpis pa lahko dodamo še parametra -l za izpis v širokem načinu, ki doda podrobnosti datoteke, in -a, ki omogoča prikaz skritih datotek (na macOS je takih veliko).

Za iskanje datotek lahko uporabimo ukaz find, ki pa potrebuje nekaj parametrov, da bo opravil nalogo, ki mu jo boste dodelili.

Primer uporabe ukaza »find«, ki smo mu naročili, naj v trenutni mapo poišče vse datoteke, ki vsebujejo besedo »macos« ne glede na to, ali je zapisana z veliki ali malimi črkami.

Za kopiranje datotek uporabite ukaz cp, za preimenovanje ali premikanje pa mv. Datoteke lahko pobrišete z ukazom rm, mape pa z ukazom rmdir.

Primer uporabe ukazov mkdir, cp, rm in cd za kreiranje mape, kopiranje in brisanje datotek ter menjavo delovne mape.

Nameščanje programov

Eden izmed trikov ukazne vrstice, ki bo v življenje zahtevnega uporabnika prinesel največji napredek, je nameščanje programov in knjižnic z orodjem Homebrew. Namesto da boste v spletnem brskalniku skočili na spletno stran aplikacije, prenesli namestitveno datoteko, jo pognali in opravili postopek namestitve, brew omogoča, da vse korake izvedete z le enim preprostim ukazom.

Brew namestite s precej zapletenim ukazom, ki ga najdete na njegovi domači strani. Ta poskrbi, da se s spleta prenese namestitvena skripta in namesti vse potrebno, da boste lahko uporabljali upravljalnik paketov (t. i. package manager).

Za uporabo si je treba zapomniti nekaj preprostih ukazov. Tipičen scenarij bo iskanje točnega imena programa z ukazom brew search . Ko vemo, kako se program imenuje, ga namestimo z brew install .

Omrežne povezave

Ukazna vrstica je nadvse uporabna, ko imamo težave z delovanjem omrežne povezave in poskušamo ugotoviti, kje tiči problem.

Ukaz ifconfig (pozor za poznavalce Windows, nismo se zatipkali, res je ifconfig) je tradicionalno orodje, ki prikaže stanje vseh omrežnih povezav, fizičnih in virtualnih. Če vas zanima, kakšen je IP vaše omrežne povezave, morate v izpisu le še poiskati pravilni omrežni vmesnik, na večini macov se imenuje en0 oziroma vpisati ukaz ifconfig en0.

V sodobnejših različicah operacijskega sistema macOS je na voljo tudi zelo zmogljiv ukaz networksetup, s katerim lahko nastavljamo in preverjamo vse podrobnosti v zvezi z omrežnim sistemom. Ukaz networksetup -getinfo wi-fi pa bo vedno izpisal podrobnosti brezžične povezave.

Ukaz »ifconfig« je navadno prvi korak, ko naletimo na težave z omrežno povezavo.

Z ukazom ping boste, kot na drugih platformah, preverili odzivnost določenega naslova IP, nestat pa bo izpisal vse odprte TCP-povezave. Z ukazom ping monitor.si lahko preverite, ali je vaša naprava povezana s spletom.

Če morate s spleta prenesti datoteko, je to včasih to lažje narediti iz ukazne vrstice kot v brskalniku. Eden izmed načinov je ukaz wget. Ukaz wget bsi.si/_data/tecajnice/dtecbs.xml bo, na primer, prenesel XML-datoteko, ki vsebuje aktualne menjalne tečaje, kot jih objavlja Banka Slovenije.

Soroden ukaz je curl, ki ga s pridom uporabljajo razvijalci, saj lahko z njim izvedemo HTTP, FTP in druge spletne poizvedbe. Večinoma se uporablja za avtomatizacijo ali preizkušanje vmesnikov API. Na primer, curl -i https://api.thecatapi.com/v1/images/search bo vrnil povezavo do naključne slike mačke.

Urejanje in pregledovanje datotek

Če niste pripravljeni na srdit, dolgotrajen in verjetno večen prepir, nikar ne začnite debate o najprimernejšem urejevalniku datotek, če je vaš sogovornik izkušen uporabnik sistemov Mac, Linux ali sorodnih. Nekateri prisegajo na emacs, drugi na vim, četrti na kaj (še) bolj eksotičnega. A to so orodja za velemojstre ukazne vrstice in besedilnih okolij.

Navadni smrtniki bomo datoteko z nastavitvami, ki se običajno skrivajo v datotekah, začetih s piko (dot-files), najenostavneje odprli in uredili z urejevalnikom nano. Kadar želimo pregledati vsebino besedilne datoteke, lahko uporabimo ukaz cat, če je datoteka daljša od enega zaslona in se bo treba po njej premikati, je bolje uporabiti more ali pa poseči po še zmogljivejšem ukazu less.

Aliasi in skripte

Pri uporabi ukazov in programov iz ukazne vrstice se hitro zgodi, da so ukazi zelo zapleteni in nadležni za redno uporabo. Uporabo nam poenostavijo aliasi – poimenovanje zapletenejših ukazov. Tipičen primer je alias ll, ki je bližnjica za ukaz ls -laG. Ta bo izboljšal izpis datotek v trenutni mapi.

Če želimo, da so aliasi na voljo tudi po ponovnem zagonu, jih moramo zapisati v datoteko .zshrc (ali ustrezno drugo datoteko, če uporabljamo drugačno lupino).

V datoteko ».zshrc« lahko ukaze alias, ki jih redno uporabljamo, zapišemo z uporabo urejevalnika nano.

Redno izvajanje zaporedja ukazov si lahko olajšamo z izdelavo skripte. To ni nič drugega kot program, zapisan v besedilni datoteki, ki izvaja v lupino vgrajene ukaze in nameščene programe.

Bash (in zsh) skripte imajo tipično končnico .sh in so povsem običajne besedilne datoteke, ki imajo v prvi vrstici zapisan komentar #!/bin/bash, a jim moramo pred zagonom nastaviti možnost zagona z ukazom chmod +x ./<ime_datoteke>, nato pa jih lahko iz ukazne vrstice zaženemo tako, da zapišemo piko in poševnico, potem pa ime skripte.

Napredne zamisli

Zapisani nasveti za rabo ukazne vrstice niso le vrh ledene gore, boljša primerjava bi bila s snežinko na vrhu ogromne ledene gore, saj je z vgrajenimi ukazi in – še bolje – programi, ki jih večinoma razvija skupnost, mogoče v ukazni vrstici opraviti številna opravila.

Za pregledovanje zasedenega in prostega prostora na vgrajenih in izmenljivih pogonih lahko uporabite ncdu, ki ga morate najprej namestiti. Najenostavneje to opravite z brew.

Če ste se z računalniki srečali pred 30 leti in več, potem se gotovo spomnite legendarnega Norton Commanderja, s katerimi smo kopirali, preimenovali in na sploh upravljali datoteke, ne da smo se dotaknili miške (če smo jo sploh imeli). Njegov naslednik v besedilni obliki je Midnight Commander, ki ga najdete pod imenom mc.

Midnight Commander za nostalgike in vse, ki bi radi produktivno upravljali datoteke.

Razvijalci in sistemski operaterji uporabijo htop za pregled zasedenosti procesorjev in delovnega pomnilnika, pregled aktivnih procesov in programov, ki jih lahko tudi zaustavijo. Preizkusite lahko tudi glances, ki ga lahko dodatno namestite. To je še naprednejše orodje za vpogled v drobovje delovanja pognanih programov in storitev.

Razvijalci poznajo orodje git, ki je najpogosteje uporabljan način za arhiviranje in verzioniranje programske kode ter tudi za datoteke, ki sicer niso programska koda, pa bi jih kljub temu želeli urejati v različnih okoljih, morebiti z več ljudmi, ter imeti pregled nad spremembami in zgodovino.

Paket imagemagik je izjemno zmogljiv urejevalnik slik, ki je nepogrešljiv, ko želimo pomanjšati, ponovno stisniti, obrezati ali kako drugače obdelati sliko več teh hkrati.

Podobno lahko zapišemo za pregovorno zapleteni, a neskončno zmogljiv ffmpeg, ki je tako ali drugače del praktično vsakega programa za urejanje videoposnetkov. Izjemno uporaben ukaz za pretvarjanje med različnimi formati in še več, a za resno uporabo bo treba odpreti dokumentacijo, iskati po spletu ali klepetati z umetno inteligenco.

Za predvajanje in urejanje zvokovnih datotek lahko uporabite ukaze afplay, afinfo, and afconvert. Načinov za »varnostno shranjevanje« posnetkov z Youtuba je veliko, mnogi pa so zgrajeni na osnovi youtube-dl, ki ga najlažje, najhitreje in z največ zasebnosti uporabite kar na svojem računalniku.

Za napredne načine kopiranja datotek, tudi na oddaljene sisteme, je velikokrat prava izbira rsync. Njegov bratranec rclone pa je kot nalašč za izdelovanje kopij, lahko tudi varnostnih, v različnih sistemih in oblačnih storitvah, kot so OneDrive, Google Drive, ali pa storitvami v oblaki, kot sta AWS in Azure.

Izjemna rešitev za varnostne kopije je odprtokodni restic, ki ga, podobno kot rclone, lahko povežemo z marsikatero oblačno shrambo, denimo tudi z BlackBlaze B2.

Če ste preizkusili že vse programe za upravljanje nalog zase, za družino ali delovno skupino, pa se z nobenim niste spoprijateljili, potem poskusite še minimalistični, a zmogljiv taskwarrior.

Nenavadni načini uporabe ukazne vrstice

Če želite svoji ukazni vrstici vtisniti nekaj sproščenosti, ne boste imeli težav. Domiselnosti razvijalcev programov za ukazno vrstico res ne zmanjka.

Med zabavne in šaljive rabe ukazne bi lahko šteli ukaz say, ki zapisano besedilo spremeni v govorjeno besedo. A ta ima čisto praktičen namen – zvočno smo lahko opozorjeni na zaključek ali napako v skripti, ne da bi spremljali dogajanje na zaslonu.

Skripto lahko popestrite s sorodnim ukazom cowsay, ki bo podano besedilo zapisal v stripovskem oblačku, ki ga, seveda, izgovori krava.

S programom lynx lahko iz ukazne vrstice brskate po spletu, a praktične uporabe tega pri uporabi računalnikov Mac, ki so večinoma povezani z (zmogljivim) zaslonom, so zelo redke. Podobno lahko zapišemo tudi za pregledovalnike elektronske pošte kot so mutt, alpine ali sup, ki imajo posebno uporabno vrednost, saj omogočajo varno branje brez sodobnih nadležnosti, kot so sledenje uporabnikom in škodljive priponke.

Glavna prednost storitve Spotify pred drugimi za pretočno poslušanje glasbe je gotovo ekosistem rešitev, ki dopolnjujejo in nadgrajujejo uradne aplikacije. Če vas mika enostavnejši pristop do glasbe, kot je vizualno nasilna oblika sodobnih odjemalcev za namizja, namestite ncspot in uživajte v minimalizmu!

Morate na hitro preveriti vreme kjerkoli na svetu? Nikar ne odpirajte brskalnika, hitreje bo skočiti v ukazno vrstico in izvesti ukaz »curl wttr.in/Ljubljana«!

Če vas jezi, da se pri uporabi ukaza ls večkrat zatipkate, vam bi lahko svetovali, da ustvarite alias. A bolj zabavno bo, če z brew namestite program sl, ob katerem vas bo jeza verjetno hitro minila.

In ko smo že pri animacijah v besedilnem okolju … Ste vedeli, da si lahko ogledate četrti del (ali prvega, odvisno, kako štejete) iz serije filmov Star Wars tudi v ukazni vrstici? Pripravite si kokice, v terminal pa vpišite telnet towel.blinkenlights.nl!

Previdno!

Slepo lepljenje ukazov v terminal oziroma ukazno vrstico v kateremkoli sistemu je lahko izjemno nevarno opravilo. Lahko pobrišete informacije, onesposobite sistem ali nehote neznano kam pošljete svoje (osebne) podatke. Pred zagonom neznanih ukazov je zelo priporočljivo uporabiti dobri stari Google in se poučiti, kaj ukaz zares počne.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji