Programovanie

10 príkazov Unix, ktoré by mal poznať každý používateľ počítačov Mac a Linux

Grafické používateľské rozhrania sú vynikajúce - nechceli by sme bez nich žiť. Ale ak ste používateľom počítačov Mac alebo Linux a chcete z operačného systému (a klávesových skratiek) vyťažiť maximum, dlžíte si sám seba, aby ste sa zoznámili s príkazovým riadkom Unixu. Kliknutie a kliknutie je úžasné, kedykoľvek potrebujete niečo urobiť dvakrát alebo dvakrát. Ak ale potrebujete túto úlohu opakovať mnohokrát, príkazový riadok je vaším záchrancom.

Príkazový riadok je oknom do plnej a úžasnej sily vášho počítača. Ak sa túžite vymaniť z obmedzení grafického používateľského rozhrania alebo si myslíte, že programovanie alebo správa vzdialených počítačov je vo vašej budúcnosti, potom je učenie sa príkazového riadku Unix určite pre vás.

Nerobte si starosti, ak sa príkazy Unixu javia ako magické zaklínadlá alebo sa zdá, že záhadné vnútornosti systému sú mimo vášho dosahu. Nie je to také ťažké sa naučiť a tento článok vám poskytne 10 základných príkazov, ktoré potrebujete, aby ste mohli začať. Netrvalo dlho a tieto tajomné struny budú druhou prirodzenosťou.

Shell základy

Plášť príkazového riadku Unix je zhruba ekvivalentný príkazovému oknu v systéme Microsoft Windows (cmd alebo PowerShell). Príkazy, ktoré prejdeme nižšie, budú fungovať na akomkoľvek systéme podobnom Unixu, vrátane Linuxu, Darwinu (základ MacOS), FreeBSD a dokonca aj Windows s niečím ako Git Bash alebo novým shellom Bash vo Windows 10. Možnosti a výstup sa líšia trochu, ale nemali by ste mať problém ich pochopiť.

Najskôr musíte otvoriť shell, ktorý sa niekedy nazýva okno terminálu. Distribúcie Unixu to často umiestňujú pod ponuky Správa alebo Systém. V systéme MacOS nájdete terminál v časti Aplikácie> Pomôcky> Terminál. Po spustení uvidíte niečo také:

Táto obrazovka z MacOS 10.11 je typická pre väčšinu škrupín v GUI. V hornej časti okna vidíme typ shellu, v tomto prípade Bash (Bourne Again Shell, ktorý je predvoleným shellom v MacOS a väčšine linuxových distribúcií), a veľkosť okna. Vo vnútri okna je výzva, v tomto prípade nakonfigurovaná na zobrazenie názvu zariadenia (Ortuť), názov aktuálneho pracovného adresára (tu vlnovka, ~, čo je skratka pre domovský adresár používateľa), meno používateľa a nakoniec symbol výzvy ( $). Upozorňujeme, že vaša výzva sa bude meniť pri pohybe v systéme súborov alebo v prípade, že sa stanete iným používateľom vo svojom počítači (napríklad root alebo superuser na vykonávanie administratívnych príkazov). Výzva zobrazuje tieto informácie, takže na akomkoľvek stroji môžete ľahko zistiť, kde a kto ste.

Stojí za to vedieť, že shell Unix má dve hlavné príchute: Bourne a C. Bourne a spoločnosť boli odvodené z pôvodného systému AT&T Unix, zatiaľ čo shell C pochádza z Kalifornskej univerzity v Berkeley a BSD Unix. Deriváty prostredia Bourne a C sú všeobecne dobré na interaktívnu prácu v termináli. Štandardný shell POSIX, Korn shell, je ten, ktorý by ste chceli použiť na písanie vlastných programov v shelle, nazývaných skripty. Pre príklady v tomto výučbe používame prostredie Bash.

Prostredie škrupiny

Jedným z prvých faktov, ktoré treba pri práci na príkazovom riadku Unixu pochopiť, je, že shell pracuje vo svojom vlastnom prostredí. Pochopenie toho, ako ovládať prostredie shellu, je dôležitou súčasťou efektívnosti na príkazovom riadku. Pozrime sa na prostredie pomocou env príkaz:

Nerobte si teraz starosti s porozumením všetkým premenným prostredia, ale vedzte, že tam sú. Mali by ste rozpoznať už niekoľko premenných. Napríklad, SHELL = / bin / bash nám hovorí, že používame shell Bash. DOMOV = / Users / nunez určuje umiestnenie domovského adresára používateľa. Môžete meniť alebo vytvárať premenné prostredia a často to robíte. Tu je príklad nastavenia premennej prostredia s názvom FOO a zobrazenie jeho hodnoty:

Ako vidíte, konvenciou vkladáme premenné do veľkých písmen. Špeciálne si všimnite, ako odkazujeme na premenné prostredia, keď ich používame v príkazoch, s predchádzajúcim $. The $ povie tlmočníkovi príkazov, aby použil hodnotu premennej. Bez $, ozvena vyššie uvedený príkaz by jednoducho vytlačil názov premennej, FOO.

Unixové príkazy

Bez ohľadu na to, aký shell použijete, kedykoľvek napíšete príkaz do shellu, spôsobíte spustenie unixového programu. Filozofiou dizajnu Unix je vytvárať programy, ktoré robia jednu vec dobre, a spojiť ich (alebo prepojiť) s nimi, aby mohli vykonávať užitočnú prácu. Pozrime sa na jednoduchý príklad, ako spočítať počet súborov v adresári / etc (uvidíme, ako sa neskôr presunieme do adresára / etc):

Táto sekvencia príkazov ilustruje dva dôležité pojmy: piping a voľby. The je príkaz (ekvivalent k r príkaz vo Windows) zobrazí obsah adresára a wc (počet slov) počet slov. Všimli ste si zvislú čiaru medzi nimi? To je postava fajky. Rúrka prevezme výstup prvého príkazu a nasmeruje ho ako vstup do druhého príkazu. Môžete spojiť ľubovoľný počet príkazov v systéme Unix spojením jedného s druhým pomocou rúrok.

Druhá vec, ktorú si treba všimnúť, sú možnosti dané každému príkazu. V systéme Unix majú možnosti tradične predponu s jedným pomlčkovým znakom, -. Tieto možnosti príkazového riadku menia správanie príkazu. V tomto príklade -l možnosť je znamená výstup obsahu adresára v „dlhom“ formáte, zatiaľ čo –L možnosť wc znamená spočítať „riadky“ namiesto slov. V angličtine môže byť tento príkaz prečítaný:

Uveďte počet riadkov v aktuálnom adresári a potom ich odošlite do programu počítania slov, ktorý spočíta počet riadkov.

Tieto možnosti príkazového riadku často prepíšu predvolené hodnoty, ktoré sú nastavené v prostredí. Ak chcete zmeniť trvalé správanie príkazu, môžete nastaviť premennú prostredia automaticky po prihlásení. Mnoho príkazov umožňuje kombinovať možnosti do jedného reťazca - napríklad ls -la—Ale iní nie. O všetkých možnostiach príkazu sa môžete dozvedieť kontrolou jeho manuálu alebo „manuálových stránok“ (o ktorých pojednávame nižšie).

Učenie sa a používanie možností príkazového riadku je veľkou časťou efektívnosti príkazového riadku Unixu. Niektoré príkazy majú toľko možností, že dokumentácia beží na desiatkach stránok. Nenechajte sa tým teraz znepokojovať. Na vykonanie danej úlohy často potrebujete iba niekoľko možností a veľa možností sa používa iba pri písaní programov v jazyku shell.

Manuál

Keď pochopíte základy príkazového riadku a prostredia, môžeme sa začať ponoriť hlbšie do systému. Prvé miesto, kde treba začať, je manuál.

Jedným z príjemných aspektov systému Unix je vysoká kvalita dokumentácie. K dispozícii je dokumentácia pre používateľov, správcov systému a vývojárov softvéru. Prístup k dokumentácii získate pomocou muž príkaz. Začnime tým, že si prečítame príručku k príručke (zadajte muž človek na príkazovom riadku):

Príručky sú rozdelené do ôsmich častí, ktoré sa mierne líšia v závislosti od toho, či používate systém Unix typu BSD / Linux / Mac alebo System V. Je užitočné začať prečítaním úvodu do každej časti a môžete to urobiť so zaklínadlom ako man -s 1 intro, čo znamená vyhľadať v časti 1 manuálnu stránku nazvanú „úvod“:

Ak si nie ste istí, aký príkaz hľadáte, môžete vyskúšať -f a -k možnosti. človek –f príkaz vám povie funkciu príkazu, ak poznáte jeho názov muž –k náznak vypíše názvy príslušných príkazov na základe jedného alebo viacerých kľúčových slov. Obe možnosti prehľadajú vstavanú databázu (ak bola nakonfigurovaná; zvyčajne má) a vrátia všetky zhody. Napríklad, muž –k bzer zobrazí manuálne stránky, ktoré začínajú reťazcom bz:

Systém súborov

Existuje mnoho príkazov súvisiacich so súborovým systémom Unix, pretože je to jadro operačného systému. Jedného z nich sme videli už skôr: je, ktorý obsahuje zoznam súborov v adresári:

The je príkaz môže byť najbežnejšie používaným príkazom zo všetkých a má veľa možností na úpravu jeho výstupu. Jednou z možností, o ktorej by ste sa mali hneď dozvedieť, je ls -a (zoznam všetkých). Toto odhalí „bodkové“ súbory (súbory alebo adresáre, ktorých názvy začínajú bodkou alebo bodkou), ktoré sú predvolene skryté. Tieto súbory alebo adresáre zvyčajne obsahujú informácie o konfigurácii alebo súbory protokolu pre systém Unix. Napríklad súbor .bash_history zaznamenáva všetky príkazy, ktoré zadáte na príkazovom riadku.

Ďalším príkazom, ktorý budete ihneď potrebovať, je príkaz cd príkaz, pomocou ktorého meníte adresáre. Toto sa podobá rovnakému príkazu vo Windows, ale s dôležitým rozdielom. V systéme Unix sa všetky jednotky (zariadenia) zobrazujú ako jedna jednotka. Zatiaľ čo v systéme Windows môžete mať svoje obrázky na externom pevnom disku, ktorý sa zobrazuje ako E:, v systéme Unix môže byť tento disk / home / user / pictures. Všetky súbory v systéme Unix sú prístupné cez cestu, ktorá začína na / (koreňový adresár), a môžete pripojiť rôzne pevné disky v rôznych bodoch systému súborov podľa vašich potrieb.

Predtým, ako sa začnete túlať súborovým systémom, dovoľte mi predstaviť ďalší príkaz, ktorý budete potrebovať: pwd (tlačiť pracovný adresár). Pretože v rastúcom súborovom systéme je potenciálne veľa miest, ktoré sa dajú stratiť, tento príkaz vám umožní rýchlo určiť, kde sa nachádzate. Poďme prepnúť adresáre na miesto, kde sú uložené konfiguračné súbory systému, a overiť naše umiestnenie:

Upozorňujeme, že môžete použiť cd príkaz bez argumentov na rýchly návrat do domovského adresára. Ďalší tip: ~ možno použiť ako skratku na odkaz na váš domovský adresár v prostredí Bash aj C.

V tomto okamihu viete, ako sa pohybovať v súborovom systéme a uvádzať obsah adresárov. Teraz potrebujeme spôsob, ako čítať súbory, ktoré sú v nich uložené. V dnešnej dobe väčšina systémov prichádza s menej príkaz pre toto. menej zobrazí stránku po stránke a umožní vám navigáciu pomocou príkazov Vi (stlačte j posunúť sa dole, k posunúť sa hore, h získať pomoc a q opustiť súbor).

Poďme sa pozrieť, čo je v našom súbore / etc / passwd zadaním menej / etc / passwd:

Súbor passwd obsahuje zoznam používateľských účtov v systéme Unix spolu s ich identifikačnými číslami používateľov a skupín, domovským adresárom a cestou k príslušnému príkazu alebo shellu. V systéme MacOS však v hesle nájdete iba účty systémových služieb. Je to preto, že ľudskí používatelia sú konfigurovaní v časti Používatelia a skupiny v systémových predvoľbách systému MacOS.

Miesto na disku

Nedostatok miesta na disku je postupný proces, ktorý môže trvať roky, ale stále vás môže zaskočiť. Existujú dva príkazy, pomocou ktorých môžete skontrolovať svoje voľné miesto a určiť, ktoré súbory zabíjajú váš disk: du (využitie disku) a df (bez disku). Obaja berú a -h možnosť (čitateľná človekom). Ak chcete zistiť, ako je váš disk plný, použite df príkaz:

Zatiaľ sa zamerajte na %použil som a namontovaný na stĺpce. To ukazuje, že môj domovský adresár je plný na 92 ​​percent, takže by som ho mal pravdepodobne vyčistiť. Ako však zistím, kde sa všetok priestor využíva? To je čo du je pre:

V tomto príklade som použil zaklínadlo, ktoré obmedzuje výstup na prvých 10 riadkov. Inak du vypíše každý adresár na stroji, ktorého by mohlo byť ľahko pochopiteľné. Z tohto zoznamu vidíte, koľko miesta zaberá každý adresár. Môžete tiež vidieť, ako by sme spojením niekoľkých príkazov dohromady mohli ľahko zostaviť skript, ktorý by uvádzal zoznam 10 najlepších adresárov podľa využitia priestoru. Príkaz, ktorý potrebujeme na triedenie výstupu, je samozrejme triediť príkaz.

Pretože verzia systému MacOS triediť nezvláda duĽudsky čitateľný výstup, použil som -m možnosť pre du na zobrazenie využitia disku v megabajtoch (použite -g alebo -k možnosť zobrazenia v gigabajtoch alebo kilobajtoch). The -n a -r možnosti pre triediť zoraďte výstup číselne a v opačnom poradí, takže najväčšie adresáre sa zobrazia v hornej časti zoznamu.

Superužívatelia, su a sudo

Mnoho príkazov sa týka správy systému. Skúste zadať text man -s 8 intro za úvod do nich. Tu ti poviem jeden zásadný príkaz pre správu systému: su. Toto znamená „super užívateľ“ a týka sa administrátorského účtu alebo účtu root. Všetky súbory patriace do systému vlastní tento používateľ. Ak chcete vykonať správu, musíte sa stať týmto používateľom.

Súvisiaci príkaz, sudo, vám umožňuje stať sa super používateľom jediného príkazu. Prečo používať sudo namiesto su? Pretože najlepšia prax určuje, že ako užívateľ root nebudete pobehovať s právomocami náhodne napáchať nenapraviteľné škody. Ako normálny používateľ budete vždy chcieť urobiť všetko, čo je v vašich silách, a super používateľom sa stanete, iba keď to budete potrebovať. To, ako presne získate oprávnenie superužívateľa, bude závisieť od vašej distribúcie Unixu. Pozrime sa ako su funguje v systéme MacOS:

Čo? Som si istý, že som heslo zadal správne. Stalo sa tu to, že môj súčasný používateľ, nunez, nemá povolenie na su. V niektorých systémoch Unix to znamená, že používateľ musí byť v serveri koleso skupina a na iných systémoch (vrátane MacOS) musí byť používateľ v sudoers spis.

Dokončime to pridaním nunez do sudoers, ktoré vám poskytnú ochutnávku úprav súborov na príkazovom riadku. Pokročilí používatelia chvália editorov Emacs a Vi a odporúčam vám vyskúšať ich, ale tu použijeme Nano. Nano sa ľahko učí a používa a MacOS a mnoho distribúcií Linuxu sú už nainštalované.

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