UNIX 1. časť – začíname s príkazmi

26. Marec, 2010, Autor článku: Fodrek Peter, Informačné technológie
Ročník 3, číslo 3 This page as PDF Pridať príspevok

logo_unix85Veľa krát sa môžete stretnúť s názorom, že Linux nemá grafiku. Tento mýtus si spôsobila komunita sama. Ľudia z komunity totiž právom tvrdia, že všetko, čo sa dá nastaviť cez „klikacie“ rozhrania sa dá nastaviť aj cez textový terminál. Navyše cez terminál je to rýchlejšie ako myšou.

Slovák Stanislav „Elven“ Hoferek urobil výskum rýchlosti písania „linuxákov“ na klávesnici [1]. Zistil, že najslabší z nich píše rýchlosťou 167 úderov za minútu. Najlepší dokonca 619 úderov za minútu. Tento test sa odohral pri opisovaní textu. Bežné unixové príkazy majú 2-5 znakov (úderov). Shell v rozhraní povelového riadku dopĺňa po stlačení <Tab> jednoznačnú časť príkazu. Tým je dané, že v textovom terminále sa problém vyrieši rýchlejšie ako myšou. Grafické prostredia Unix-u a aj Microsoft Windows majú svoj emulátor terminálu (xterm, konsole, telnet, ssh, Windows putty,…). Preto môžeme terminál spustiť aj v grafickom okne. Normálne sa do povelového riadku dostaneme hneď po prihlásení to textového terminálu, alebo uvedeným spustením jeho emulácie z grafického prostredia založeného na X Window system(KDE, Gnome atď.)

Linux má niekoľko virtuálnych textových terminálov/konzol. Je na nastavení používateľa, koľko z nich je textových a koľko grafických, ako aj aké čísla majú. Medzi terminálmi sa prepína pomocou troj-kombinácie <Ctrl>+<Alt>+<Fx>, kde Fx je funkčná klávesa a x je číslo terminálu. Preto prepnutie sa do prvého terminálu je <Ctrl>+<Alt>+<F1> a do 7. terminálu <Ctrl>+<Alt>+<F7>. Je zaužívané, že konzoly 1-6 sú textové a 7. konzola je grafická.


Obr. 1: Terminály

Niektoré nové distribúcie využívajúce nastupujúcu technológiu Kernel mode setting majú grafickú konzolu ako prvú. Niektoré špeciálne distribúcie a distribúcie pre expertov či pre použitie na serveri nemajú grafický terminál, a/alebo majú len jedinú textovú konzolu. Je to preto, lebo X server vie spotrebovať až 30% výkonu počítača a na serveri netreba grafické ovládanie. To ale neznamená, že sa nedá X server spustiť aj na takých distribúciách. Musíte to ale urobiť manuálne alebo nastaviť automatické štartovanie X11 (http://sk.wikipedia.org/wiki/X11) prostredníctvom textového terminálu. Práve preto sa budeme ďalej venovať najdôležitejším príkazom v textovom režime. Ak v systéme pokazíte čokoľvek existuje vždy cesta, ako to opraviť v povelovom riadku, bez straty údajov a nastavení. Ak odstránite jadro alebo zavádzač OS, tak si do textového režimu nainštalovaného systému viete pomôcť inštalačným alebo Live CD nejakého Linuxu alebo BSD.

Ak otvoríme textový terminál z grafického netreba sa prihlásiť do systému. Je to preto, lebo sme sa už raz prihlásili do grafického rozhrania. Textový terminál „zdedí“ prihláseného používateľa. Ak sa prihlasujeme do textového terminálu musíme zadať prihlasovacie meno (login) a následne heslo (Password) daného používateľa. Dnes už nikto presne nevie, prečo je login s malým a Password s veľkým začiatočným písmenom. Nikto to však nezmení, lebo mnoho klientov s automatickým prihlásením (napr. windowsovský putty) hľadá práve tieto reťazce s rozlišovaním veľkosti písmen a zmena by ich znefunkčnila. Dovolím si pripomenúť, že heslo je tajné a dôležitejšie a preto sa nevypisuje. Nevypisujú sa ani bodky, či hviezdičky, aby sa nedal zistiť počet znakov hesla. Znalosť počtu znakov hesla, totiž radikálne zjednodušuje jeho odhalenie. Predstavme si teda konečne najdôležitejšie príkazy Unixu.

Prvý a najdôležitejší príkaz je vyvolanie manuálu – príkaz man (čítaj manuál) jeho parametrami sú číslo sekcie manuálu a hľadaný pojem. Ak sa číslo vynechá mal by sa nájsť daný pojem v sekcii s najnižším číslom. To môže byť problém, ak je daný pojem (manuálová stránka) vo viacerých sekciách. Toto sa rieši rôzne. Bežne je to tak, že v časti stránky „see also“ je aj daný pojem a za ním v zátvorke sekcia, kde sa ešte nachádza daný pojem. Bavorské OpenSUSE to rieši inak: ak sa pojem nachádza vo viacerých sekciách ponúkne ich zoznam a dá vám pár sekúnd na výber správnej sekcie. Ak nezadáte nič otvorí sa pojem zo sekcie s najnižším číslom. Toto posledné robia iné Unixy automaticky. Manuál sa otvorí v prostredí editora ex. Jedinou výnimkou je, že text nemôžete modifikovať. Tu sa hodí spomenúť niektoré ďalšie príkazy editora ex. O „q“ sme už hovorili pri vi, ale pripomeniem, že ukončí manuál. Medzerník posunie text o jednu stránku (obrazovku) vpred a „b“ o stránku vzad. Príkaz „/“ vyhľadá najbližší ďalší výskyt reťazca zadaného bezprostredne za ním bez medzery medzi príkazom a reťazcom! Nájdený text sa zvýrazní inverziou farieb pozadia a popredia.

Manuál má viac funkcií, ktoré sa dozvieme po zadaní, ako inak, „man man“. Príkazy sa spustia po potvrdení klávesom <Enter>. Unixové príkazy sú v sekcii 1, systémové volania realizované funkciami jazyka C sú v sekcii 2, ostatné funkcie jazyka C v sekcii 3, funkcie knižnice ncurses sú v sekcii 3x, 3n alebo 3ncurses, atď. Ak vôbec netušíme meno potrebného príkazu, ale vieme oblasť môžeme si v niektorých sekciách pozrieť popis oblasti zadaním slova „intro“ namiesto príkazu. Ak nevieme ani oblasť ale len kľúčové slovo použime príkaz apropos alebo lookfor, kde parametrom je kľúčové slovo a výstupom je zoznam príkazov so sekciami, v ktorého manuále sa slovo nachádza.


Obr. 2: Manuál

Ďalším príkazom je passwd (čítaj password). Tento príkaz zmení heslo prihláseného používateľa. Ako ho používa užívateľ s prihlasovacím menom root (čítaj rút), tak môže zadať parameter, ktorým je prihlasovacie meno iného používateľa. V takom prípade sa bude meniť heslo toho užívateľa. Je to preto, lebo nikto v systéme nemôže vaše heslo zistiť. Root je anglicky koreň stromu, preto sa tak volá administrátor v Unixe. Ten môže zmeniť heslo akémukoľvek používateľovi. Pri zmene hesla iného užívateľa root-om nemusíte vedieť staré heslo toho používateľa, lebo sa Vás na neho passwd neopýta. Ak si teda meníte svoje heslo musíte vedieť aj to staré. Systém sa Vás opýta na staré heslo a potom dva krát na nové heslo, aby sa vylúčil preklep. Pozor Unix rozlišuje malé a veľké písmená! Tak isto pozor na numerickú klávesnicu. Štandardne je väčšinou vypnutý NUMLock. Preto namiesto čísel zadávate šípky. Šípky, ale niektoré grafické prihlasovacie manažéry využívajú a tak heslo so šípkami nie je niekedy možné zadať pri prihlasovaní do grafického terminálu.


Obr. 3: Passwd

V Unix-e je vyslovene nežiadúce, aby užívateľ pracoval so systémom ako root, pokiaľ nemusí. A nemusí takmer nikdy. Ak ste prihlásení ako bežný užívateľ môže sa zmeniť na root-a príkazom su (čítaj super user). Super user, slovensky superužívateľ je spisovné meno root-a. Príkaz su si vypýta heslo superužívateľa, ktoré je na Mac OS X zhodné s heslom prvého pridaného užívateľa. Heslo sa, ako žiadne heslo v Unix-och, nezobrazuje a ani sa nenaznačuje počet znakov v hesle. Zadanie mena a hesla sa potvrdzujú klávesou <Enter>, tak ako príkazy. Root môže zadať príkazu su parameter, ktorým je meno užívateľa na ktorého sa chce zmeniť. Root vtedy nezadáva heslo užívateľa. Meno používateľa môže príkazu su zadať aj bežný užívateľ. Vtedy sa ho systém opýta na heslo cieľového užívateľa.

Do predchádzajúceho užívateľa sa vrátime napísaním znaku koniec súboru. Ten zadáme stlačením dvojkombinácie kláves <Ctrl> a <d>. Tak sa zadával koniec vysielania na ďalekopisoch, kde sa kláves <Ctrl> zapisoval v texte ako znak „^“. To ostalo aj v Unixe. Teda zápis ^d znamená súčasné stlačenie kláves <Ctrl> a <d>. Niekedy sa dokonca ^d píše ako ^D. Ak zadáte znak koniec súboru pri užívateľovi, ktorý bol prihlásený ako prvý v tom terminále, tak sa odhlásite z terminálu. Potom musíte zadať opäť login a password, aby ste mohli zadávať príkazy. Znak koniec reťazca pridajú do terminálu aj príkazy exit a logout. Aj keď logout platí len pre najskôr prihláseného užívateľa, alebo odhlási naraz všetkých na danom terminále.

Ak chcete zadať jediný príkaz ako root, môžete použiť príkaz sudo (čítaj as super user do). Jeho parametrom je meno príkazu, ktorý chcete vykonať ako root a jeho parametre. Príkaz si vypýta heslo roota prihlási sa, vykoná príkaz a odhlási sa pomocou pridania znaku koniec súboru. Príkaz sudo sa dá využiť aj na vykonanie príkazu pod iným užívateľom, ak ako prvý parameter zadáme prepínač -u ako druhý parameter menu užívateľa a ako tretí parameter príkaz atď. Parametre od príkazu a parametre medzi sebou oddeľujme medzerou. Používanie príkazu sudo namiesto su je odporúčané a napr. Ubuntu má neznáme heslo roota, takže su je použiteľné len v kombinácii sudo su (čítaj as super user do change user to super user).


Obr. 4: Sudo

Správanie príkazu sudo sa dá meniť v súbore jeho konfigurácie. Dá sa dosiahnuť aj stav, aby sa systém nepýtal na heslo pri zmene konkrétneho užívateľa na iného konkrétneho užívateľa. Tak isto sa dá požadovať len heslo pôvodného užívateľa pri zmene na iného. Napr. Ubuntu má sudo po nainštalovaní nastavené tak, že sa nepýta na heslo roota, ale len vaše heslo. Je to nedostatok bezpečnosti, ale zlepšuje použiteľnosť.

V dnešnej časti sme sa oboznámili s elementárnymi príkazmi a spôsobom zadávania v operačných systémoch UNIX / GNU Linux. Na to aby sme mohli preberať aj ostatné príkazy, je nutné prebrať systém ukladania súborov. Tejto téme ako aj príkazom na správu súborov sa budeme venovať v budúcej časti.

Literatúra

  1. Hoferek „Elven“,S.: Náhodný text na zistenie rýchlosti ďatlovania [online], Praha, česká republika, Internet Info, s.r.o, 2009 [citované 30.1.2010], dostupné na URL:
    http://elven.blog.root.cz/2009/02/23/nahodny-text-na-zistenie-rychlosti-datlovania/

Napísať príspevok