Programiranje

10 ukazov Unix, ki bi jih moral poznati vsak uporabnik Mac in Linuxa

GUI so odlični - brez njih ne bi želeli živeti. Če pa uporabljate Mac ali Linux in želite kar najbolje izkoristiti svoj operacijski sistem (in pritiske tipk), ste dolžni spoznati ukazno vrstico Unix. Point-and-click je čudovito, kadar koli morate nekaj narediti enkrat ali dvakrat. Če pa morate to nalogo večkrat ponoviti, je ukazna vrstica vaš rešitelj.

Ukazna vrstica je okno v polno, neverjetno moč vašega računalnika. Če se že dolgo želite osvoboditi omejitev grafičnega uporabniškega vmesnika ali mislite, da je programiranje ali upravljanje oddaljenih računalnikov v vaši prihodnosti, potem je učenje ukazne vrstice Unix zagotovo za vas.

Ne skrbite, če se zdijo ukazi Unixa čarobni zakleti ali skrivnostna notranjost sistema zunaj vašega dojema. Ni jih tako težko naučiti, ta članek pa vam bo dal 10 osnovnih ukazov, ki jih potrebujete za začetek. Kmalu bodo te skrivnostne strune druga narava.

Osnove školjke

Lupina ukazne vrstice Unix je približno enakovredna ukaznemu oknu v operacijskem sistemu Microsoft Windows (cmd ali PowerShell). Ukazi, ki jih prehodimo spodaj, bodo delovali v vseh sistemih, podobnih Unixu, vključno z Linuxom, Darwinom (temelj MacOS-a), FreeBSD-jem in celo Windowsom z nečim, kot je Git Bash ali nova lupina Bash v sistemu Windows 10. Možnosti in izhodni podatki se razlikujejo rahlo, vendar ne bi smeli imeti težav z njihovo osmislitvijo.

Najprej morate odpreti lupino, včasih imenovano terminalsko okno. Pogosto distribucije Unixa to dajo pod skrbniške ali sistemske menije. V MacOS-u boste terminal našli v Applications> Utilities> Terminal. Ko ga zaženete, boste videli nekaj takega:

Ta zaslon iz sistema MacOS 10.11 je značilen za večino lupin v grafičnem uporabniškem vmesniku. Na vrhu okna vidimo vrsto lupine, v tem primeru Bash (Bourne Again Shell, ki je privzeta lupina v MacOS-u in večini distribucij Linuxa), in velikost okna. V oknu je poziv, v tem primeru konfiguriran za prikaz imena naprave (Živo srebro), ime trenutnega delovnega imenika (tukaj tilda, ~, kar je okrajšava za uporabnikov domači imenik), ime uporabnika in na koncu simbol poziva ( $). Upoštevajte, da se bo vaš poziv spremenil, ko se boste gibali po datotečnem sistemu ali če boste v računalniku postali drug uporabnik (na primer root ali super uporabnik, da boste lahko izvajali skrbniške ukaze). V pozivu so prikazane te informacije, tako da lahko enostavno ugotovite, kje in kdo ste na katerem koli računalniku.

Vredno je vedeti, da obstajata dva glavna okusa lupine Unix: lupina Bourne in C. Bourne in družba sta izhajala iz prvotnega AT&T Unixa, lupina C pa iz Kalifornijske univerze v Berkeleyju in BSD Unix. Na splošno so derivati ​​lupine Bourne in C primerni za interaktivno delo na terminalu. Standardna lupina POSIX, lupina Korn, je tista, ki bi jo želeli uporabiti za pisanje lastnih programov v lupino, imenovani skripti. Za primere v tej vadnici uporabljamo lupino Bash.

Okolje lupine

Eno prvih dejstev, ki jih je treba razumeti pri delu v ukazni vrstici Unix, je, da lupina deluje v svojem okolju. Razumevanje nadzora nad okoljem lupine je pomemben del učinkovitosti ukazne vrstice. Oglejmo si okolje s pomočjo env ukaz:

Ne skrbite, da boste zdaj razumeli vse spremenljivke okolja, vendar vedite, da so tam. Že nekaj spremenljivk bi morali prepoznati. Na primer, LUŠČINA = / bin / bash nam pove, da uporabljamo lupino Bash. DOMOV = / Uporabniki / nunez določa lokacijo uporabnikovega domačega imenika. Spremenljivke okolja lahko spremenite ali ustvarite in to boste pogosto storili. Tu je primer nastavitve spremenljivke okolja, imenovane FOO in prikaz njegove vrednosti:

Kot vidite, po dogovoru spremenljivke damo v velike črke. Posebej bodite pozorni na to, kako se na spremenljivke okolja sklicujemo, ko jih uporabljamo v ukazih, s predhodnimi $. The $ pove tolmaču ukazov, naj uporabi vrednost spremenljivke. Brez $, odmev zgoraj bi preprosto natisnil ime spremenljivke, FOO.

Ukazi Unix

Ne glede na to, katero lupino uporabite, boste vsakič, ko v lupino vnesete ukaz, povzročili izvajanje programa Unix. Fizikalna filozofija Unixa je ustvariti programe, ki dobro delajo eno stvar, in jih povezati (ali povezati) za koristno delo. Oglejmo si preprost primer za štetje števila datotek v imeniku / etc (kasneje bomo videli, kako se premaknemo v imenik / etc):

To zaporedje ukazov prikazuje dva pomembna koncepta: cevovod in možnosti. The ls ukaz (enakovredno dir ukaz v operacijskem sistemu Windows) prikaže vsebino imenika in stranišče (število besed) število besed. Ste opazili navpično črto med njima? To je lik cevi. Cev sprejme izhod prvega ukaza in ga usmeri kot vhod v drugi ukaz. V Unixu lahko povežete poljubno število ukazov tako, da jih med seboj povežete s cevmi.

Druga stvar, ki jo je treba opaziti, je možnost vsakega ukaza. V Unixu imajo možnosti tradicionalno predpono z enim pomišljajem, -. Te možnosti ukazne vrstice spremenijo vedenje ukaza. V tem primeru je -l možnost ls pomeni izpis vsebine imenika v "dolgi" obliki, medtem ko –L možnost stranišče pomeni šteti "vrstice" namesto besed. V angleščini je ta ukaz mogoče brati:

Naštejte število vrstic v trenutnem imeniku in jih nato pošljite programu za štetje besed, da prešteje število vrstic.

Te možnosti ukazne vrstice pogosto preglasijo privzete nastavitve, ki so nastavljene v okolju. Če želite spremeniti način trajnega obnašanja ukaza, lahko ob prijavi samodejno nastavite spremenljivko okolja. Številni ukazi omogočajo kombiniranje možnosti v enem nizu - na primer ls -la- drugi pa ne. O vseh možnostih ukaza se lahko naučite tako, da preverite priročnik ali »strani z navodili« (o katerih bomo razpravljali spodaj).

Učenje in uporaba možnosti ukazne vrstice je velik del učinkovitosti ukazne vrstice Unix. Nekateri ukazi imajo toliko možnosti, da dokumentacija teče na desetine strani. Naj vas to zdaj ne skrbi. Za izvedbo določene naloge pogosto potrebujete le nekaj možnosti, veliko možnosti pa se uporablja samo pri pisanju programov v jeziku lupine.

Priročnik

Ko razumete osnove ukazne vrstice in okolja, se lahko začnemo poglabljati globlje v sistem. Najprej je treba začeti z navodili.

Eden od lepih vidikov Unixa je visoka kakovost dokumentacije. Obstaja dokumentacija za uporabnike, skrbnike sistema in razvijalce programske opreme. Do dokumentacije dostopate z človek ukaz. Začnimo z branjem priročnika za priročnik (vnesite človek človek v ukazni vrstici):

Priročniki so razdeljeni na osem odsekov, ki se nekoliko razlikujejo glede na to, ali uporabljate Unix za BSD / Linux / Mac ali System V. Za začetek je koristno, da preberete uvod v vsak odsek, in to lahko storite s takim zaklepanjem moški-1 uvod, kar pomeni, da v 1. razdelku poiščete stran z roko z imenom »uvod«:

Če niste prepričani, kateri ukaz iščete, lahko poskusite -f in -k opcije. človek –f ukaz vam bo povedal funkcijo ukaza, če poznate njegovo ime človek –k namig bo navedel imena ustreznih ukazov na podlagi ene ali več ključnih besed. Obe možnosti bosta iskali vgrajeno bazo podatkov (če je bila konfigurirana; običajno jo ima) in vrnili vsa ujemanja. Na primer, človek –k bzer bodo prikazane strani z navodili, ki se začnejo z nizom bz:

Datotečni sistem

Z datotečnim sistemom Unix je povezanih veliko ukazov, saj je jedro operacijskega sistema. Enega smo že videli prej: ls, ki navaja datoteke v imeniku:

The ls ukaz je lahko najpogosteje uporabljen ukaz med vsemi in ima veliko možnosti za prilagoditev izhoda. Ena od možnosti, ki jo boste želeli vedeti takoj, je ls -a (seznam vseh). To bo razkrilo datoteke s pikami (datoteke ali imeniki, katerih imena se začnejo s piko ali piko), ki so privzeto skrite. Te datoteke ali imeniki običajno vsebujejo informacije o konfiguraciji ali dnevniške datoteke za sistem Unix. Datoteka .bash_history na primer beleži vse ukaze, ki jih vnesete v ukazno vrstico.

Drugi ukaz, ki ga boste potrebovali takoj, je cd ukaz, ki ga uporabljate za spreminjanje imenikov. To je podobno istemu ukazu v operacijskem sistemu Windows, vendar s pomembno razliko. V Unixu so vsi pogoni (naprave) prikazani kot en pogon. Medtem ko imate v operacijskem sistemu Windows slike na zunanjem trdem disku, ki je prikazan kot E :, v Unixu je ta pogon lahko / home / user / pictures. Do vseh datotek v sistemu Unix se dostopa po poti, ki se začne z / (korenski imenik), na različne točke datotečnega sistema pa lahko namestite različne trde diske glede na vaše potrebe.

Preden začnete tavati po datotečnem sistemu, naj predstavim še en ukaz, ki ga boste potrebovali: pwd (natisni delovni imenik). Ker se v rastočem datotečnem sistemu potencialno lahko izgubi veliko mest, lahko s temi ukazi hitro ugotovite, kje ste. Preklopimo imenike na mesto, kjer se hranijo sistemske konfiguracijske datoteke, in preverimo našo lokacijo:

Upoštevajte, da lahko uporabite cd ukaz brez argumentov za hitro vrnitev v domači imenik. Še en nasvet: ~ se lahko uporablja kot bližnjica do vašega domačega imenika v lupini Bash in C.

Na tej točki veste, kako se premikati po datotečnem sistemu in navajati vsebino imenikov. Zdaj potrebujemo način za branje datotek, shranjenih v njih. Danes večina sistemov prihaja z manj ukaz za to. manj bo prikazal datoteko stran za stranjo in vam omogočil navigacijo z ukazi Vi (pritisnite j premakniti navzdol, k premakniti gor, h po pomoč in q za izhod iz datoteke).

Poglejmo, kaj je v naši datoteki / etc / passwd z vnosom manj / etc / passwd:

Datoteka passwd navaja uporabniške račune v sistemu Unix, skupaj z njihovimi ID-ji uporabnikov in skupin, njihovim domačim imenikom in potjo do ustreznega ukaza ali lupine. V sistemu MacOS pa boste v passwd našli samo račune sistemskih storitev. To je zato, ker so človeški uporabniki konfigurirani v razdelku Uporabniki in skupine v sistemskih nastavitvah sistema MacOS.

Prostor na disku

Zmanjka prostora na disku je postopen postopek, ki lahko traja leta, vendar vas lahko vseeno ujame. Obstajata dva ukaza, s katerimi lahko preverite svoj prosti prostor in določite, katere datoteke zasukajo vaš disk: du (uporaba diska) in df (brez diska). Oba vzameta a -h možnost (človeku berljivo). Če želite ugotoviti, kako poln je disk, uporabite df ukaz:

Za zdaj se osredotočite na %uporabil sem in nameščen na stolpci. To kaže, da je moj domači imenik poln 92 odstotkov, zato bi ga verjetno moral očistiti. Kako pa naj vem, kje se ves prostor uporablja? To je kaj du je za:

Za ta primer sem šel z insantacijo, ki omejuje izhod na prvih 10 vrstic. V nasprotnem primeru du bo našel seznam vseh imenikov na računalniku, kar bi lahko bilo preveč za razumevanje. Iz tega seznama lahko vidite, koliko prostora zasede posamezen imenik. Morda boste tudi videli, kako bi z veriženjem nekaj ukazov skupaj zlahka sestavili skript, ki bi uvrstil 10 najboljših imenikov po porabi prostora. Ukaz, ki ga moramo razvrstiti, je seveda razvrsti ukaz.

Ker MacOS-ova različica razvrsti ne zmore duČloveško berljiv izhod, uporabil sem -m možnost za du za prikaz uporabe diska v megabajtih (uporabite -g ali -k možnost prikaza v gigabajtih ali kilobajtih). The -n in -r možnosti za razvrsti izhod razvrstite številčno in v obratnem vrstnem redu, tako da bodo največji imeniki prikazani na vrhu seznama.

Super uporabniki, su in sudo

Številni ukazi se nanašajo na upravljanje sistema. Poskusite tipkati moški-8 uvod za uvod v njih. Tukaj vam bom dal en bistveni ukaz za skrbništvo sistema: su. To pomeni "super uporabnik" in se nanaša na skrbniškega uporabnika ali korenski račun. Vse datoteke, ki pripadajo sistemu, so v lasti tega uporabnika in za izvajanje administracije boste morali postati ta uporabnik.

Povezani ukaz, sudo, vam omogoča, da postanete super uporabnik za en sam ukaz. Zakaj uporabljati sudo namesto su? Ker najboljša praksa narekuje, da kot korenski uporabnik ne tečete z močjo, da bi po nesreči naredili nepopravljivo škodo. Vedno boste želeli narediti vse, kar lahko, kot običajen uporabnik in postati super uporabnik le, ko boste to morali. Natančno, kako pridobite super uporabniške privilegije, bo odvisno od vaše distribucije Unixa. Poglejmo, kako su deluje na MacOS:

Kaj? Prepričan sem, da sem pravilno vpisal geslo. Tu se je zgodilo, da je moj trenutni uporabnik, nunez, nima dovoljenja za su. V nekaterih Unixih to pomeni, da mora biti uporabnik v kolo in v drugih sistemih (vključno z MacOS-om) mora biti uporabnik v Sudoerji mapa.

Zaključimo z dodajanjem nunez do Sudoerji, ki vam bo dala okus po urejanju datotek v ukazni vrstici. Napredni uporabniki pojejo hvalnice urednikom Emacs in Vi, zato vas spodbujam, da jih preizkusite, vendar bomo tukaj uporabili Nano. Nano je enostaven za učenje in uporabo, MacOS in številni distribucijski sistemi Linux pa so že nameščeni.

$config[zx-auto] not found$config[zx-overlay] not found