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ť
Unix/Linux, časť 2
By Milan Herda
Unix/Linux, časť 2
- 614