UNIX - zakladne prikazy

(P.Sincak)



Ako sa prihlasim na stroj a ako ukoncim pracu?

Po vyzve Login: zadam svoje pouzivatelske meno a po naslednej vyzve Password: zadam svoje heslo. S prihlasenim / odhlasenim suvisia prikazy:
passwd zmenim svoje heslo
telnet <stroj> prihlasim sa na vzdialeny stroj
logout odhlasim sa zo stroja (ked som prihlaseny na vzdialenom stroji, pracu mozem ukoncit aj stlacenim Ctrl-] a naslednym zadanim prikazu close)
Viacere prikazy, uvedene v dalsom su prikazmi C-shell-u. Je to snad najrozsirenejsie prostredie, s ktorom pracujem. Standardne sa hlasi napovedou %.

Co je v suboroch .login a .cshrc?

Subor .login je subor (v mojom domovskom adresari), ktory je po prihlaseni sa na stroj automaticky spusteny. Mozem ho v pripade potreby doplnit o prikazy, ktore pozadujem vykonat pri kazdom mojom prihlaseni sa na stroj.

Subor .cshrc je subor (v mojom domovskom adresari), ktory je po prihlaseni sa na stroj (v pripade pouzivania C-shell-u) automaticky spusteny. V nom si mozem doplnit alias-y prikazov (pripadne upravit uz existujuce podla vlastneho uvazenia). Alias-mi si mozem vyrazne zrychlit pracu napr.:

       alias rm -i "r"
       alias finger "f"

Ako mozem ziskat informacie o stroji, o pouzivateloch a o prikazoch?

w zistim, co prave robia prihlaseni pouzivatelia
who zistim, kto je prihlaseny na stroji
quota -v<login> ziskam vypis kolko miesta zaberam na disku (na SUN-e; inde bez -v
finger ziskam informacie o pouzivateloch, ktori prave pracuju na aktualnom stroji
finger @<stroj> ziskam informacie o pouzivateloch, ktori prave pracuju na zadanom stroji (niektore stroje odmietnu tuto moju poziadavku)
finger <pouzivatel> ziskam podrobnejsie informacie o pouzivatelovi (ked na inom stroji, tak zadamcelu adresu pouzivatel@stroj)
last <pouzivatel> | more ziskam informaciu o tom kedy sa prihlasoval zadany pouzivatel na nasstroj (ovladanie strankovania - pozri prikaz more)
man <prikaz> ziskam opis pre zadany prikaz

Ako mozem manipulovat so subormi a katalogmi?

ls [-lat] ziskam vypis aktualneho katalogu v abecednom poradi
l- uplny vypis
a-aj skryte katalogy a subory
t-zoradenie v casovom poradi
ls -l | more ziskam uplny vypis aktualneho katalogu so strankovanim (ovladanie strankovania - pozri prikaz more)
grep <retazec> * dostanem vypis zoznamu suborov, ktore obsahuju zadany retazec
more <subor> dostanem vypis obsahu zvoleneho suboru na obrazovku (medzernik posuva o obrazovku vpred, klavesa b posuva o obrazovku vzad, Enter o riadok vpred a Ctrl-C, resp. q predcasne konci vypis)
rm <subor> vymazem subor (mozem pouzit aj hviezdickovu konvenciu)
rm -i <subor> vymaz suboru s vyziadanim potvrdenia (mozem pouzit aj hviezdickovu konvenciu)
mv <stary> <novy> zmenim meno suboru
mv <s1> ... <sn> <kat> presuniem niekolko suborov do katalogu
cp <original> <kopia> vytvorim kopiu povodneho suboru
cat <subor> ziskam vypis suboru na obrazovku
cat <sub> >> <vysl> pripojim subor <sub> na koniec suboru <v>
cat <s1> ... <sn> > <v> skopirujem niekolko suborov do vysledneho>
cat > <subor> vytvorim suboru z klavesnice (Ctrl-D na novom riadku konci subor)
cd <katalog> prepnem sa na novy katalog kat
pwd ziskam vypis mena aktualneho katalogu
mkdir <katalog> vytvorim novy katalog
rmdir <katalog> vymazem (prazdny) katalog
rm -r <katalog> vymazem katalog (aj s jeho obsahom, t.j. subormi aj podkatalogmi); pouzitim kluca -rf vymazem katalog aj ked obsahuje read only subory

Pri uplnom vypise katalogu dostanem pre kazdu polozku informaciu o pristupovych pravach v tvare:

   # ### ### ###
   - --- --- ---
   |  |   |   ---------- ostatni
   |  |   -------------- skupina
   |  ------------------ vlastnik
   --------------------- typ polozky:
d - katalog
- - obycajny subor
b - spec. blok. subor
c - spec. znak. subor
e - symbolicka linka

Ked vlastnik (resp. skupina, ci ostatni) ma plne pravo manipulovat so suborom,tak sa v trojici ### objavi oznacenie rwx (t.j. ze ho moze citat, prepisovat spustat).Ked sa na niektorej pozicii objavi pomlcka, prislusna cinnost je zakazana .

Mam moznost zmenit pristupove prava prikazom
chmod <kod> <subor>
kde kod je osmickove trojcislie, v ktorom prva cifra sa tyka vlastnika, druha skupiny a tretia ostatnych a kde vyznam cifier je nasledovny:
0 ---    1 --x    2 -w-    3 -wx    4 r-->    5 r-x    6 rw-    7 rwx
Prikaz chmod mozem pouzit aj v nasledovnej forme:
chmod <komu>+<prava> <subor>
pre nastavenie pristupoveho prava, pripadne:
chmod <komu>-<prava> <subor>
pre jeho zrusenie. Argument <komu> moze byt u-user / g-group / o-others a argument <prava> moze byt r / w / x. Ked chcem zmenit pristupove prava vsetkym suborom v adresari, aj v podadresaroch, pouzijem rekurzivny rezim prikazu chmod:
chmod -R <komu>+<prava> <katalog>

Ako mozem zrusit beziace procesy?

Po nekorektnom ukonceni prace na stroji ostanu po mne beziace procesy. Je vhodne, ked ich po novom prihlaseni zrusim:
ps -x ziskam vypis mojich aktualnych procesov
ps -aux | grep ziskam vypis aktualnych procesov zadaneho pouzivatela
kill -9 zrusim proces so zadanym cislom/

Ako mozem komunikovat s inym pouzivatelom?

talk poslem vyzvu na pocitacovy rozhovor pouzivatelovi (ked dostanem vyzvu ja, odpovedam rovnako); rozhovor koncim pomocou Ctrl-C); ked je pouzivatel na inom stroji, musim zadat jeho kompletnu adresu (<meno@stroj> )
ntalk <pouzivatel> v zasade zhodne s talk, pouziva sa pre komunikaciu s pouzivatelom na inom stroji (odpovedat musim tym z dvojice prikazov, ktorym ma volaju)
write <pouzivatel> poslem spravu zadanemu pouzivatelovi, text spravy pisem hned za prikazom a ukoncim Ctrl-D
echo "<txt>" | write <pouzivatel> poslem spravu (text v uvodzovkach) pouzivatelovi;davam tomuto prikazu prednost oproti predoslemu, lebo adresat dostane celu spravu naraz

Ako mozem zbalit a skomprimovat subory?

Ako mozem zbalit / rozbalit skupinu suborov?

Na zbalenie / rozbalenie skupiny suborov pouzijem prikaz tar. Najcastejsie pouzivam tieto tvary:
tar vcf <subor> <kat> zbalim vsetky subory katalogu do jedineho suboru (dostane priponu .tar); namiesto katalogu mozem uviest viacere subory (oddelene medzerou), ktore chcem zbalit
tar xvf <subor> rozbalim subor
tar tvf <subor> prezriem si zbaleny subor
kde vyznam volieb je nasledovny:
c vytvorenie tar_suboru (create)
v vypisovanie cinnosti (visual)
f povinny parameter pred tar_suborom (file)
x rozbalenie tar_suboru (extract)
t testovanie integrity tar_suboru (test)
Musim si uvedomit, ze prikaz tar nerobi kompresiu dat, teda velkost 'ztarovaneho' suboru je sumeritelna so sumou velkosti archivovanych suborov.

Ako mozem skomprimovat subor?

Na tento ucel mozem pouzit prikaz:
compress <subor>
Po jeho vykonani mi vznikne subor zhodneho mena s priponou .Z ale sucasne sa mi zmaze povodny subor. Tymto prikazom ale nemozem sucasne s kompresiou aj spajat subory. Obvykle preto pouzijem najprv program tar na zbalenie skupiny programov a az vysledny produkt komprimujem pomocou compress. Povodny subor ziskam spat prikazom:
uncompress <subor.Z>
Obdobnym prikazom je gzip:
gzip <subor>
Po jeho vykonani mi vznikne subor zhodneho mena s priponou .gz ale sucasne sa mi zmaze povodny subor. Tymto prikazom ale nemozem sucasne s kompresiou aj spajat subory. Obvykle preto pouzijem najprv program tar na zbalenie skupiny programov a az vysledny produkt komprimujem pomocou compress. Povodny subor ziskam spat prikazom:
gunzip <subor.gz>

Ako prenesiem adresar z Unixu na MS DOS?

V prostredi UNIX-u existuje program zip, ktory je ekvivalentom pkzip v MSDOS. Teda ak chcem zbalit a preniest subor z UNIX-u do MS DOS-u, potom zadam v UNIX-e prikaz:
zip <zip subor> <subor>
Ziskam tak zip subor (1.argument) s priponou .zip skomprimovanim povodneho suboru (2.argument). Mozem pouzit aj rekurzivne volanie (zbalim a skomprimujem vsetky subory zo zadaneho katalogu a aj obsahy podkatalogov):
zip -r <zip subor> <katalog>
V oboch pripadoch mozem potom zip subor po prenose na svoje PC (pomocou FTP v binarnom mode) rozbalit v MS DOS-e prikazom:
unzip <subor.zip>
Dalsie volby zistim spustenim programov zip a unzip bez argumentov.

Ako prenesiem katalog z MS DOS na UNIX?

Po binarnom FTP prenose z MS DOS na UNIX je vhodne otestovat integritu zip suboru. Urobim to prikazom:
unzip -t <subor.zip>
Program mi vypise zoznam suborov, ktore su zbalene v tomto subore. Ak nie je oznamena ziadna chyba, tak mozem prikrocit k rozbaleniu:
unzip <subor.zip>
Dalsie volby zistim spustenim programov zip a unzip bez argumentov.

Existuju este nejake podobne procedury ?

Dalsim programom na zbalenie a kompresiu suborov je lharc:
lharc a <lhz subor> <katalog>
Vysledkom je subor s priponou .lhz. Tento subor mozem zase rozbalit prikazom:
lharc x <subor.lhz>
Dalsie volby zistim spustenim programu lharc bez argumentov.