Základy Linuxu. Základy Linuxu – Příkazový řádek a souborový systém Známé verze UNIXu

V roce 1965 začaly Bell Telephone Laboratories (divize AT&T) spolu s penal operátorem a Massachusetts Institute of Technology (rIT) vyvíjet nový operační systém nazvaný rULTIqS (rULTipleoed Information and Computing Service). Cílem účastníků projektu bylo vytvořit multitaskingový time-sharingový operační systém schopný podporovat práci několika stovek uživatelů. Z Bell Labs se projektu zúčastnili dva účastníci: Ken Thompson a Dennis Ritchie. Přestože systém rULTIqS nebyl nikdy dokončen (Bell Labs se z projektu stáhla v roce 1969), stal se předchůdcem operačního systému, který se později stal známým jako Unio.

Thompson, Ritchie a řada dalších zaměstnanců však pokračovali v práci na vytvoření pohodlného programovacího systému. S využitím nápadů a vývoje, které vyplynuly z práce na rULTIqS, vytvořili v roce 1969 malý operační systém, který zahrnoval souborový systém, subsystém správy procesů a malou sadu utilit. Systém byl napsán v assembleru a používán na počítači nDn-7. Tento operační systém byl pojmenován UNIX, název podobný rULTIqS a vytvořený dalším členem vývojového týmu, Brianem Kerniganem.

Přestože raná verze UNIXu slibovala mnohé, bez aplikace na nějaký skutečný projekt by svůj plný potenciál nerealizovala. A takový projekt se našel. Když patentové oddělení Bell Labs v roce 1971 potřebovalo systém pro zpracování textu, byl jako operační systém vybrán UNIX. Do té doby se přešlo na výkonnější nDn-11 a trochu se rozrostlo, 16K zabíral samotný systém, 8K bylo přiděleno aplikačním programům, maximální velikost Soubor byl nastaven na 64 kB s 512 kB místa na disku.

Krátce poté, co byly vytvořeny první verze sestavení, Thomson začal pracovat na kompilátoru pro jazyk FxuTuAN a jako výsledek vyvinul jazyk B. Byl to interpret se všemi omezeními interpretru a Ritchie jej vyvinul do dalšího jazyka, tzv. q, který umožnil generování strojového kódu. V roce 1973 bylo jádro operačního systému přepsáno do jazyka C na vysoké úrovni, což byl dříve neslýchaný krok, který měl obrovský dopad na popularitu UNIXu. To znamenalo, že systém UNIX mohl být nyní portován na jiné hardwarové platformy během několika měsíců a provádění změn nebylo nijak zvlášť obtížné. Počet běžících systémů UNIX v Bell Labs přesáhl 25 a byla vytvořena skupina UNIX Sgstem Proup (USp), která má UNIX udržovat.

Výzkumné verze (AT&T Bell Labs)

V souladu s federálním zákonem USA neměla společnost AT&T právo komerčně distribuovat UNIX a používala jej pro vlastní potřeby, ale počínaje rokem 1974 se operační systém začal přenášet na univerzity pro vzdělávací účely.

operační systém každý z nich byl modernizován novou verzi byla dodána s odpovídající edicí Programmer's Guide, od které samotné verze dostaly název edice (jdition). Od roku 1971 do roku 1989 bylo vydáno celkem 10 vydání. Nejdůležitější edice jsou uvedeny níže.

Revize 1 (1971)

První verze UNIXu napsaná v assembleru pro nDn-11. Zahrnuje jazyk B a mnoho známých příkazů a nástrojů, včetně cat, chdir, chmod, cp, ed, find, mail, mkdir, mkfs, mount, mv, rm, rmdir, wc, who. Používá se především jako nástroj pro zpracování textu pro patentové oddělení Bell Labs.

Revize 3 (1973)

V systému se objevil příkaz ss, který spustil kompilátor jazyka C. Číslo instalované systémy dosáhl 16.

Revize 4 (1973)

První systém, ve kterém je jádro napsáno v jazyce C na vysoké úrovni.

Revize 6 (1975)

První verze UNIXu dostupná mimo Bell Labs. Systém byl kompletně přepsán v C. Od té doby se začaly objevovat nové verze, které nebyly vyvinuty v Bell Labs a popularita UNIXu začala růst. Tato verze systému byla instalována na University of California v Berkeley a na jejím základě byla brzy vydána první verze BSD (Berheleg Softkare Distributuion) UNIX.

Revize 7 (1979)

Zahrnuje interpret příkazů Bourne Shell a kompilátor C od Kernighan a Ritchie. Jádro systému bylo přepsáno pro přenositelnost na jiné platformy. Licenci na tuto verzi zakoupila společnost ricrosoft, která na jejím základě vyvinula operační systém XjNIX.

UNIX rostl na popularitě a v roce 1977 počet operačních systémů přesáhl 500. Tentýž rok byl systém poprvé portován na počítač bez nDn.

UNIX genealogie

Neexistuje žádný standardní systém UNIX, všechny systémy podobné UNIXu mají vlastnosti a schopnosti, které jsou pro ně jedinečné. Ale za různými názvy a funkcemi je stále snadné si všimnout architektury, uživatelského rozhraní a programovacího prostředí UNIXu. Vysvětlení je celkem jednoduché: všechny tyto operační systémy jsou blízcí nebo vzdálení příbuzní. Nejvýznamnější zástupci této rodiny jsou popsáni níže.

Systém III (1982)

Nechtěl ztratit iniciativu vyvíjet UNIX, AT&T v roce 1982 sloučil několik existujících verzí operačního systému a vytvořil verzi nazvanou Sgstem III.

Tato verze byla určena pro distribuci mimo Bell Labs a AT&T a znamenala začátek výkonné větve UNIXu, která je dodnes živá a rozvíjející se.

System V (1983)

V roce 1983 byl vydán System V a později několik dalších vydání:

  • SVR2 (1984): InterProcess Communication (IPC) sdílená paměť, semafory
  • SVR3 (1987): I/O Streams System, Souborový systém Switch, sdílené knihovny
  • SVR4 (1989): NFS, FFS, BSD zásuvky. SVR4 kombinuje schopnosti několika známých verzí UNIX - SunOS, BSD UNIX a předchozí verze System V.

Mnoho komponent tohoto systému bylo podporováno standardy ANSI, POSIX, X/Open a SVID.

UNIX BSD (1978) (založeno na UNIX 6. vydání)

  • 1981, na příkaz DAunA, byl zásobník Tqn/In zabudován do BSD UNIX (v 4.2BSD)
  • 1983 aktivně využíval síťové technologie a mohl se připojit k síti ARPANET
  • 1986 vydána verze 4.3BSD
  • 1993 Vydání 4.4BSD a BSD Lite (poslední vydané verze).

OSF/1 (1988) (Open Software Foundation)

V roce 1988 se IBM, DEC a HP spojily, aby vytvořily verzi UNIX nezávislou na AT&T a SUN a vytvořily organizaci s názvem OSF. Výsledkem činnosti této organizace byl operační systém OSF/1.

Normy

Čím více různých variant UNIXu se objevovalo, tím zjevnější byla potřeba systém standardizovat. Díky standardům se aplikace snadněji přenášejí a chrání jak uživatele, tak výrobce. V důsledku toho vzniklo několik organizací souvisejících se standardy a byla vyvinuta řada standardů, které ovlivnily vývoj UNIXu.

Rozhraní přenosného operačního systému IEEE POSIX (Institute of Electrical and Electronics Engineers)

  • 1003.1 (1988) API (Application Programming Interface) standardizace OC
  • 1003.2 (1992) definice shellu a utilit
  • 1003.1b (1993) API aplikací v reálném čase
  • 1003.1c (1995) definice „vlákna“

ANSI (Americký národní normalizační institut)

X/Otevřít

  • 1992 standard Xwindow
  • 1996 vytvoření, společně s OSF, uživatelského rozhraní CDE (Common Desktop Environment) a jeho rozhraní s grafickým shellem Motiff

SVID (System V Interface Definition)

Popisuje externí rozhraní unixových verzí System V. Kromě SVID byl vydán SVVS (System V Verification Suite) - sada textových programů, která umožňuje určit, zda systém vyhovuje standardu SVID a zda je hoden nesoucí hrdé jméno System V.

Známé verze systému UNIX

  • IBM AIX založený na SVR2 s mnoha funkcemi SVR4, BSD, OSF/1
  • HP-UX verze HP
  • IRIX verze Silicon Graphics, podobná SVR4
  • Digitální UNIXová verze DEC založená na OSF/1
  • SCO UNIX (1988) jeden z prvních UNIXových systémů pro PC vyvinutý na základě SVR3.2
  • Solaris verze UNIX SVR4 od Sun Microsystems

Operační systém UNIX

Oficiální datum narození operačního systému UNIX považováno 1. ledna 1970. Od tohoto okamžiku počítá jakýkoli systém UNIX svůj systémový čas. To je pro operační systém velmi dlouhá doba. Dnes, navzdory vzniku mnoha dalších operačních systémů postavených na jiných principech, zaujímá UNIX své místo mezi lídry.

Mezi hlavní charakteristiky UNIXu, které nám umožňují pochopit důvody dlouhé životnosti tohoto systému, patří následující.

Systémový kód je napsán v jazyce SI na vysoké úrovni, což usnadňuje pochopení, změnu a přenos na jiné hardwarové platformy.

Navzdory rozmanitosti verzí UNIX je celá rodina založena na zásadně identické architektuře a řadě standardních rozhraní.

UNIX má jednoduchou, ale výkonnou sadu standardních uživatelských rozhraní.

UNIX Unified File System Interface poskytuje přístup nejen k datům uloženým na discích, ale také k terminálům, tiskárnám, magnetickým páskám, CD, sítím a dokonce i paměti.

Pro systém UNIX bylo vyvinuto velké množství různých aplikací – od těch nejjednodušších textové editory na výkonné systémy pro správu databází.

V obecný pohled Operační systém UNIX může být reprezentován dvouvrstvým modelem, jak je znázorněno na Obr. 8.1
.

V centru je systémové jádro. Jádro přímo interaguje s hardwarem počítače a izoluje aplikační programy od funkcí své architektury. Jádro obsahuje programy, které implementují sadu služeb poskytovaných aplikačním programům. Služby jádra zahrnují I/O operace, vytváření a správu procesů, synchronizaci procesů atd. Další úrovní modelu jsou systémové služby, které poskytují uživatelské rozhraní OS UNIX. Schéma interakce s jádrem aplikací i systémových úloh je stejné.

Funkce operačního systému UNIX

Operační systém UNIX spolupracuje s hardwarovými a softwarovými prostředky počítače následující funkce:

    správa zařízení;

    řízení zdrojů;

    monitorování systému;

Správa zařízení

Aplikační programy nemají možnost přímo ovládat počítačový hardware. Pouze operační systém provádí funkce správy hardwaru a umožňuje přístup aplikacím a dalším programům příslušenství(odpadá tak nutnost znát specifika správy takového zařízení). Koncept programové nezávislosti na konkrétní hardwarové implementaci, zabudované v OS, je jedním z důležitých prvků zajištění přenositelnosti operačního systému UNIX, což umožňuje jeho široké využití v nejrůznějších hardwarových konfiguracích.

Řízení zdrojů

UNIX OS spravuje distribuci počítačových zdrojů mezi mnoho uživatelů, kteří provádějí mnoho úkolů současně, často pracují s různými objekty, podporují multitasking a provozní režimy pro více uživatelů. Multitasking umožňuje jednomu uživateli spouštět více programů současně, zatímco CPU a RAM jsou sdíleny mezi více procesy.

Víceuživatelský režim umožňuje více uživatelům pracovat současně sdílením počítačových zdrojů, včetně drahých periferních zařízení, jako jsou tiskárny nebo plotry. Tento způsob provozu se ukazuje jako nákladově efektivnější než kombinace několika strojů s jedním uživatelem na každém.

Podpora uživatelského rozhraní

Jedná se o způsob poskytování interaktivní (poskytování dialogu) interakce mezi uživateli a počítačovým systémem.

Moderní verze operačního systému UNIX podporují několik typy rozhraní: příkazový řádek, menu a grafické uživatelské rozhraní.

Příkazový řádek obvykle pohodlné pro uživatele obeznámené s funkcemi a týmy systémy. Při práci s tímto typem rozhraní uživatel na výzvu (výchozí nastavení pro uživatele je znak dolaru) zadává každý příkaz z klávesnice. Toto rozhraní neposkytuje přehled o systému, ale umožňuje provádět jakýkoli příkaz v systému. Programy, které poskytují takové rozhraní, se nazývají příkazové shelly(skořápka). Existuje mnoho příkazových shellů: Bourne shell (sh), Bourne Again Shell (bash), Korn shell (ksh), C shell (csh), Debian Almquist shell (dash), Zsh atd. Nejběžnější je bash.

Obvykle jej používají začátečníci nebo uživatelé, kteří potřebují provést nějaké instalace v operačním systému. Takové rozhraní často funguje jako průvodce: umožňuje uživateli vybrat funkci ze seznamu (nabídky), kterou bude systém provádět. Nabídky jsou obvykle organizovány jako vrstvený text, který uživateli nabízí více možností. Příkladem takového rozhraní je program sysadm, který pomáhá správci systému provádět práci na konfiguraci a konfiguraci systému.

Grafické uživatelské prostředí zaměřené na začátečníky i pokročilé uživatele. Poskytuje několik způsobů interakce s počítačem: přehled objektů systému znázorněných ikonami, provádění příkazů výběrem grafického obrázku (ikony) na obrazovce pomocí „myši“ nebo sledovacího zařízení. UNIX OS poskytuje X.desktop jako grafické uživatelské rozhraní pro práci se speciálními X terminály nebo systém X Window pro práci s běžnými grafickými terminály.

Bezpečnostní vzdálený přístup PROTI počítačová síť

OS UNIX poskytuje uživatelům přístup ke zdrojům jiných běžících počítačů počítačová síť. Operační systém obsahuje sadu síťových aplikací, které umožňují navázat spojení se vzdáleným počítačem, zaregistrovat se ve vzdáleném systému, přenášet data mezi počítači v síti a používat e-mail. UNIX podporuje práci v síti souborový systém NFS (Síťový soubor System), který umožňuje používat příkazy operačního systému pro přístup k systému souborů vzdáleného počítače.

Komponenty operačního systému UNIX

Jak bylo uvedeno výše, operační systém je sada programů, která poskytuje funkce pro správu procesů v systému a implementuje rozhraní mezi uživateli a systémovým hardwarem. Systém UNIX obsahuje tři hlavní složky: příkazový systém, shell a jádro.

Operační systém UNIX obsahuje několik stovek příkazů, které provádějí úkoly organizace a zpracování dat a správy uživatelského prostředí. Samotné příkazy jsou programy, které provádějí specifické funkce, obvykle vyžadující minimální vstup a jsou prováděny relativně rychle. Většina z nich je dostupná všem uživatelům, ale existují příkazy, které má k dispozici pouze správce systému, který je privilegovaným uživatelem. Někdy se nazývají některé příkazy, které umožňují interaktivní zadávání informací při provádění utility. Příklady nástrojů zahrnují textový editor vi a příkaz mail pro správu e-mailu.

Mušle. Shelly se běžně označují jako interaktivní programy, které poskytují uživatelské rozhraní jádru operačního systému. Shell se stává aktivním procesem uživatele od chvíle, kdy se přihlásí do systému, až do jeho odhlášení. Tyto programy jsou interprety příkazů (někdy nazývané příkazové procesory).

Jak je uvedeno výše, operační systém UNIX obvykle používá několik shellů.

Omezené shelly (rsh a ksh jsou podmnožiny Bourne shellu a Korn shellu) jsou navrženy pro uživatele, kteří potřebují omezit přístup do systému.

Jádro. Systémové jádro je jádrem operačního systému, které zajišťuje základní funkce: vytváření a správu procesů, přidělování paměti a poskytování přístupu k souborům a periferním zařízením.

Interakce aplikačních úloh s jádrem probíhá prostřednictvím standardního rozhraní systémového volání. Rozhraní systémového volání definuje formát požadavků pro základní služby. Proces požaduje základní funkci jádra prostřednictvím systémového volání konkrétní procedury jádra. Jádro požadavek provede a vrátí procesu požadovaná data.

Jádro se skládá z tři hlavní subsystémy:

    1) subsystém správy procesů a paměti;

    2) subsystém souborů;

    3) vstupní/výstupní subsystém.

Vystupuje následující funkce:

    vytváření a mazání procesů;

    rozdělení systémových zdrojů mezi procesy;

    synchronizace procesů;

    interakce procesů.

Speciální funkce jádra prováděná plánovačem procesů (plánovačem) řeší konflikty mezi procesy soutěžícími o systémové prostředky.

Poskytuje alokaci paměti mezi procesy. Pokud není dostatek paměti pro všechny procesy, jádro přesune části procesu nebo několik procesů (obvykle pasivní, čekající na nějaké události v systému) do speciální oblasti disku ("swap" oblast ), čímž se uvolní prostředky pro běžící (aktivní) procesy.

Souborový subsystém poskytuje jednotné rozhraní pro přístup k datům umístěným na diskových jednotkách a periferních zařízeních. Provádí operace umísťování a mazání souborů, provádí operace zápisu/čtení dat souboru a také řídí přístupová práva k souborům.

Provádí požadavky ze souborového subsystému a subsystému řízení procesů pro přístup k periferním zařízením. Spolupracuje s ovladači zařízení - speciální programy jádra obsluhující externí zařízení.

Přístup k systému UNIX

Chcete-li navázat kontakt se systémem UNIX, musíte musí mít:

    terminál;

Získání registračního jména

Registrační jméno je jméno, které systém UNIX používá ke kontrole, zda jste oprávněným uživatelem systému, když k němu požadujete přístup.

Při každém přihlášení musíte zadat své přihlašovací jméno.

Existuje několik pravidel pro výběr registračního jména. Délka názvu je obvykle mezi 3 a 8 znaky. Může obsahovat velká nebo malá písmena, čísla a podtržítka, ale nemůže začínat číslem.

Vaše registrační jméno však může být specifické pro vaši aplikaci. Příklady platných jmen:

Komunikace se systémem UNIX

Pokud je na osobním počítači nainstalován UNIX, můžete se k němu přihlásit přímo pomocí textové virtuální konzoly. Jsou ale možné i jiné možnosti přístupu.

Předpokládejme, že terminál je připojen přímo nebo přes telefonní linku k počítači. Přestože tato část popisuje typický postup přihlášení, tyto pokyny se nemusí vztahovat na váš systém, protože... Existuje několik způsobů, jak se přihlásit do systému UNIX prostřednictvím telefonní linky.

Chcete-li komunikovat se systémem, musíte zapnout terminál.

Pokud je přímo připojen k počítači, v levém horním rohu se okamžitě zobrazí výzva:

Pokud je jako terminál použit osobní počítač konfigurovaný pro provoz v síti pomocí rodiny protokolů TCP/IP, je nutné navázat spojení s počítačem, na kterém je nainstalován OS UNIX. To lze provést několika způsoby, například pomocí síťové aplikace telnet v operačních systémech Windows nebo pomocí nástrojů pro přístup k internetu. Upozorňujeme, že se jedná o nezabezpečený protokol, který se dnes již prakticky nepoužívá. Moderní alternativou je Secure Shell (SSH).

Příklad.

Jako terminál se používá osobní počítač s OS Windows NT konfigurovaným pro síťový provoz. Musíte se zaregistrovat v systému UNIX.

Požadované vstupy a akce:

    pro navázání spojení s OS UNIX potřebujete znát síťový název vzdáleného počítače nebo jeho IP adresu (například 192.168.2.19);

    vyhledejte aplikaci telnet na svém osobním počítači a spusťte ji;

    v okně aplikace, které se otevře, vyberte položku nabídky Připojení;

    zadejte IP adresu vzdáleného systému UNIX (například 192.168.2.19);

    nastavte charakteristiky terminálu podle potřeby.

Postup registrace

Po zobrazení výzvy login: zadejte své přihlašovací jméno a stiskněte . Pokud je například vaše přihlašovací jméno all30123 , bude přihlašovací řetězec vypadat takto:

    přihlášení: vše30123

Pokud uděláte chybu při zadávání přihlašovacího jména, můžete ji opravit pomocí symbolu @ nebo klávesy .

Pamatujte, že velká a malá písmena zadávaných znaků jsou důležitá. Jména all30123 a ALL30123 patří dvěma různým uživatelům.

Systém vás nyní vyzve k zadání hesla. Zadejte své heslo a stiskněte klávesu . Pokud při zadávání uděláte chybu, můžete ji opravit pomocí klávesy nebo symbol @. UNIX z bezpečnostních důvodů nezobrazuje vaše heslo na obrazovce.

Pokud jsou přihlašovací jméno a heslo platné v systému UNIX, systém může zobrazit aktuální informace a poté příkazový řádek.

Když se přihlásíte, obrazovka vašeho terminálu bude vypadat takto:

    přihlášení: vše30123

Pokud při přihlašování uděláte chybu, UNIX zobrazí zprávu:

    nesprávné přihlášení

Poté vám dá druhou šanci přihlásit se pomocí výzvy login:. Obrazovka bude vypadat takto:

    přihlášení: vše30123

Pokud jste se nikdy nepřihlásili do systému UNIX, váš postup přihlášení se může lišit od postupu popsaného výše. K tomu může dojít, pokud má správce systému postup pro přidělování dočasných hesel novým uživatelům. Pokud máte dočasné heslo, systém vás vynutí zvolit si nové heslo, než vám umožní registraci.

Tím, že vás systém nutí zvolit si nové heslo pouze pro vaše použití, poskytuje vyšší bezpečnost.

Postup přihlášení:

    Navážete kontakt; Systémy UNIX zobrazí výzvu login:. Zadejte své přihlašovací jméno a stiskněte klávesu .

    Systémy UNIX zobrazí výzvu k zadání hesla:. Zadejte své dočasné heslo a stiskněte klávesu .

    Systém vás bude informovat, že vaše dočasné heslo již není platné, a vyzve vás k výběru nového hesla.

    Systém vás vyzve k zadání vašeho staré heslo. Zadejte dočasné heslo.

    Systém vás vyzve k zadání nového hesla. Zadejte vámi zvolené heslo.

Heslo se musí shodovat následující požadavky:

    Každé heslo musí obsahovat alespoň, 6 znaků;

    Každé heslo musí obsahovat alespoň 2 abecední znaky a jednu číslici nebo speciální znak. Abecední znak lze psát velkými nebo malými písmeny;

    Každé heslo se musí lišit od vašeho přihlašovacího jména. Velká písmena a jim odpovídající malá písmena jsou ekvivalentní;

    Nové heslo se musí od starého lišit minimálně o tři znaky.

Příklady platných hesel:

Pro kontrolu vás systém požádá o opětovné zadání hesla. Zadejte znovu své heslo.

Pokud zadáte nové heslo podruhé jinak než poprvé, systém vás bude informovat, že se hesla neshodují, a vyzve vás k opětovnému zopakování postupu registrace. Když se hesla shodují, systém zobrazí nápovědu.

Následující obrazovka zobrazuje popsaný postup:

    přihlášení: dko30123

    Heslo:

    Platnost vašeho hesla vypršela

    Vyberte si nový

    Staré heslo:

    Nové heslo:

    Znovu zadejte nové heslo:

Identifikace uživatele

Když správce systému zaregistruje uživatele v systému, jsou k přihlašovacímu jménu přidruženy dvě komponenty identifikace: uživatelské ID(ID uživatele - UID) a id skupiny do které patří (ID skupiny - GID).

Uživatelské jméno je spojeno s jedinečným číslem. Systém jej používá jako nástroj v různých mechanismech zabezpečení UNIX, jako je ochrana souborů nebo provádění privilegovaných příkazů.

Každý operační systém UNIX má jednoho speciálního superuživatele s UID = 0, který je obvykle spojen se jménem root. To znamená, že uživatel má všechna systémová oprávnění.

Název skupiny je také spojen s číslem, které obvykle odkazuje na skupinu uživatelů spojenou společnými úkoly, například zaměstnance oddělení, studenty stejného proudu atd. Toto číslo využívají i bezpečnostní mechanismy v systému. Pokud uživatel musí pracovat s daty z jiných skupin, je tento identifikátor spojen s názvy ostatních skupin.

Všechny registrační informace o uživatelích systému jsou uloženy v souboru /etc/passwd.

V moderní verzeŠifrovaná hesla OS UNIX a související systémové informace jsou uloženy v souboru /etc/shadow, jehož struktura a účel polí jsou uvedeny na Obr. 8.2
.

Datové záznamy pro každého zavedená skupina jsou obsaženy v souboru /etc/group, jehož struktura a účel polí jsou uvedeny na Obr. 8.3 .

Strukturu a účel polí v souboru /etc/passwd ukazuje Obr. 8.4
.

Konvence zadávání

Při interakci se systémem UNIX si musíte být vědomi vstupních konvencí. Systém UNIX vyžaduje zadávat příkazy malými písmeny (s výjimkou některých příkazů, které mají velká písmena). Jiné konvence umožňují provádět úkoly, jako je mazání písmen nebo mazání řádku, stisknutím jedné nebo dvou kláves.

Tabulka 8.1.
Vstupní smlouvy

Klíč

Funkce

Příkazový řádek systému (vyzve vás k zadání příkazu)

nebo<^h>

Vymazat znak

Zastavení provádění programu nebo příkazu

Odstraňte aktuální příkazový řádek

Při použití s ​​jiným symbolem to znamená provedení speciální funkce (nazývané sekvence kódového spínače). Při použití v režimu úprav editoru vi to znamená konec režimu zadávání textu a návrat do příkazový režim

Označuje konec vstupního řádku a umístí kurzor na nový řádek

Zastavit přihlášení nebo odhlášení (vypnout)

Vraťte se o jeden znak zpět (u terminálů, které nemají klíč )

Dočasně zastavit výstup obrazovky

Pokračovat v zobrazování informací, které byly zastaveny<^s>

Poznámka. V tabulce 2.1 ^ symbol znamená řídicí znak . To znamená, že v tomto případě musíte stisknout dvě tlačítka současně: tlačítko řídicího znaku a zadané písmeno.

Nápověda k příkazu

Standardní příkazový řádek pro uživatele v systému UNIX je znak dolaru $. Pro uživatele root - #. Když se na obrazovce vašeho terminálu objeví výzva, znamená to, že systém UNIX čeká na vaše pokyny. Vhodnou reakcí na výzvu z vaší strany je vydání příkazu následovaného stisknutím klávesy .

Oprava vstupních chyb

Existuje několik způsobů, jak opravit vstupní chyby. Symbol @ vymaže aktuální řádek a tlačítka A<^h>vymaže poslední zadaný znak. Tyto klíče a znaky jsou výchozí hodnoty. Funkce, které vykonávají, lze přiřadit jiným klávesám.

Zastavení provádění příkazu

Chcete-li zastavit spouštění většiny příkazů, jednoduše stiskněte klávesovou zkratku . Systém UNIX zastaví program a zobrazí výzvu na obrazovce. Tato výzva slouží jako signál, že poslední spuštěný příkaz byl zastaven a systém je připraven přijmout další příkaz.

Když se na obrazovce objeví výzva, systém UNIX vás rozpoznal jako oprávněného uživatele a čeká, až zadáte příkaz.

Obecně příkazový řádek má následující strukturu:

    jméno [možnosti] [argumenty]

Název příkazu, možnosti a argumenty musí být odděleny mezerou nebo tabulátorem. Zpracování příkazového řádku tlumočníkem začíná až po stisknutí klávesy .

V následujícím popisu funkcí příkazů se předpokládá:

Možnosti (parametry):

    jsou znakem modifikace příkazu a sestávají zpravidla z jednoho znaku; velká a malá písmena znamenají různé modifikace;

    zpravidla začínají znakem „-“ („mínus“), který není oddělen mezerou od ostatních znaků;

    lze libovolně kombinovat, ale znaménko mínus lze použít pouze jednou.

Argumenty určují objekty, které by měl příkaz zpracovat, například:

    název souboru;

    číslo procesu;

Pokud víte, co by měl volaný program dělat, ale nejste si jisti správnou syntaxí, můžete na příkazovém řádku za názvem příkazu zadat volbu --help:

    $cal --help

Aby bylo možné získat podrobné informace, má OS UNIX vestavěný manuál (on-line), ke kterému je přístup pomocí příkazů man a apropos.

V nejjednodušším případě, abyste získali informace o jakémkoli příkazu, musíte zadat jeho název jako argument příkazu man:

    muž jméno_příkazu

apropos zobrazí seznam příkazů podle klíčové slovo(vzor) zadaný jako argument příkazu:

    apropos šablona

Příklady.

Pokud spustíte příkaz datum a stisknete klávesu , systém UNIX zavolá program s názvem date , spustí jej a zobrazí výsledek na obrazovce:

    $datum

    Út 18. září 14:49:07 2000

Příkaz datum zobrazí datum a čas.

Pokud spustíte příkaz who a stisknete klávesu , pak bude obrazovka vypadat takto:

    $ SZO

    dko30024

    18. října 8:30

    dko30001

    18. října 8:34

    dko30020

    18. října 8:32

    18. října 8:00

který uvádí přihlašovací jména uživatelů aktuálně spuštěných ve vašem systému. Označení tty (druhý sloupec) odkazuje na speciální soubory, které odpovídají každému uživatelskému terminálu. Třetí a čtvrtý sloupec uvádí datum a čas registrace každého uživatele. .

To znamená, že jste úspěšně dokončili práci se systémem a je připraven k registraci nového uživatele.

Pokud jste se přihlásili ze vzdáleného terminálu, spojení se přeruší, na což vás upozorní například aplikace telnet.

Poznámka. Před odpojením terminálu nezapomeňte vypnout systém.

Hlavní závěry

    UNIX je multitaskingový, víceuživatelský systém. Jeden výkonný server dokáže obsloužit požadavky velkého počtu uživatelů. Systém může vykonávat různé funkce: pracovat jako počítačový server obsluhující stovky uživatelů, jako databázový server, jako síťový server nebo síťový router.

    Obecně lze operační systém UNIX reprezentovat jako dvouvrstvý model. Ve středu je jádro systému (kernel). Jádro přímo interaguje s hardwarem počítače a izoluje aplikační programy od funkcí své architektury. Jádro obsahuje programy, které implementují sadu služeb poskytovaných aplikačním programům. Služby jádra zahrnují I/O operace, vytváření a správu procesů, synchronizaci procesů atd. Další úrovní modelu jsou systémové služby, které poskytují uživatelské rozhraní OS UNIX. Schéma interakce s jádrem aplikací i systémových úloh je stejné.

    Operační systém UNIX spolupracuje s hardwarovými a softwarovými prostředky počítače a provádí následující funkce:

    • správa zařízení;

      řízení zdrojů;

      podpora uživatelského rozhraní;

      provádění vstupu a výstupu informací;

      monitorování systému;

      poskytování vzdáleného přístupu k počítačové síti.

    UNIXový systém obsahuje tři hlavní komponenty: příkazový systém, shell a jádro.

    Operační systém UNIX obsahuje několik stovek příkazů, které provádějí úkoly organizace a zpracování dat a správy uživatelského prostředí. Samotné příkazy jsou malé programy, které provádějí specifické funkce, obvykle vyžadující minimální vstup a jsou prováděny relativně rychle.

    Shelly se běžně označují jako interaktivní programy, které poskytují uživatelské rozhraní jádru operačního systému. Shell se stává aktivním procesem uživatele od chvíle, kdy se přihlásí do systému, až do jeho odhlášení. Tyto programy jsou interprety příkazů (někdy nazývané příkazové procesory).

    Systémové jádro je jádrem operačního systému, které zajišťuje základní funkce: vytváření a správu procesů, přidělování paměti a poskytování přístupu k souborům a periferním zařízením.

    Jádro se skládá ze tří hlavních subsystémů:

    • subsystém správy procesů a paměti;

      subsystém souborů;

      vstupní/výstupní subsystém.

    Chcete-li navázat kontakt se systémem UNIX, musíte mít:

    • terminál;

      přihlašovací jméno, které vás identifikuje jako oprávněného uživatele;

      heslo, které ověřuje vaši identitu;

      pokyny pro dialog a přístup do systému UNIX, pokud váš terminál není přímo připojen k počítači.

Kontrolní otázky

    Jaké problémy má třída operačního systému UNIX řešit?

    Jaké schopnosti by měl operační systém třídy UNIX poskytovat?

    Jaké jsou úkoly jádra OS UNIX?

    Jaké jsou funkce jádra OS UNIX?

    Jaký je účel komponenty Command System operačního systému?

    Můžeme říci, že shell poskytuje uživateli interaktivní rozhraní pro interakci s operačním systémem?

    Jak se v UNIXu provádí ověřování uživatelů?

Přepis

1 Úvod Kurz „Základy OS UNIX“ je určen studentům úvodní kurzy fakulty, které mají zájem o školení softwarových vývojářů té či oné úrovně. Povinným přípravným kurzem pro OS UNIX je úvodní kurz programování v jazyce C jako základní kurz i kurz základů počítačové architektury. Struktura kurzu nabízí 13 přednášek a související laboratoře, které vám pomohou pochopit obecné zásady fungování operačního systému UNIX. Přednáškový materiál je prezentován v abstraktní formě, což ponechává větší míru volnosti pro hloubku prezentace témat v přednáškovém materiálu. Délka některých přednášek se navíc může v případě potřeby lišit od 2 do 6 hodin. Laboratorní hodiny nevyžadují použití specializované laboratoře nebo specifického klonu UNIX/Linux a lze je provádět na osobních počítačích studentů s použitím libovolného dostupného softwaru UNIX, Solaris, Linux, FreeBSD, Mac OS X atd. za předpokladu, že odpovídající balíčky se instalují z repozitářů pro vývojáře. V praxi se obvykle používal vzdálený přístup k linuxovému serveru přes protokol SSH Windows pracovníci stanic a PuTTY 1 jako klienta SSH. Všimněte si konečně, že všechny úlohy se provádějí v interpretu příkazů shellu (bash) a různá existující rozhraní X Window (X11) (CDE, GNOME, KDE, Xfwm, Xfce nebo wmii atd.) zde nejsou diskutována, což umožňuje k použití minimální konfigurace kernel a soustředit se na učení jádra OS od samého začátku kurzu. Proč je koneckonců Linux vybrán, aby reprezentoval základy operačních systémů, a ne například Microsoft Windows? Důvodů je několik: open source Linux, ideologie UNIX v něm zakotvená, hlavní myšlenky OS implementované v UNIX/Linux se používají také v Microsoft Windows: multitasking, hierarchický souborový systém, víceuživatelský systém, virtuální paměť, vestavěná síťový zásobník, multithreading, a co je nejdůležitější, linuxové jádro je stále častěji vybíráno pro sestavení počítačové systémy na různých úrovních od distribuovaných a cloudových serverů v podnikovém systému až po ty mobilní a zabudované v řídicích čipech systémů. 1 Vlasov S.V Fakulta informatiky VSU, Voroněž 1

2 Přednáška 1. Základní pojmy. Operační systém je softwarový produkt určený ke správě počítačových zdrojů: hardwaru, dat, programů a procesů. Povinnou součástí operačního systému je jádro, všechny ostatní součásti jsou aplikace přidané do operačního systému v případě potřeby. Například, když říkají: „ Linuxové verze...“ znamenají jádro, ale GNU/Linux znamenají klon se specifickým jádrem a sadou aplikací (Debian, Red Hat, Susse atd.) Jádro OS je povinná součást OS, která poskytuje datové struktury a programy a procesy, stejně jako hardwarově závislý kód nezbytný pro správu počítačových zdrojů. Existují různé principy pro konstrukci jádra: monolitické jádro (Linux) nebo mikrokernel (např. Minix). Jádro lze upravit přidáním nebo odebráním některých komponent (modulů, ovladačů). Soubor konkrétní sekvence byte. V UNIXu je téměř vše reprezentováno jako soubor. V tomto případě se rozlišuje pouze 7 typů souborů (odpovídající symbol je uveden v závorce: ve výstupu příkazu ls -l) běžné soubory (-) speciální soubory: adresář, (d) symbolický odkaz, (l) pojmenované potrubí, (p) znakové zařízení, (c) blokové zařízení, (b) socket UNIX. (s) Za rozpoznání a zpracování vnitřní struktury spisu odpovídá aplikace, pro kterou byl spis určen nebo vytvořen. Hierarchický souborový systém je abstrakce pro reprezentaci uspořádání souborů jako stromu adresářů. Kořenem stromu je adresář s názvem "/", který se nazývá kořenový souborový systém (neplést s /root). Zvláštností linuxového hierarchického systému souborů je to, že je virtuální, v tom smyslu, že jakýkoli uzel v jedné hierarchii může být spojen s vlastním souborovým systémem určitého typu (ext2fs, ext3fs, riserfs, vfat atd.), který se nachází na samostatném zařízení, oddílu nebo přímo v paměti. Adresář v hierarchii použité v každé z nich tento moment ve výchozím nastavení se nazývá aktuální pracovní adresář. Můžete použít absolutní názvy souborů počínaje kořenem / nebo relativní názvy z aktuálního pracovního adresáře (znak "." - tečka), pokud je nadřazený adresář označen znaky ".." (dvě tečky vodorovně bez mezer). Program je soubor obsahující spustitelné instrukce. Soubor obsahující tištěný text programu v programovacím jazyce se nazývá zdrojový modul programu. Zdrojový kód napsaný ve skriptovacím jazyce (shell, perl, python, ruby ​​atd.) spouští přímo jazykový interpret. Zdroje v jiných jazycích (C, Fortran atd.) musí být zkompilovány, aby se zdrojový text převedl na spustitelný programový modul obsahující instrukce procesoru v binárním formátu (vyvíjející se z a.out a COFF na ELF). Proces je program za běhu. Procesy jsou také uspořádány do hierarchie se vztahy rodič-dítě. Všechny procesy v UNIXu mají jedinečný celočíselný identifikátor (PID). Kořenový proces hierarchie je proces číslo 1, toto je proces init, který se vytvoří při bootování jádra operačního systému a vytvoří další podřízené procesy. Když je operační systém spuštěn, lze zastavit jakýkoli proces kromě init. Je zde také skrytý proces 0 - swap, který má na starosti stránkování virtuální paměti. Proces přihlášení je nadřazený proces pro všechny procesy generované uživatelem Vlasov S.V Fakulta informatiky VSU, Voroněž 2

3 systémy běžící ve víceuživatelském režimu. Úkolem tohoto procesu je zkontrolovat bezpečnostní atributy (přihlašovací jméno a heslo) uživatele a spustit proces, který poskytuje rozhraní pro interakci mezi OS a uživatelem, obvykle interpret příkazového jazyka shellu. Interpret prostředí je program, který je součástí konkrétního OS, aby zajistil interakci uživatele s OS. Systémy UNIX/Linux používají různé interprety: bash, csh, tcsh, ksh, zsh a mnoho dalších. Bash je obvykle výchozím interpretem na systémech GNU/Linux. Interpret poskytuje příkazový řádek pro spouštění standardních příkazů a uživatelských programů. Vlasov S.V Fakulta informatiky VSU, Voroněž 3

4 Praktické příklady. Přihlášení přes SSH klienta (PuTTY) V MS Windows vyberte Start->Spustit a zadejte: X:/Putty/Putty.exe V okně Konfigurace Putty, které se otevře, zadejte do pole Název hostitele (nebo IP adresu): www2 Kliknutím na Otevřít povede k připojení k serveru www2 a objeví se přihlašovací okno, ve kterém se při prvním pokusu o připojení k linuxovému serveru zobrazí zpráva PuTTY Security Alert o nepřítomnosti nového klíče RSA v mezipaměti registru; klíč v mezipaměti pro důvěryhodné spojení se serverem nyní i v budoucnu. Klepněte na tlačítko Ano. V okně DOS se objeví pozvánka Vlasov S.V FCS VSU, Voroněž 4

5 Přihlašte se jako: jméno heslo: kde zadáte své přihlašovací jméno (místo jména) a heslo. Při zadávání hesla buďte opatrní, protože tlačítka, která stisknete, se při zadávání nijak nezobrazují, dokonce ani hvězdičky. Pokud je vše provedeno správně, uvidíte ve stejném okně příkazový řádek interpretu shellu 2: ~$ _ Nyní můžete komunikovat s operačním systémem Linux prostřednictvím rozhraní příkazového řádku. 3 V následujícím textu budeme k označení příkazového řádku používat pouze symbol $, i když mu může předcházet cesta k aktuálnímu pracovnímu adresáři. Kde jsme? (domovský adresář) Při registraci do systému je každému uživateli přidělen bezpečný domovský adresář pro ukládání osobních souborů. Když se přihlásíte, proces přihlášení automaticky připojí váš domovský adresář jako aktuální pracovní adresář. Následující tři příkazy by měly zobrazit stejný výsledek, úplnou cestu k vašemu domovskému adresáři. $ pwd $ echo ~ $ echo $HOME Co máme? (automaticky generované soubory) Obsah aktuálního pracovního adresáře lze zobrazit příkazem: $ ls Při prvním přihlášení je tento seznam obvykle prázdný. 4 Když se však uživatel zaregistruje, v jeho domovském adresáři se vytvoří skryté soubory služeb, které může uživatel sám upravit a nakonfigurovat požadované prostředí. Přepínač -a příkazu ls umožňuje zobrazit vše v seznamu obsahu aktuálního adresáře skryté soubory, pojmenované s předponou "." (tečka) $ ls -a Mimochodem, tento seznam obsahuje také anonymní jména aktuálního adresáře "." a nadřazený adresář "...". Tím, že svému vlastnímu souboru dáte název s předponou "." (tečka) uděláte to skryté. Jaký systém se používá? Operace a možnosti konfigurace systému závisí na verzi operačního systému, který používáte. Chcete-li o tom získat informace, použijte příkaz $ uname -a Stručné informace o parametrech a klávesách příkazu lze získat pomocí klávesy help, například 2 Máte-li problémy s připojením k serveru nebo zadáním jména a hesla, máte pouze jednu možnost, obraťte se na správce systému serveru. 3 Symbol $ před kurzorem je znakem příkazového řádku a je výchozím nastavením pro normálního uživatele v překladači příkazů bash. (Symbol # se používá pro superuživatele root) 4 Můžete mít adresář public_html, který lze použít k výměně souborů mezi systémy Linux a MS Windows díky příslušné službě. Vlasov S.V Fakulta informatiky VSU, Voroněž 5

6 $ uname --help Detailní popis UNIXové příkazy a funkce lze získat z dokumentace zvané manuálové stránky (“manual pages” – systémový manuál): $ man pwd $ man ls $ man echo $ man uname Manuálové stránky jsou prezentovány ve speciálním formátu nroff /troff/groff a jsou formátovány při výstupu příslušný nástroj v závislosti na typu výstupního zařízení. Chcete-li ukončit prohlížení manuálových stránek, stiskněte klávesu Q $ man man Manuální soubory jsou obvykle uloženy v zabalené formě (přípona.gz nebo .bz2) a jsou uspořádány do sekcí: 1. Obecné příkazy 2. Systémová volání 3. Funkce knihovny C 4 Speciální soubory 5. Formáty souborů a konverze 6. Hry a spořiče obrazovky 7. Doplňkové 8. Příkazy a démoni pro správu systému Číslo sekce se používá při odkazu na používaný příkaz nebo funkci, například printf/3 a je označeno první parametr příkazu $ man 1 printf $ man 3 printf Adresář, ve kterém se nachází manuálová stránka příkazu, lze určit pomocí příkazu -w $ man -w Hierarchický souborový systém Příkaz ls lze použít k výpisu obsahu libovolný adresář v hierarchii systému souborů (bez ohledu na fyzické zařízení a typ systému souborů na oddílu nebo v paměti). Například kořenový souborový systém se zobrazí příkazem $ ls / K zobrazení struktury celého stromu je však potřeba pořádná dávka vynalézavosti, například $ ls -R grep ":$" sed - e "s/:$//" -e "s/[^-][^\/]*\//--/g" -e "s/^/ /" -e "s/-/ /" kde se filtr používá regulární výrazy grep, editor toku sed, a nepojmenované roury, označené symbolem (pipe). Ve svém domovském adresáři můžete vytvořit nový (prázdný) uzel adresáře v hierarchii, například lab1 Vlasov S.V Fakulta informatiky VSU, Voroněž 6

7 $ mkdir lab1 Jakýkoli uzel v hierarchii lze vybrat jako aktuální $ cd lab1 $ pwd Chcete-li se vrátit do svého domovského adresáře (definovaného proměnnou prostředí HOME), použijte příkaz cd bez parametrů $ cd $ pwd prázdný adresář pomocí příkazu rmdir, například $ rmdir lab1 Pokud adresář není prázdný, pak poslední příkaz (pokud lab1 obsahuje nějaké soubory) zobrazí zprávy rmdir: lab1: Adresář není prázdný a smazání se neprovede. V aktuálním adresáři můžete vytvořit např. textový (běžný) soubor. K tomu lze použít přesměrovaný výstup příkazu echo $ echo "echo Tisk adresářového stromu " > strom Vytvoří se stromový soubor, jehož obsah lze vypsat příkazem $ cat tree nebo ve formátu stránky $ pr strom Můžete dokonce přidat nový řádek na konec existujícího souboru, například $ echo pomocí grep a sed >> strom $ cat tree Můžete použít editor řádkového textu ed standardní editor určený pro úpravu textu z psacího stroje- typ konzole. $ ed tree a ls -R grep ":$" sed -e "s/:$//" -e "s/[^-][^\/]*\//--/g" -e "s /^/ /" -e "s/-/ /". wq $ cat tree Ve skutečnosti jsme zde vytvořili soubor s příkazy, které lze spustit jako nový příkaz, pokud jej prohlásíte za „spustitelný“: $ chmod +x strom $./tree Vlasov S.V Fakulta informatiky VSU, Voroněž 7

8 Všimněte si, že pokus o spuštění souboru bez zadání aktuálního adresáře, tzn. pouze strom namísto ./tree, jak je uvedeno výše, nepovede k nalezení souboru v aktuálním adresáři. Důvodem je, že z bezpečnostních důvodů není anonymní aktuální adresář zahrnut v proměnné prostředí PATH, který se používá k vyhledání programu ke spuštění podle názvu. $ echo $PATH Úplný seznam Uživatel může získat proměnné prostředí a jejich hodnoty příkazem: $ env To create textové soubory můžete také použít příkaz cat k přesměrování výstupu do souboru $ cat > soubor text Ctrl-D Zde stisknutím Ctrl-D odešlete znak konce souboru (EOF) KONEC PŘENOSU do vstupního proudu. Můžete také připojit text na konec souboru $ cat >> soubor připojený text Ctrl-D Chcete-li vytvořit velké textové soubory, například se zdroji C, použijte výkonné textové editory na obrazovce, jako je vi/vim, nano nebo emacs. Mazání souboru se provádí příkazem $ rm file.Mimo jiné přepínač -r nebo -R umožňuje rekurzivně odstranit podstrom adresářů. Pro bezpečné smazání souborů se doporučuje použít přepínač -i, který vygeneruje požadavek na potvrzení smazání. Přesouvání a přejmenování souboru se provádí příkazem Datum a čas $ mv old new Aktuální systémový čas a datum lze zjistit příkazem $ date Pro změnu času a/nebo data použijte parametr ve formátu MMDDhhmmRRRR. Například pro úlohu 24. ledna 20:36 2011 byste zadali $ date. Všimněte si také, že příkaz time nalezený v systémech UNIX ukazuje čas použitý následujícím procesem (reálný čas, čas spuštění v uživatelském režimu a čas v režimu jádra), nikoli aktuální systémový čas. Zkuste Vlasov S.V FCS VSU, Voroněž 8

9 $ čas datum, měli byste dostat něco jako následující výstup skutečný uživatel sys 0m0.040s 0m0.000s 0m0.040s Kdo další je v systému? UNIX OS je víceuživatelský systém, který umožňuje současně provádět proces přihlášení a umožňuje několika uživatelům pracovat v systému nezávisle na sobě. Chcete-li zjistit, kdo je aktuálně přihlášen, použijte příkaz $who, který zobrazí přihlašovací jméno uživatele, terminál a čas zahájení procesu přihlášení. Ve víceuživatelském systému může stejný uživatel používat několik různých terminálů současně (například několik paralelních relací SSH). Chcete-li zjistit, kdo používá aktuální terminál, můžete použít příkaz $ whoami Registrovaní uživatelé Takže pro používání systému musíte být registrovaným uživatelem. Registraci provádí správce systému s právy superuživatele, který má v systémech UNIX/Linux standardní jméno - root. 5 Všechny registrační záznamy o uživatelích jsou obvykle uloženy v jediném souboru /etc/passwd, který je čitelný pro každého $ cat /etc/passwd V dřívějších verzích systému bylo šifrované heslo (hash) uživatele také uloženo v stejný soubor (druhé pole za uživatelským jménem oddělené dvojtečkou). Ale v nejnovější systémy Je zvykem ukládat hashe hesel do jiného souboru /etc/shadow, který není čitelný pro nikoho jiného než root. Pole hesla v souboru /etc/passwd ukládá pouze skrytý odkaz na záznam v /etc/shadow, takže je zobrazen pouze znak „*“. Chcete-li změnit aktuální heslo v systémech UNIX, použijte příkaz $ passwd Změna hesla pro jméno. (aktuální) UNIX heslo: heslo aktuálního uživatele nové UNIX zfyytsshchkv: nové heslo přepište nové heslo UNIX: nové heslo (opět přesně stejné jako v předchozím řádku) passwd: heslo bylo úspěšně aktualizováno Pokud dojde k chybě nebo příliš jednoduché heslo zobrazí se například zprávy nebo passwd: Chyba při manipulaci s autentizačním tokenem ŠPATNÉ HESLO: je příliš jednoduché zjednodušující/systematické 5 K přihlášení se obvykle nepoužívá jméno uživatele root, místo toho si administrátor vytvoří normální přihlášení, ale použije příkaz su k provádění operací vyžadujících oprávnění superuživatele. V systémech Linux je oblíbenou skupinou privilegovaných uživatelů sudoers, kteří dostávají právo provádět operace s nimi root práva prostřednictvím příkazu sudo Vlasov S.V FCS VSU, Voroněž 9

10 V tomto případě musíte zadat jiné heslo. Všimněte si, že proces passwd běží ve speciálním superuživatelském režimu a ignoruje signál SIGINT odeslaný stisknutím klávesy Ctrl-C a nelze je tedy přerušit. Jednoduchý způsob komunikace Uživatelé současně pracující v systému si mohou posílat krátké zprávy pomocí příkazu $ write name Uživatel se zadaným jménem/terminálem okamžitě obdrží upozornění Zpráva od vase_jmeno na tty0 v 10:30.. a pokud pokračujete v psaní na svém terminálu (zde na tty0), zpráva se okamžitě objeví řádek po řádku na terminálu uživatele se jménem uvedeným v příkazu. Pro ukončení zprávy musíte zadat Ctrl-D. Pokud však váš oponent nechce přijímat žádné zprávy, pak pomocí příkazu $ mesg n zakáže možnost odesílat/přijímat zprávy pro psaní. Pro aktivaci této funkce musí uživatel spustit příkaz $ mesg y Pokud potřebujete odeslat zprávu všem uživatelům v systému najednou (kteří mají zprávy povolené), můžete použít příkaz $ nástěnná zpráva do 20 řádků Ctrl- D Odhlásit relaci $ logout Můžete také použít Ctrl-D nebo $ exit Příkaz logout nemusí ukončit relaci, ale zobrazí jednu ze dvou zpráv nebo Existují zastavené úlohy, nepřihlašovací shell: použijte "exit" První zpráva je upozornění, že vaše relace byla spuštěna a pozastavena (signálem SIGSTOP nebo Ctrl-Z) úkoly. Máte možnost pokračovat ve vykonávání úloh (pomocí příkazů jobs a fg), dokud nebudou normálně dokončeny. Pokud to však neuděláte, pozastavené úlohy budou ukončeny (signálem SIGTERM), když se znovu provede příkaz odhlášení nebo Ctrl-D. Druhá zpráva znamená, že jste vytvořili podřízené procesy z prostředí spuštěného procesem přihlášení, které provádějí aktuální relaci prostředí, která není spojena s procesem přihlášení. Vlasov S.V Fakulta informatiky VSU, Voroněž 10

11 Chcete-li se vrátit do procesu shellu vytvořeného přihlášením, musíte v aktuálním prostředí provést příkaz exit nebo Ctrl-D. Závěry OS je komplexní softwarový systém sestávající ze subsystémů pro správu různých zdrojů Cílem předmětu je prostudovat hlavní rysy fungování subsystémů jádra OS UNIX/Linux prostřednictvím rozhraní systémového volání. Vlasov S.V Fakulta informatiky VSU, Voroněž 11


MINISTERSTVO ŠKOLSTVÍ A VĚDY RF FEDERÁLNÍ STÁTNÍ ROZPOČET VZDĚLÁVACÍ INSTITUCE VYSOKÉHO ODBORNÉHO VZDĚLÁVÁNÍ VEDENÍ „Kama State Engineering and Economic Academy“

6.31. Cykly. Parametry řazení. pro proměnnou v hodnotách proveďte příkazy provedené pro var1 v hodnotě1 hodnota2 hodnota3 do echo $var1 provedeno pro Soubor1 v $(ls *.sh); do echo $File1 >> All.txt hotovo při do podmínky

Informační technologie Přednáška 3 1 The bash shell 2 Základy Práce se shellem nebo shellem textový režim(rozhraní příkazového řádku) Grafické uživatelské rozhraní (GUI) pracující v grafické podobě

SHELL Definice: Shell [shell] interpret příkazů operačního systému. Shelly se v závislosti na organizaci práce s uživatelem dělí na dva typy: - interpret příkazového řádku; - grafický

2 Navigace První věc, kterou se pokusíme prostudovat (po zkušebním stisknutí kláves), je navigace v souboru Linuxový systém V této kapitole si představíme následující příkazy: pwd zobrazí jméno aktuálního pracovníka

SibGUTI Katedra jazykového programování na vysoké úrovni (HLL), semestr 1 2009 2010 akademický rok Polyakov A.Yu. Laboratorní práce 1. Programovací prostředí OS Linux. Účel práce: Seznámit se se softwarem

Přednáška 2. Subsystém řízení procesů. Správa procesů v multitaskingovém systému zahrnuje alokaci zdrojů jádra pro každý z nich běžící proces, provádějící přepínání kontextu procesu

MOSKVA STÁTNÍ TECHNICKÁ UNIVERZITA pojmenovaná po. N.E. BAUMAN Fakulta „Informatika a řídicí systémy“ Katedra „Automatizované systémy zpracování informací a řízení“ Syomkin P.S., Syomkin

Práce s OS GNU/Linux v terminálových třídách Katedry ozbrojených sil Účel práce: seznámit se se softwarem OS GNU/Linux a napsat jednoduchý program v jazyce C. Operační systém (OS) GNU/Linux

Systém BOINC. Lekci vede: Nikolay Pavlovič Khrapov Institute of Information Transmission Problems RAS Praktická lekce Základy práce s OS Linux Instalace BOINC serveru Praktická lekce Základy práce

Komponenty OS Hlavní komponenty OS 1. Správa procesů 2. Správa hlavní paměti 3. Správa souborů 4. Správa I/O systému 5. Správa externí paměti 6. Podpora sítí

Úvod do příkazového řádku Linuxu Jak se přestat bát a milovat shell Alexey Sergushichev Praktická škola bioinformatiky MNL "Computer Technologies" 19.02.2014 Příkazový řádek Příkazový řádek

Operační systém Linux Přednáška 6 Příkazový shell (shell, bash) je rozhraní příkazového řádku v operačních systémech typu Unix, to znamená, že spouští příkazy, které uživatel vydává nebo které jsou čteny.

Laboratorní práce 4 ÚVOD DO PROCESŮ Účel práce Seznámit se s pojmem proces. Naučte se získat seznam procesů dostupných v systému a spravovat jejich stav. 1. Teoretické informace

Vzory názvů souborů, vyhledávání souborů a další funkce UNIX Registrace v Linuxu Spusťte putty.exe Zadejte IP adresu Klikněte na Otevřít Uživatelské jméno studentx Heslo studentx 2 Vytvořte adresář

Obsah Předmluva 6 Přednáška 1. Pracovní sezení v Linuxu 8 1.1 Uživatelé systému................................ 8 1.2 Registrace v systém..... .................. 13 1.3 Současný přístup do systému..................

Základy rozsáhlého světa systému UNIX jsou nastíněny přístupným způsobem i pro neprofesionálního uživatele. Uživatel se postupně učí přihlašovat do systému, používat různé příkazy, žádat o pomoc, hledat

Práce se šablonami standardní dokumenty Uživatelská příručka Cognitive Technologies Moskva, 2015 2 ABSTRAKT Tento dokument poskytuje informace o použití softwarového balíku E1 Euphrates

Informatika Informační technologie Přednáška 1. Úvod do OS Linux Hlavní charakteristika Skutečný Linux multitasking Přístup pro více uživatelů Swap paměť s náhodným přístupem na stránku disku

Další jazyky: angličtina ruština iridium Server pro Raspberry Pi Instalace a konfigurace serveru v projektu i3 lite iridium Sever pro Raspberry Pi je softwarová implementace serveru iridium, která běží

FEDERÁLNÍ AGENTURA PRO VZDĚLÁVÁNÍ Tomsk Polytechnic University SCHVÁLENO: děkanem AVTF Gaivoronsky S.A. 2009 SIMPLE SHELL TOOLS Pokyny pro provádění laboratorních prací

Lekce 3. Téma: Účty v Linuxu. Typ hodiny: přednáška, praktická cvičení. Studijní otázky: 1. Koncepce účtu a autentizace. Soubory /etc/passwd a /etc/group, /etc/shadow a /etc/gshadow.

Abstrakt programu disciplíny "Operační systémy" 1. Cíle zvládnutí disciplíny Cíle zvládnutí disciplíny "Operační systémy" jsou: rozvíjet u studentů základní znalosti, dovednosti a schopnosti

Laboratoř 2: Navigace struktura souboru a jeho údržba pomocí terminálu OS Xubuntu Praktická část II. Navigace ve struktuře souborů a její údržba pomocí terminálu OS

Stránka 1 z 7 Novinky Technické vybavení linuxového clusteru Statistika využití zdrojů Registrace na linuxovém clusteru Registrace na souborovém systému SPP-2000 AFS Problémy se zabezpečením sítě Knihovny

Základní pojmy a definice Operační systém (dále jen OS) je softwarový balík, který řídí fungování počítače a zajišťuje interakci zařízení v něm obsažených.

Kapitola 1 Výběr operačního systému Skutečnost, že čtete tuto knihu, znamená, že se chcete naučit Linux. Než se pustíte do této cesty, musíte pochopit, co je operační systém

Praktická práce 10 Práce se soubory v LINUXu Účel práce: prostudovat vlastnosti práce se soubory v operačním systému Linux. Pracovní plán: 1. Seznamte se se stručnými teoretickými informacemi.

SCHVÁLENO -LU SYSTÉM OCHRANY INFORMACÍ PROTI NEOPRÁVNĚNÉMU PŘÍSTUPU Listy příručky operátora (uživatele) Dallas Lock Linux 11 2016 2 Abstrakt Tato uživatelská příručka je distribuována

Informační technologie Přednáška 2 Linux Commands 2 Commands Linuxové příkazy Linuxové konzole – interakce mezi uživatelem a OS Spouští se prostřednictvím příkazového řádku ručním zadáním Za každým příkazem

Softwarový a hardwarový komplex důvěryhodného stažení "Blokhost-MDZ" Instalační příručka pro softwarový balíček "Blokhost-MDZ". Průvodce instalací. Strana 2 Abstrakt Dokument popisuje instalaci

Multifunkční hardwarový a softwarový komplex pro poskytování komunikačních služeb "IS RINO" Základní software Management server OBSAH 1 ÚVOD... 3 2 SLOŽENÍ SOFTWARU... 3 3 INSTALACE SERVERU...

Rutoken přihlášení. Administrátorská příručka 2018 Aktiv Company V tomto dokumentu Tento dokument obsahuje odpovědi na následující otázky: K čemu slouží softwarový produkt Rutoken Logon? (viz strana

Obsah lekce Terminologie Nástroje vzdáleného přístupu Přihlášení 1 Uživatel (uživatel) uživatel, Účet(účet). Objekt pro záznam akcí systému. Přihlášení 1. Uživatelské jméno/účet

Úlohy Část 1: Spouštění FTP z příkazového řádku Část 2: Nahrání souboru FTP pomocí klienta WS_FTP LE Část 3: Spouštění FTP v prohlížeči Vstup/skript FTP (File Transfer Protocol), který je součástí sady

Zvažují se obecné principy organizace, složení, struktura operačních systémů a jejich skořápek a také řada specifických systémů. Značná pozornost je věnována problematice informačního a procesního řízení

A nastavení síťového operačního systému FreeBSD FreeBSD FreeBSD je moderní operační systém pro servery, stolní počítače a vestavěné počítačové platformy. FreeBSD poskytuje moderní sítě

LLC "Společnost "ALS and TEK" Software řady přepínačů ALS-24000, verze 6.01 Instalační příručka Listy 13 2017 2 1. OBECNÉ INFORMACE 3 1.1. Účel a rozsah 3 2. POŽADAVKY NA POČÍTAČ

IV. METODICKÉ POKYNY PRO ORGANIZACE SAMOSTATNÉ PRÁCE STUDENTA PŘI STUDIU ODBORU „OPERAČNÍ SYSTÉMY“ Název sekce disciplíny 1. Vývoj operačních systémů. Účel

Operační systém Operační systém je nejdůležitější program Operační systém je soubor programů, které zajišťují interakci veškerého hardwaru a softwarové části počítače mezi sebou a

4 Laboratorní práce 1. Instalace a konfigurace operačního systému na virtuálním stroji 1.1. Účel práce Účelem této práce je získání praktických dovedností při instalaci operačního systému

Federální státní rozpočtová vzdělávací instituce vyššího odborného vzdělávání "Národní výzkumná Tomská polytechnická univerzita" SCHVÁLENO: Vedoucí vzdělávání

Laboratorní práce 1. Navigace ve struktuře souborů a její údržba pomocí interpretu příkazového řádku Windows Teoretická část. Adresář je speciální druh souboru obsahujícího názvy podadresářů

operační systém Software Operační systém je nejdůležitější program Operační systém je soubor programů, které zajišťují interakci všech hardwarových a softwarových částí.

Systém licencování a ochrany pro konfigurace platforem 1C:Enterprise 8, verze 3.0 Příručka správce Podporované operační systémy... 1 Složení systému... 1 Server SLK... 1 Externí komponenta...

Úvod Práce s operačním systémem GNU/Linux V současnosti je hlavním rozhraním mezi uživatelem a desktopovým operačním systémem grafické uživatelské rozhraní (Graphic User Interface).

PRAKTICKÁ PRÁCE 2 Příkazový řádek OS Windows Účel práce: prostudovat rozhraní příkazového řádku OS Windows, získat dovednosti v řešení typických úloh správy operačního systému Windows pomocí

Laboratorní práce 2 Správa souborů v operačním systému Cíle a cíle laboratorní práce: získání dovedností v práci s operačním systémem jako je Linux; naučit se základy správy operačního sálu

SPRÁVCE PŘIPOJENÍ PRO VIRTUÁLNÍ PRACOVNÍ STANICE PŘÍRUČKA ADMINISTRÁTORA TERMIDESK (příprava základního pracoviště) 23811505.6200.001.I5.01-2 Listy 17 MOSKVA 2018 1 OBSAH 1 ÚVOD...4 ÚVOD

Federální státní rozpočtová instituce vyššího odborného vzdělávání "SibGUTI" Katedra počítačových systémů Disciplíny "PROGRAMOVACÍ JAZYKY" "PROGRAMOVÁNÍ" Praktická lekce 55 OS GNU/Linux Učitel: docent katedry informatiky, Ph.D. Poljakov Artem Jurijevič

Příloha PRACOVNÍ PROGRAM AKADEMICKÉ DISCIPLÍNY OPERAČNÍ SYSTÉMY A PROSTŘEDÍ Pracovní program akademická disciplína Operační systémy a prostředí vyvinuté na základě Federal State Educational

2.1. Soubory. Požadavky na ukládání informací: schopnost ukládat velké objemy dat; informace musí být uchovány i po ukončení procesu; několik procesů musí probíhat současně

Programovací jazyky a metody překladu Prezentace pro laboratorní práci 2 Operační sál systém Windows Obsah 2 Obsah 3 Koncepce operačního systému Základní software operačního systému (OS).

Instalace serveru IBM DB2 v11.1 v systému Linux Instalace IBM DB2 pomocí instalačního průvodce vyžaduje, abyste měli nainstalované a spuštěné grafické rozhraní, včetně základních balíčků X-Window,

1.1 Historie OS První (1945-1955) počítače pracovaly bez operačního systému, zpravidla na nich běžel jeden program. Když se rychlost provádění programů a jejich počet začaly zvyšovat, prostoje

Správa ovladačů Rutoken pomocí zásad skupiny 2017 Aktiv Company V tomto dokumentu Tento dokument popisuje, jak používat zásady skupiny k automatické distribuci sady

Téma: Účel: Praktická práce 23. Základy práce v Ubuntu. Seznamte se s rozhraním Ubuntu OS, naučte se pracovat se soubory a adresáři, spouštět programy, prohlížet text a grafiku

Nástroj pro zabezpečení informací Secret Net Pokyny pro lokální aktualizaci klienta Secret Net Tento dokument obsahuje podrobný popis sekvence akcí pro lokální aktualizaci klienta

O autorech 15 Úvod 17 Struktura knihy 18 Od nakladatele 20 1. kapitola. Krátká recenze Základy 21 Některé základní příkazy 21 Zobrazení data a času: příkaz date 21 Vyhledání registrovaných uživatelů

Uživatelská příručka HV Manager 2017 AprilTech, llc. Všechna práva vyhrazena 1 OBSAH Úvod... 3 Instalace a konfigurace... 4 Systémové požadavky... 4 Instalace... 5 Konfigurace... 6 Nastavení

1 Cvičení 3 „PŘESMĚROVÁNÍ DATOVÝCH TOKU“ Streamy a soubory Všechny soubory v systému Linux jsou logicky uspořádány do nepřetržitého toku bajtů. Jakýkoli soubor lze libovolně zkopírovat a přidat do jiného

UNIX(Unix, Unix) – skupina přenosných, multitaskingových a víceuživatelských operačních systémů. První unixový operační systém byl vyvinut koncem 60. a začátkem 70. let americkou výzkumnou firmou Bell Laboratories. Zpočátku byl zaměřen na minipočítače a poté se začal používat na počítačích všech tříd, včetně sálových počítačů a mikropočítačů. To bylo usnadněno adaptací Unixu na 32bitové mikroprocesory od Intelu, která byla provedena v roce 1990. Funkčnost a flexibilita Unixu zajistila jeho použití v heterogenních automatizované systémy, stejně jako vytvoření desítek norem pro výrobce počítačová technologie. Operační systémy rodiny Unix:

Linux je verze operačního systému Unix pro výpočetní platformy založené na procesorech Intel;
HP-UX - verze Hewlett-Packard; neustále se vyvíjí a je kompatibilní s IE-64, což je nový standard pro 64bitovou architekturu;
SGI Irix je operační systém Silicon Graphics PC založený na System V Release 3.2 s prvky BSD. Na této verzi Unixu vytvořilo studio Industrial Light & Magic filmy „Terminator 2“ a „Jurassic Park“.
SCO Unix je verze Santa Cruz Operation pro platformu Intel, nezávislá na výrobci hardwaru;
IBM AIX - implementováno na základě System V Release 2 s některými rozšířeními BSD;
DEC Unix je operační systém s podporou clusterů; navrženy pro spolupráci s Windows NT;
NeXTStep-4.3 BSD - OS založený na jádru Mach, používaný v počítačích NeXT; patří Jablko Počítač a slouží jako operační systém pro počítače Macintosh;
Sun Solaris je operační systém pro stanice SPARC založený na System V Release 4 s mnoha doplňky.

Operační systém Unix se objevil během vývoje minipočítačů. V roce 1969 začala výzkumná firma Bell Labs vyvíjet kompaktní operační systém pro 18bitový minipočítač DEC PDP-7 společnosti Digital Equipment Corporation. Systém byl původně napsán v assembleru a za datum narození Unixu se považuje 1. leden 1970. V roce 1973 byl přepsán do jazyka C, který byl vyvinut v Bell Labs. Zároveň proběhlo oficiální představení operačního systému. Jeho autoři, zaměstnanci Bell Labs Ken Thompson a Dennis M. Ritchie, nazvali svůj nápad „univerzálním OS pro sdílení času“.

Unix byl založen na hierarchickém souborovém systému. Každý proces byl považován za sekvenční provádění programového kódu v autonomním adresním prostoru a práce se zařízeními byla považována za práci se soubory. První verze implementovala klíčový koncept procesu, později se objevila systémová volání (fork, wait, exec, exit). V roce 1972 bylo zavedeno potrubí zavedením potrubí.

Koncem 70. let se Unix stal oblíbeným operačním systémem, kterému napomáhaly preferenční distribuční podmínky v univerzitním prostředí. Unix byl portován na mnoho hardwarových platforem a začaly se objevovat jeho varianty. Unix se postupem času stal standardem nejen pro profesionální pracovní stanice, ale i pro velké podnikové systémy. Spolehlivost a flexibilita nastavení systému UNIX jej učinila populárním, zejména mezi správci systému. Hrála aktivní roli v šíření globální sítě, a především internet.

Díky zásadám zpřístupňování zdrojů běží řada volných dialektů Unixu platforma Intel x86 (Linux, FreeBSD, NetBSD, OpenBSD). Plná kontrola nad texty umožnila vytvářet systémy se speciálními požadavky na výkon a bezpečnost. Unix také asimiloval prvky jiných operačních systémů, což vedlo k vývoji programovacích rozhraní POSIX a X/Open.

Existují dvě nezávisle vyvinuté větve UNIXu - System V a Berkeley, na jejichž základě jsou vytvořeny dialekty Unixu a Unixové systémy. BSD 1.0, který se stal základem pro nekomerční unixové dialekty, byl vydán v roce 1977 na University of California v Berkeley na základě zdrojového kódu UNIX V6. V letech 1982-1983 byly Unix System Laboratories (USL) vydány první komerční dialekty Unixu System III a System V. Verze Unixu System V tvořila základ pro většinu následujících komerčních variant. V roce 1993 AT&T prodala práva na Unix spolu s laboratoří USL společnosti Novell, která vyvinula dialekt UNKWare založený na System V, vlastněný Santa Cruz Operation pod názvem SCO UNIXWare. Ochranná známka Unix je ve vlastnictví X/Open Company.

Unix si získal oblibu díky své schopnosti pracovat na různých hardwarových platformách – přenositelnost nebo mobilita. Problém mobility v UNIXu byl vyřešen sjednocením architektury operačního systému a použitím jednotného jazykového prostředí. Jazyk C vyvinutý v Bell Labs se stal spojovacím článkem mezi hardwarovou platformou a operačním prostředím.

Mnoho problémů s přenositelností v Unixu bylo vyřešeno poskytnutím jediného softwaru a uživatelské rozhraní. Dvě organizace řeší problém sladění více unixových dialektů: IEEE Portable Applications Standards Committee (PASC) a X/Open Company (The Open Group). Tyto organizace vyvíjejí standardy, které umožňují integrovat heterogenní operační systémy, včetně těch, které nesouvisejí s Unixem (IEEE PASC - POSIX 1003, X/Open - Common API). Systémy kompatibilní s POSIX jsou tedy Open-VMS, Windows NT, OS/2.

Přenositelnost Unixu jako systému orientovaného na širokou škálu hardwarových platforem je založena na modulární struktuře s centrálním jádrem. Zpočátku obsahovalo jádro UNIX sadu nástrojů odpovědných za odesílání procesů, alokaci paměti, práci se souborovým systémem, podporu ovladačů externích zařízení, síťové a bezpečnostní nástroje.

Následně oddělením od tradičního jádra minimálně požadovaná sada znamená, že se vytvořilo mikrojádro. Nejznámější implementace unixových mikrokernelů jsou Amoeba, Chorus (Sun Microsystems), QNX (QNX Software Systems). Mikrokernel Chorus zabírá 60 KB, QNX - 8 KB. Na základě QNX bylo vyvinuto 30 KB POSIX-kompatibilní mikrokernel Neutrino. Na Carnegie Mellon University v roce 1985 bylo vyvinuto mikrojádro Mach, používané v NeXT OS (NeXT), MachTen (Mac), OS/2, AIX (pro IBM RS/6000), OSF/1, Digital UNIX (pro Alpha), Windows NT, BeOS.

V Rusku se operační systém Unix používá jako síťová technologie a operační prostředí pro různé počítačové platformy. Infrastruktura ruského internetu byla vytvořena na základě Unixu. Od počátku 80. let probíhaly domácí práce na operačním systému Unix v Ústavu atomové energie pojmenovaném po něm. I. V. Kurchatov (KIAE) a Ústav aplikované kybernetiky Ministerstva automobilového průmyslu. Výsledkem sjednocení těchto týmů byl zrod operačního systému DEMOS (Dialogue Unified Mobile Operating System), který kromě domácích obdob PDP-11 (SM-4, SM-1420) přešel na ES Computer a Elbrus. Navzdory své všestrannosti Unix ztratil trh osobní počítače Rodina Windows společnost Microsoft. Operační systém Unix si udržuje svou pozici na poli kritických systémů s vysokou mírou škálovatelnosti a odolnosti proti chybám.