Unix/Linux

Časť 2

O čom budeme hovoriť

  • opakovanie
  • história (1984 - 1991)
  • základné príkazy, časť 2
  • zopár tipov a trikov pre terminál
  • hierarchický filesystém

Opakovanie

  • 1970, Bell Labs (AT&T)
  • C, teória jazykov a programovania
  • unixová filozofia
    • malé, jednoúčelové a ľahko kombinovateľné programy (=> jednoduchá nahraditeľnosť)
    • všetko je súbor
    • text
  • licencovaný každému, kto si o to požiadal

Príkazy

man manuál k príkazom (nielen)
ls vylistovanie obsahu adresáru
cd zmena aktuálneho adresáru
pwd zobrazí cestu k aktuálnemu adresáru
touch vytvorí súbor/zmení čas prístupu
mkdir vytvorí adresár
rmdir zmaže prázdny adresár
rm zmaže súbory a adresáre
cp kopíruje súbory a adresáre

1984

  • Od AT&T sa odčleňuje Bell Labs
  • Bell Labs začalo predávat Unix ako proprietárny softvér

Mixér vs. software

GNU

GNU is Not Unix

1984: Richard M. Stallman (RMS)

Cieľom bolo vytvoriť slobodný operačný systém.

Používateľ SW má mať slobodu:

  • používať softvér
  • študovať a upravovať zdrojový kód
  • šíriť kópie pôvodného programu
  • šíriť kópie upraveného programu

GNU

Projekt začal od nuly tvoriť vlastné

open-source alternatívy k bežným unixovým

programom

V roku 1991 mali väčšinu utilít, ale nebol k dispozícii kernel

Minix, 386BSD

a aj jadro systému (Hurd)

25. august 1991

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready.

...

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want.

comp.os.minix

Linus Torvalds

Linux

Linux

GNU/Linux

/

Linux vs. GNU/Linux

Základné príkazy (časť 2)

cat vypíše celý obsah súboru
head vypíše prvých 10 riadkov súboru
tail vypíše posledných 10 riadkov
more "stránkuje" výpis
less "more" na steroidoch
ln vytváranie liniek a symbolických liniek

Príkaz cat

Názov cat je skratka od "concatenate"

Ak dostane zoznam súborov, tak všetky "spojí" do jedného výstupu.

Vypíše obsah súboru/súborov

Príkaz head

-n --lines počet riadkov
-c --bytes počet bajtov
-v --verbose vypíše aj názov súboru

Zaujímavé parametre:

Prvých 10 riadkov súboru/súborov

Príkaz tail

-n --lines počet riadkov
-c --bytes počet bajtov
-v --verbose vypíše aj názov súboru
-f --follow čaká, či do súboru pribúdajú dáta a priebežne ich vypisuje

Posledných 10 riadkov súboru/súborov

Zaujímavé parametre:

Užitočné na realtime sledovanie logov

Príkaz more

<Enter> posun o 1 riadok
<Space> posun o stránku (výška terminálu)

Stránkuje výpis

Ovládanie

Príkaz less

šípky, PgUp, PgDown pohyb po súbore
<Enter> posun o 1 riadok
<Space> posun o stránku (výška terminálu)
/ alebo ? vyhľadávanie (dopredu, dozadu)
q koniec
h nápoveda

Stránkuje výpis, dovoľuje pohyb aj hore

Ovládanie

Prečíta zo súboru iba práce zobrazované riadky (veľmi dobrý pre čítanie obrovských súborov)

Príkaz ln

Vytvára linky a symbolické linky

Linka je "odkaz" na súbor. Sú dva druhy.

Hard linky

Symlinky

  • súbor je na FS iba raz
  • hard linka je len iný názov súboru
  • hard linky sú navzájom rovnocenné
  • súbor zmizne zmazaním poslednej linky
  • iba v rámci partície
  • súbor je na FS iba raz
  • symlinka je odkaz na umiestnenie súboru
  • zmazaním linky sa súbor nemaže
  • zmazaním súboru sú linky neplatné
  • naprieč partíciami

Keď otvoríme linku, je to ako keby sme otvorili skutočný súbor.

Príkaz ln

# vytvorenie hard linky

ln zrojovy-subor cielovy-subor

# vytvorenie symlinky

ln -s zdrojovy-subor cielovy-subor

Tipy & triky

(nielen) pre terminál

  • šípka hore doplňujepredchádzajúce príkazy
  • tabelátor dopĺňa názvy súborov (príkaz je program a program je tiež súbor)
  • skopírovanie textu obyčajným označením a prilepenie stredným tlačidlom myši (iba na Linuxe, resp. X)

Na čo si dávať pozor

  • case-sensitive file systém (malé a veľké písmená sú rozdiel)
  • adresáre sa oddeľujú obyčajným lomítkom (/), nie spätným (\)

ak prichádzate z Windows

Hierarchický file systém

  • stromová štruktúra
  • jeden koreň
  • diskové partície sú namapované na adresáre
  • pripojiteľné média sú namapované na adresáre
  • koreňový adresár je označený ako / (hovorí sa mu root adresár*)

* nemýliť s adresárom /root

Keď si na Windows-e nainštalujete nový program, kde ho nájdete?

C:\Program Files (x86)\Nový Program

Keď si nový program nainštalujete na Linuxe, kde ho nájdete?

Základné adresáre

/bin základné binárne súbory (ls, cp, mkdir...)
/boot súbory potrebné pre nabootovanie
/dev namapované hw a pseudo zariadenia
/etc globálne platné konfiguračné súbory
/home domovské adresáre používateľov (právo na zápis)
/lib základné zdieľané knižnice
/mnt dočasne pripojené filesystémy
/media pripojené médiá (usb disky, dvd...)
/root domovský adresár pre root používateľa
/run info o systéme a procesoch od posledného bootu
/proc informácie o bežiacich procesoch, hw a kerneli

Základné adresáre

/srv súbory zdieľané servermi (web, ftp, git...)
/tmp dočasné súbory
/usr read-only "používateľské" dáta (protiklad k systémovým)
    /usr/bin binárky
    /usr/etc konfiguráky
    /usr/lib knižnice
    /usr/share zdieľané dáta
    /usr/src zdrojové súbory
    /usr/include hlavičkové súbory (napr. *.h)
    /usr/local ďalšia hierarchická úroveň len pre lokálny stroj
/var "premenlivé" súbory, cache, logy, fronty...

Keď si nový program nainštalujete na Linuxe, kde ho nájdete?

Závisí od spôsobu inštalácie a typu programu

  • /usr/local
  • /usr/
  • /

Jednotlivé časti budú rozdelené podľa typov súborov

  • binárne súbory - bin
  • konfigurácia - etc
  • knižnice - lib
  • zdieľané dáta - share
  • logy, cache... - var

Ďakujem za pozornosť