Grunderna i Linux. Linux Basics - Kommandorad och filsystem Kända versioner av UNIX

1965 började Bell Telephone Laboratories (en division av AT&T), tillsammans med straffoperatören och Massachusetts Institute of Technology (rIT), utveckla ett nytt operativsystem kallat rULTIqS (rULTipleoed Information and Computing Service). Projektdeltagarna hade som mål att skapa ett multitasking-tidsdelningsoperativsystem som kan stödja flera hundra användares arbete. Från Bell Labs deltog två deltagare i projektet: Ken Thompson och Dennis Ritchie. Även om rULTIqS-systemet aldrig blev färdigt (Bell Labs drog sig ur projektet 1969) blev det föregångaren till operativsystemet som senare blev känt som Unio.

Thompson, Ritchie och ett antal andra anställda fortsatte dock att arbeta med att skapa ett bekvämt programmeringssystem. Med hjälp av idéer och utvecklingar som kom fram från arbetet med rULTIqS skapade de ett litet operativsystem 1969 som inkluderade ett filsystem, ett undersystem för processhantering och en liten uppsättning verktyg. Systemet skrevs i assembler och användes på nDn-7-datorn. Detta operativsystem fick namnet UNIX, ett namn som liknar rULTIqS och myntades av en annan medlem av utvecklingsteamet, Brian Kernigan.

Även om den tidiga versionen av UNIX lovade mycket, skulle den inte ha förverkligat sin fulla potential utan tillämpning på något verkligt projekt. Och ett sådant projekt hittades. När Bell Labs patentavdelning behövde ett ordbehandlingssystem 1971 valdes UNIX som operativsystem. Vid den tiden hade den överförts till den mer kraftfulla nDn-11, och den hade vuxit lite. 16K var ockuperat av själva systemet, 8K tilldelades applikationsprogram, maximal storlek Filen var inställd på 64K med 512K diskutrymme.

Kort efter att de första assemblyversionerna skapats började Thomson arbeta med en kompilator för FxuTuAN-språket, och som ett resultat utvecklade han språk B. Detta var en tolk med alla begränsningar hos en tolk, och Ritchie utvecklade den till ett annat språk, kallat q, som möjliggjorde generering av maskinkod. År 1973 skrevs operativsystemets kärna om till C-språket på hög nivå, ett tidigare ovanligt drag som hade en enorm inverkan på UNIX:s popularitet. Detta innebar att ett UNIX-system nu kunde portas till andra hårdvaruplattformar inom några månader och att göra ändringar var inte särskilt svårt. Antalet körande UNIX-system på Bell Labs översteg 25, och UNIX Sgstem Proup-gruppen (USp) bildades för att underhålla UNIX.

Forskningsversioner (AT&T Bell Labs)

I enlighet med amerikansk federal lag hade AT&T inte rätt att kommersiellt distribuera UNIX och använde det för sina egna behov, men från och med 1974 började operativsystemet överföras till universitet för utbildningsändamål.

operativ system var och en har moderniserats en ny version levererades med motsvarande utgåva av programmerarens guide, från vilken versionerna själva fick namnutgåvorna (jdition). Totalt 10 upplagor släpptes från 1971 till 1989. De viktigaste utgåvorna listas nedan.

Revision 1 (1971)

Den första versionen av UNIX skriven i assemblerspråk för nDn-11. Inkluderade B-språket och många välkända kommandon och verktyg, inklusive cat, chdir, chmod, cp, ed, find, mail, mkdir, mkfs, mount, mv, rm, rmdir, wc, who. Används i första hand som ett ordbehandlingsverktyg för Bell Labs patentavdelning.

Revision 3 (1973)

Kommandot ss dök upp i systemet och startade språkkompilatorn C. Number installerade system nått 16.

Revision 4 (1973)

Det första systemet där kärnan är skriven på högnivåspråket C.

Revision 6 (1975)

Första versionen av UNIX tillgänglig utanför Bell Labs. Systemet skrevs om helt i C. Sedan dess började nya versioner dyka upp som inte utvecklades på Bell Labs och populariteten för UNIX började växa. Denna version av systemet installerades vid University of California i Berkeley, och den första versionen av BSD (Berheleg Softkare Distributuion) UNIX släpptes snart på grundval av den.

Revision 7 (1979)

Inkluderade Bourne Shell-kommandotolken och en C-kompilator från Kernighan och Ritchie. Kärnan i systemet har skrivits om för portabilitet till andra plattformar. Licensen för denna version köptes av ricrosoft, som utvecklade operativsystemet XjNIX baserat på den.

UNIX växte i popularitet och 1977 översteg antalet operativsystem 500. Samma år portades systemet till en icke-nDn-dator för första gången.

UNIX släktforskning

Det finns inget standard UNIX-system, alla UNIX-liknande system har funktioner och möjligheter som är unika för dem. Men bakom de olika namnen och funktionerna är det fortfarande lätt att lägga märke till arkitekturen, användargränssnittet och programmeringsmiljön i UNIX. Förklaringen är ganska enkel: alla dessa operativsystem är nära eller avlägsna släktingar. De mest framstående representanterna för denna familj beskrivs nedan.

System III (1982)

Eftersom AT&T inte ville förlora initiativet att utveckla UNIX, slog AT&T 1982 ihop flera befintliga versioner av operativsystemet och skapade en version som heter Sgstem III.

Denna version var avsedd för distribution utanför Bell Labs och AT&T, och markerade början på en kraftfull gren av UNIX som fortfarande lever och växer idag.

System V (1983)

1983 släpptes System V, och senare flera utgåvor för det:

  • SVR2 (1984): InterProcess Communication (IPC) delat minne, semaforer
  • SVR3 (1987): I/O-strömsystem, Filsystem Byt, delade bibliotek
  • SVR4 (1989): NFS, FFS, BSD-uttag. SVR4 kombinerar kapaciteten hos flera välkända versioner av UNIX - SunOS, BSD UNIX och tidigare versioner av System V.

Många komponenter i detta system stöddes av ANSI, POSIX, X/Open och SVID standarder.

UNIX BSD (1978) (Baserat på UNIX 6:e upplagan)

  • 1981, på order av DAunA, byggdes Tqn/In-stacken in i BSD UNIX (i 4.2BSD)
  • 1983 använde aktivt nätverksteknik och kunde ansluta till ARPANET-nätverket
  • 1986 version 4.3BSD släppt
  • 1993 4.4BSD och BSD Lite (senast släppta versioner) släpptes.

OSF/1 (1988) (Open Software Foundation)

1988 gick IBM, DEC, HP ihop för att skapa en version av UNIX oberoende av AT&T och SUN och skapade en organisation som heter OSF. Resultatet av verksamheten i denna organisation var operativsystemet OSF/1.

Standarder

Ju fler olika varianter av UNIX dök upp, desto tydligare blev behovet av att standardisera systemet. Att ha standarder gör applikationer lättare att porta och skyddar både användare och tillverkare. Som ett resultat uppstod flera standardrelaterade organisationer och ett antal standarder utvecklades som påverkade utvecklingen av UNIX.

IEEE POSIX (Institute of Electrical and Electronics Engineers Portable Operating System Interface)

  • 1003.1 (1988) API (Application Programming Interface) OC-standardisering
  • 1003.2 (1992) definition av skal och verktyg
  • 1003.1b (1993) Application API i realtid
  • 1003.1c (1995) definitioner av "trådar"

ANSI (American National Standards Institute)

  • Standard X3.159 (1989)
  • Syntax och semantik för C-språket
  • Innehåll standardbibliotek libc

X/Öppen

  • 1992 Xwindow standard
  • 1996 skapade, tillsammans med OSF, användargränssnittet CDE (Common Desktop Environment) och dess gränssnitt med Motiffs grafiska skal

SVID (System V Interface Definition)

Beskriver de externa gränssnitten för UNIX-versioner av System V. Förutom SVID släpptes SVVS (System V Verification Suite) - en uppsättning textprogram som låter dig avgöra om ett system uppfyller SVID-standarden och om det är värt som bär det stolta namnet System V.

Kända versioner av UNIX

  • IBM AIX baserad på SVR2 med många funktioner i SVR4, BSD, OSF/1
  • HP-UX version av HP
  • IRIX-version av Silicon Graphics, liknande SVR4
  • Digital UNIX-version av DEC baserad på OSF/1
  • SCO UNIX (1988) ett av de första UNIX-systemen för PC utvecklat baserat på SVR3.2
  • Solaris-version av UNIX SVR4 från Sun Microsystems

UNIX operativsystem

Officiellt födelsedatum för operativsystemet UNIX betraktas den 1 januari 1970. Det är från detta ögonblick som alla UNIX-system räknar sin systemtid. Detta är väldigt lång tid för ett operativsystem. Idag, trots framväxten av många andra operativsystem byggda på olika principer, intar UNIX sin plats bland de ledande.

De viktigaste egenskaperna hos UNIX, som gör att vi kan förstå orsakerna till detta systems livslängd, inkluderar följande.

Systemkoden är skriven i SI-språk på hög nivå, vilket gör det enkelt att förstå, ändra och porta till andra hårdvaruplattformar.

Trots mångfalden av UNIX-versioner är hela familjen baserad på en i grunden identisk arkitektur och ett antal standardgränssnitt.

UNIX har en enkel men kraftfull uppsättning standardanvändargränssnitt.

UNIX Unified File System Interface ger åtkomst inte bara till data lagrade på diskar, utan också till terminaler, skrivare, magnetband, CD-skivor, nätverk och till och med minne.

Ett stort antal olika applikationer har utvecklats för UNIX-systemet – från de enklaste textredigerare till kraftfulla databashanteringssystem.

I allmän syn UNIX-operativsystemet kan representeras av en tvåskiktsmodell, som visas i fig. 8.1
.

I centrum är systemkärnan. Kärnan interagerar direkt med datorns hårdvara och isolerar applikationsprogram från funktionerna i dess arkitektur. Kärnan inkluderar program som implementerar en uppsättning tjänster som tillhandahålls till applikationsprogram. Kärntjänster inkluderar I/O-operationer, processskapande och -hantering, processsynkronisering, etc. Nästa nivå i modellen är systemtjänster som tillhandahåller användargränssnittet för UNIX OS. Schemat för interaktion med kärnan för både applikationer och systemuppgifter är detsamma.

UNIX-operativsystemfunktioner

UNIX-operativsystemet interagerar med datorns hård- och mjukvaruresurser för att utföra följande funktioner:

    hantering av utrustning;

    resurshantering;

    systemövervakning;

Utrustningshantering

Applikationsprogram har inte möjlighet att styra datorhårdvara direkt. Endast operativsystemet utför maskinvaruhanteringsfunktioner, vilket ger applikationer och andra program åtkomst kringutrustning(detta eliminerar behovet av att känna till detaljerna för att hantera en sådan enhet). Konceptet med programoberoende från en specifik hårdvaruimplementering, inbäddad i operativsystemet, är en av de viktiga delarna för att säkerställa portabiliteten för UNIX-operativsystemet, vilket gör att det kan användas i stor utsträckning i en mängd olika hårdvarukonfigurationer.

Resurshantering

UNIX OS hanterar fördelningen av datorresurser mellan många användare som utför många uppgifter samtidigt, ofta arbetar med olika objekt, stöder multitasking och multi-användardriftslägen. Multitasking tillåter en användare att köra flera program samtidigt, medan CPU och RAM delas mellan flera processer.

Fleranvändarläge tillåter flera användare att arbeta samtidigt genom att dela datorresurser, inklusive dyra kringutrustning som skrivare eller plottrar. Detta driftsätt visar sig vara mer kostnadseffektivt än att kombinera flera maskiner med en användare var.

Stöd för användargränssnitt

Detta är ett sätt att tillhandahålla interaktiv (tillhandahålla dialog) interaktion mellan användare och ett datorsystem.

Moderna versioner av UNIX-operativsystemet stöder flera gränssnittstyper: kommandorad, meny och grafiskt användargränssnitt.

Kommandorad vanligtvis bekvämt för användare som är bekanta med funktionerna och lag system. När du arbetar med den här typen av gränssnitt anger användaren vid "prompten" (standard för användaren är ett dollartecken) varje kommando från tangentbordet. Detta gränssnitt ger ingen översikt över systemet, men låter dig utföra vilket kommando som helst på systemet. Program som tillhandahåller ett sådant gränssnitt kallas kommandoskal(skal). Det finns många kommandoskal: Bourne-skal (sh), Bourne Again-skal (bash), Korn-skal (ksh), C-skal (csh), Debian Almquist-skal (streck), Zsh, etc. Det vanligaste är bash.

Används vanligtvis av nybörjare eller användare som behöver göra vissa installationer i operativsystemet. Ofta fungerar ett sådant gränssnitt som en guide: det låter användaren välja en funktion från en lista (meny) som kommer att utföras av systemet. Vanligtvis är menyer organiserade som skiktad text, vilket ger användaren flera valmöjligheter. Ett exempel på ett sådant gränssnitt är sysadm-programmet, som hjälper systemadministratören att utföra arbete med att konfigurera och konfigurera systemet.

Grafiskt användargränssnitt riktar sig till både nybörjare och avancerade användare. Det ger flera sätt att interagera med datorn: översikt över systemobjekt avbildade av ikoner, exekvering av kommandon genom att välja en grafisk bild (ikon) på skärmen med hjälp av en "mus" eller en spårbollsenhet. UNIX OS tillhandahåller X.desktop som ett grafiskt användargränssnitt för att arbeta med speciella X-terminaler, eller X Window-systemet för att arbeta med vanliga grafiska terminaler.

säkerhet Fjärranslutning V datornätverk

UNIX OS ger användare tillgång till resurser från andra datorer som körs i datornätverk. Operativsystemet innehåller en uppsättning nätverksapplikationer som låter dig upprätta en anslutning till en fjärrdator, registrera dig i ett fjärrsystem, överföra data mellan nätverksdatorer och använda e-post. UNIX stöder nätverk NFS filsystem (Nätverksfil System), som låter dig använda operativsystemkommandon för att komma åt filsystemet på en fjärrdator.

Komponenter i UNIX-operativsystemet

Som nämnts ovan är ett operativsystem en uppsättning program som tillhandahåller funktioner för att hantera processer i systemet och implementerar gränssnittet mellan användare och systemhårdvara. UNIX-systemet innehåller tre huvudkomponenter: kommandosystem, skal och kärna.

Operativsystemet UNIX innehåller flera hundra kommandon som utför uppgifter att organisera och bearbeta data och hantera användarens miljö. Kommandona i sig är program som utför specifika funktioner, vanligtvis kräver minimal inmatning, och exekveras relativt snabbt. De flesta av dem är tillgängliga för alla användare, men det finns kommandon som endast är tillgängliga för systemadministratören, som är en privilegierad användare. Vissa kommandon som tillåter interaktiv inmatning av information när de körs kallas ibland verktyg. Exempel på verktyg är textredigeraren vi och kommandot mail för att hantera e-post.

Skal. Skal kallas vanligtvis för interaktiva program som tillhandahåller ett användargränssnitt till operativsystemets kärna. Skalet blir användarens aktiva process från det att han loggar in på systemet tills han loggar ut. Dessa program är kommandotolkare (kallas ibland kommandoprocessorer).

Som nämnts ovan använder UNIX-operativsystemet vanligtvis flera skal.

Begränsade skal (rsh och ksh är delmängder av Bourne-skalet och Korn-skalet) är designade för användare som behöver begränsa åtkomsten till systemet.

Kärna. Systemkärnan är kärnan i operativsystemet, som tillhandahåller grundläggande funktioner: skapa och hantera processer, allokera minne och ge tillgång till filer och kringutrustning.

Interaktion mellan applikationsuppgifter och kärnan sker via ett standardgränssnitt för systemanrop. Systemanropsgränssnittet definierar formatet för förfrågningar för grundläggande tjänster. En process begär en grundläggande kärnfunktion genom ett systemanrop till en specifik kärnprocedur. Kärnan exekverar begäran och returnerar nödvändig data till processen.

Kärnan består av tre huvuddelsystem:

    1) delsystem för process- och minneshantering;

    2) fildelsystem;

    3) in-/utgångsundersystem.

Uppträder följande funktioner:

    skapa och ta bort processer;

    fördelning av systemresurser mellan processer;

    processsynkronisering;

    interaktion mellan processer.

En speciell kärnfunktion utförd av processschemaläggaren (schemaläggaren) löser konflikter mellan processer i konkurrens om systemresurser.

Ger minnesallokering mellan processer. Om det inte finns tillräckligt med minne för alla processer, flyttar kärnan delar av processen eller flera processer (vanligtvis passiva, väntar på vissa händelser i systemet) till ett speciellt område på disken (”swap”-området ), frigör resurser för att köra (aktiva) processer.

Fildelsystem ger ett enhetligt gränssnitt för åtkomst till data som finns på diskenheter och kringutrustning. Den utför filplacering och radering, utför fildataskrivning/läsoperationer och kontrollerar även filåtkomsträttigheter.

Utför förfrågningar från filundersystemet och processkontrollundersystemet för att komma åt kringutrustning. Den interagerar med drivrutiner - specialprogram kärnor som betjänar externa enheter.

UNIX-systemåtkomst

För att etablera kontakt med ett UNIX-system måste du måste ha:

    terminal;

Att få ett registreringsnamn

Registreringsnamnär det namn som UNIX-systemet använder för att kontrollera om du är en auktoriserad användare av systemet när du begär åtkomst till det.

Du måste ange ditt inloggningsnamn varje gång du vill logga in.

Det finns flera regler för val av registreringsnamn. Namnets längd är vanligtvis mellan 3 och 8 tecken. Den kan bestå av stora eller små bokstäver, siffror och understreck, men kan inte börja med en siffra.

Ditt registreringsnamn kan dock vara specifikt för din ansökan. Exempel på giltiga namn:

Kommunikation med ett UNIX-system

Om UNIX är installerat på en persondator kan du logga in direkt på den med en textbaserad virtuell konsol. Men andra åtkomstalternativ är också möjliga.

Låt oss anta att terminalen är ansluten direkt eller via en telefonlinje till en dator. Även om det här avsnittet beskriver en typisk inloggningsprocedur, kanske dessa instruktioner inte gäller ditt system eftersom... Det finns flera sätt att logga in på ett UNIX-system via en telefonlinje.

För att kommunicera med systemet måste du slå på terminalen.

Om den är direkt ansluten till datorn visas en prompt omedelbart i det övre vänstra hörnet:

Om en persondator som är konfigurerad för att fungera på ett nätverk med hjälp av TCP/IP-protokollfamiljen används som terminal, är det nödvändigt att upprätta en anslutning till en dator där UNIX OS är installerat. Detta kan göras på flera sätt, till exempel med hjälp av telnet-nätverksapplikationen som finns i Windows operativsystem eller med hjälp av Internetåtkomstverktyg. Observera att detta är ett osäkert protokoll som praktiskt taget inte längre används idag. Ett modernt alternativ är Secure Shell (SSH).

Exempel.

En persondator med Windows NT OS konfigurerat för nätverksdrift används som terminal. Du måste registrera dig i ett UNIX-system.

Nödvändiga uppgifter och åtgärder:

    för att upprätta en anslutning till UNIX OS måste du känna till nätverksnamnet på fjärrdatorn eller dess IP-adress (till exempel 192.168.2.19);

    hitta telnet-applikationen på din persondator och starta den;

    i applikationsfönstret som öppnas, välj menyalternativet Anslutning;

    ange IP-adressen för det fjärranslutna UNIX-systemet (till exempel 192.168.2.19);

    ställ in terminalens egenskaper enligt önskemål.

Registreringsförfarande

När login:-prompten visas anger du ditt inloggningsnamn och trycker på . Om ditt inloggningsnamn till exempel är all30123 , skulle inloggningssträngen se ut så här:

    inloggning: all30123

Om du gör ett misstag när du anger ditt inloggningsnamn kan du korrigera det genom att använda symbolen @ eller knappen .

Kom ihåg att skiftläge för de tecken du anger är viktigt. Namnen all30123 och ALL30123 tillhör två olika användare.

Systemet uppmanar dig nu att ange ditt lösenord. Ange ditt lösenord och tryck på knappen . Om du gör ett misstag när du går in kan du korrigera det med knappen eller @-symbolen. UNIX visar inte ditt lösenord på skärmen av säkerhetsskäl.

Om inloggningsnamnet och lösenordet är giltiga på ett UNIX-system kan systemet visa aktuell information och sedan en kommandotolk.

När du loggar in kommer din terminalskärm att se ut så här:

    inloggning: all30123

Om du gör ett misstag när du loggar in kommer UNIX att visa ett meddelande:

    felaktig inloggning

Det ger dig då en andra chans att logga in med en login: prompt. Skärmen kommer att se ut så här:

    inloggning: all30123

Om du aldrig har loggat in på ett UNIX-system kan din inloggningsprocedure skilja sig från den som beskrivs ovan. Detta kan hända om systemadministratören har en procedur för att tilldela tillfälliga lösenord till nya användare. Om du har ett tillfälligt lösenord kommer systemet att tvinga dig att välja ett nytt lösenord innan du tillåter dig att registrera dig.

Genom att tvinga dig att välja ett nytt lösenord enbart för ditt bruk ger systemet större säkerhet.

Inloggningsförfarande:

    Du tar kontakt; UNIX-system visar login:-prompten. Ange ditt inloggningsnamn och tryck på knappen .

    UNIX-system visar ett lösenord: prompt. Ange ditt tillfälliga lösenord och tryck på knappen .

    Systemet kommer att informera dig om att ditt tillfälliga lösenord inte längre är giltigt och uppmanar dig att välja ett nytt lösenord.

    Systemet kommer att uppmana dig att ange din Gammalt lösenord. Ange ett tillfälligt lösenord.

    Systemet kommer att uppmana dig att ange ditt nya lösenord. Ange ditt valda lösenord.

Lösenordet måste matcha följande krav:

    Varje lösenord måste innehålla minst, med 6 tecken;

    Varje lösenord måste innehålla minst 2 alfabetiska tecken och en siffra eller ett specialtecken. Ett alfabetiskt tecken kan skrivas med stora eller små bokstäver;

    Varje lösenord måste skilja sig från ditt inloggningsnamn. Versaler och deras motsvarande små bokstäver är likvärdiga;

    Det nya lösenordet måste skilja sig från det gamla med minst tre tecken.

Exempel på giltiga lösenord:

För att kontrollera ber systemet dig att ange ditt lösenord igen. Ange ditt lösenord igen.

Om du anger ett nytt lösenord en andra gång annorlunda än första gången, kommer systemet att informera dig om att lösenorden inte stämmer överens och kommer att uppmana dig att upprepa registreringsproceduren igen. När lösenorden matchar kommer systemet att visa en ledtråd.

Följande skärm visar den beskrivna proceduren:

    inloggning: dko30123

    Lösenord:

    ditt lösenord har gått ut

    Välj en ny

    Gammalt lösenord:

    Nytt lösenord:

    Ange nytt lösenord igen:

Användaridentifikation

När en systemadministratör registrerar en användare på systemet kopplas två identifieringskomponenter till inloggningsnamnet: användar ID(användar-ID - UID) och grupp-id som den tillhör (grupp-ID - GID).

Användarnamnet är kopplat till ett unikt nummer. Systemet använder det som ett verktyg i olika UNIX-säkerhetsmekanismer, som att skydda filer eller utföra privilegierade kommandon.

Alla UNIX OS har en speciell superanvändare med UID = 0, som vanligtvis är associerad med namnroten. Detta innebär att användaren har alla systembehörigheter.

Gruppnamnet är också associerat med ett nummer, vilket vanligtvis hänvisar till en grupp användare som förenas av gemensamma uppgifter, till exempel avdelningsanställda, studenter i samma ström, etc. Detta nummer används också av säkerhetsmekanismer i systemet. Om användaren måste arbeta med data från andra grupper associeras denna identifierare med namnen på de andra grupperna.

All registreringsinformation om systemanvändare lagras i filen /etc/passwd.

I moderna versioner UNIX OS-krypterade lösenord och relaterad systeminformation lagras i filen /etc/shadow, vars struktur och syfte för fälten presenteras i fig. 8.2
.

Dataposter för varje etablerad grupp finns i filen /etc/group, vars struktur och syfte för fälten presenteras i fig. 8.3 .

Strukturen och syftet med fälten i filen /etc/passwd visas i fig. 8.4
.

Inmatningskonventioner

När du interagerar med ett UNIX-system måste du vara medveten om indatakonventioner. UNIX-systemet kräver att du anger kommandon med små bokstäver (med undantag för vissa kommandon som har stora bokstäver). Andra konventioner låter dig utföra uppgifter, som att radera bokstäver eller radera en rad, genom att trycka på en eller två tangenter.

Tabell 8.1.
Ingångsavtal

Nyckel

Fungera

Systemkommandotolken (ber dig ange ditt kommando)

eller<^h>

Radera tecken

Stoppa exekvering av ett program eller kommando

Ta bort den aktuella kommandoraden

När det används med en annan symbol betyder det att utföra en speciell funktion (kallad en kodväxlingssekvens). När det används i vi-redigerarens redigeringsläge betyder det slutet på textinmatningsläget och återgå till kommandoläge

Betecknar slutet på inmatningsraden och placerar markören på ny linje

Sluta logga in eller ut (stäng av)

Gå tillbaka ett tecken (för terminaler som inte har en nyckel )

Stoppa skärmutgången tillfälligt

Fortsätt visa information som slutat använda<^s>

Notera. I tabell 2.1 ^ symbol betyder kontrolltecken . Det vill säga, i det här fallet måste du trycka på två tangenter samtidigt: kontrollteckenstangenten och den angivna bokstaven.

Kommandotips

Den vanliga kommandoraden för en användare på ett UNIX-system är dollartecknet $. För root-användaren - #. När en prompt visas på din terminalskärm betyder det att UNIX-systemet väntar på instruktioner från dig. Det lämpliga svaret på en uppmaning från din sida är att utfärda ett kommando följt av en knapptryckning .

Rättar inmatningsfel

Det finns flera sätt att korrigera inmatningsfel. @-symbolen raderar den aktuella raden och knapparna Och<^h>raderar det senast angivna tecknet. Dessa tangenter och tecken är standardvärden. Funktionerna de utför kan omtilldelas till andra tangenter.

Stoppar körning av kommando

För att stoppa de flesta kommandon från att köras, tryck helt enkelt på kortkommandot . UNIX-systemet kommer att stoppa programmet och visa en uppmaning på skärmen. Denna prompt fungerar som en signal om att det senaste kommandot som körs har stoppats och att systemet är redo att ta emot nästa kommando.

När en prompt visas på skärmen har UNIX-systemet identifierat dig som en auktoriserad användare och väntar på att du ska ange ett kommando.

I allmänhet kommandorad har följande struktur:

    namn [alternativ] [argument]

Kommandonamnet, alternativen och argumenten måste separeras med ett mellanslag eller en tabb. Bearbetning av kommandoraden av tolken börjar först efter att ha tryckt på en tangent .

I följande beskrivning av kommandonas funktioner antas det:

Alternativ (parametrar):

    är ett tecken på kommandomodifiering och består som regel av ett tecken; stora och små bokstäver betyder olika modifieringar;

    som regel börjar de med en "-" ("minus") symbol, som inte är separerad av ett mellanslag från andra tecken;

    kan kombineras på vilket sätt som helst, men minustecknet kan bara användas en gång.

Argumenten anger de objekt som ska bearbetas av kommandot, till exempel:

    filnamn;

    processnummer;

Om du vet vad det anropade programmet ska göra, men inte är säker på rätt syntax, kan du ange alternativet --help på kommandoraden efter kommandonamnet:

    $cal --hjälp

För att kunna få detaljerad information har UNIX OS en inbyggd manual (on-line), åtkomst till den tillhandahålls av mannen och apropos kommandon.

I det enklaste fallet, för att få information om ett kommando, måste du ange dess namn som ett argument till kommandot man:

    man kommandonamn

apropos visar en lista med kommandon enligt nyckelord(mönster) anges som ett kommandoargument:

    apropos mall

Exempel.

Om du kör datumkommandot och trycker på knappen , kommer UNIX-systemet att anropa ett program som heter date , köra det och visa resultatet på skärmen:

    $datum

    Tis 18 september 14:49:07 2000

Datumkommandot visar datum och tid.

Om du kör vem-kommandot och trycker på knappen , då kommer skärmen att se ut så här:

    $ WHO

    dko30024

    18 okt 8:30

    dko30001

    18 okt 8:34

    dko30020

    18 okt 8:32

    18 okt 8:00

som listar inloggningsnamnen för de användare som för närvarande körs på ditt system. tty-beteckningen (andra kolumnen) hänvisar till specialfiler som motsvarar varje användarterminal. Den tredje och fjärde kolumnen anger datum och tid för registrering av varje användare. .

Det betyder att du har slutfört ditt arbete med systemet och det är redo att registrera en ny användare.

Om du loggade in från en fjärrterminal kommer anslutningen att kopplas bort, vilket meddelas dig till exempel av telnet-applikationen.

Notera. Innan du kopplar bort terminalen, se till att stänga av systemet.

Huvudslutsatser

    UNIX är ett multitasking-system för flera användare. En kraftfull server kan betjäna förfrågningar från ett stort antal användare. Systemet kan utföra en mängd olika funktioner: arbeta som en datorserver som betjänar hundratals användare, som en databasserver, som en nätverksserver eller nätverksrouter.

    I allmänhet kan UNIX-operativsystemet representeras som en tvåskiktsmodell. I mitten finns systemkärnan (kärnan). Kärnan interagerar direkt med datorns hårdvara och isolerar applikationsprogram från funktionerna i dess arkitektur. Kärnan inkluderar program som implementerar en uppsättning tjänster som tillhandahålls till applikationsprogram. Kärntjänster inkluderar I/O-operationer, processskapande och -hantering, processsynkronisering, etc. Nästa nivå i modellen är systemtjänster som tillhandahåller användargränssnittet för UNIX OS. Schemat för interaktion med kärnan för både applikationer och systemuppgifter är detsamma.

    UNIX-operativsystemet interagerar med datorns hård- och mjukvaruresurser för att utföra följande funktioner:

    • hantering av utrustning;

      resurshantering;

      stöd för användargränssnitt;

      utföra informationsinmatning och -utmatning;

      systemövervakning;

      tillhandahållande av fjärråtkomst till ett datornätverk.

    Ett UNIX-system innehåller tre huvudkomponenter: kommandosystemet, skalet och kärnan.

    Operativsystemet UNIX innehåller flera hundra kommandon som utför uppgifter att organisera och bearbeta data och hantera användarens miljö. Kommandona i sig är små program som utför specifika funktioner, vanligtvis kräver minimal inmatning, och exekveras relativt snabbt.

    Skal kallas vanligtvis för interaktiva program som tillhandahåller ett användargränssnitt till operativsystemets kärna. Skalet blir användarens aktiva process från det att han loggar in på systemet tills han loggar ut. Dessa program är kommandotolkare (kallas ibland kommandoprocessorer).

    Systemkärnan är kärnan i operativsystemet, som tillhandahåller grundläggande funktioner: skapa och hantera processer, allokera minne och ge tillgång till filer och kringutrustning.

    Kärnan består av tre huvuddelsystem:

    • undersystem för process- och minneshantering;

      fildelsystem;

      input/output delsystem.

    För att etablera kontakt med ett UNIX-system behöver du:

    • terminal;

      ett inloggningsnamn som identifierar dig som en auktoriserad användare;

      ett lösenord som verifierar din identitet;

      instruktioner för dialog och åtkomst till UNIX-systemet om din terminal inte är direkt ansluten till datorn.

Kontrollfrågor

    Vilka problem är UNIX-operativsystemklassen utformad för att lösa?

    Vilka funktioner bör ett operativsystem av UNIX-klass tillhandahålla?

    Vilka är uppgifterna för UNIX OS-kärnan?

    Vilka funktioner har UNIX OS-kärnan?

    Vad är syftet med kommandosystemkomponenten i operativsystemet?

    Kan vi säga att skalet ger användaren ett interaktivt gränssnitt för att interagera med operativsystemet?

    Hur utförs användarautentisering i UNIX?

Transkript

1 Inledning Kursen "UNIX OS Fundamentals" är avsedd för studenter inledande kurser fakulteter som är intresserade av att utbilda mjukvaruutvecklare på en eller annan nivå. En obligatorisk förkurs för UNIX OS är en introduktionskurs i programmering i C-språket, som grundkurs, samt en kurs i grunderna i datorarkitektur. Kursstrukturen erbjuder 13 föreläsningar och tillhörande laborationer för att hjälpa dig förstå generella principer hur ett UNIX-operativsystem fungerar. Föreläsningsmaterialet presenteras i abstrakt form, vilket ger en större grad av frihet för djupgående presentation av ämnen i föreläsningsmaterialet. Dessutom kan längden på vissa föreläsningar variera från 2 till 6 timmar vid behov. Laboratoriekurser kräver inte användning av ett specialiserat laboratorium eller en specifik UNIX/Linux-klon och kan utföras på elevernas persondatorer med hjälp av alla tillgängliga UNIX-, Solaris-, Linux-, FreeBSD-, Mac OS X-program, förutsatt att lämpligt paket installeras från arkiven för utvecklare. I praktiken användes vanligtvis fjärråtkomst till en Linux-server via SSH-protokollet Windows-arbetare stationer och PuTTY 1 som en SSH-klient. Observera, slutligen, att alla uppgifter utförs i skal (bash) kommandotolken och de olika befintliga X Window (X11) gränssnitten (CDE, GNOME, KDE, Xfwm, Xfce eller wmii, etc.) diskuteras inte här, vilket tillåter dig att använda lägsta konfigurationer kärnan och koncentrera dig på att lära dig OS-kärnan redan från början av kursen. Varför, trots allt, är Linux valt att representera grunderna i operativsystem, och inte till exempel Microsoft Windows? Det finns flera anledningar: öppen källa Linux, UNIX-ideologin inbäddad i den, de viktigaste OS-idéerna implementerade i UNIX/Linux används också i Microsoft Windows: multitasking, hierarkisk filsystem, fleranvändarsystem, virtuellt minne, inbyggt nätverksstack, multithreading och, viktigast av allt, Linux-kärnan väljs i allt högre grad för att bygga datorsystem på olika nivåer från distribuerade och molnservrar i ett företagssystem till mobila och inbäddade i kontrollchips av system. 1 Vlasov S.V Fakulteten för datavetenskap VSU, Voronezh 1

2 Föreläsning 1. Grundläggande begrepp. Ett operativsystem är en mjukvaruprodukt utformad för att hantera datorresurser: hårdvara, data, program och processer. En obligatorisk komponent i operativsystemet är kärnan; alla andra komponenter är applikationer som läggs till i operativsystemet vid behov. Till exempel, när de säger: " Linux-versioner..." menar de kärnan, men med GNU/Linux menar de en klon med en specifik kärna och en uppsättning applikationer (Debian, Red Hat, Susse, etc.) OS-kärnan är en obligatorisk komponent i operativsystemet som tillhandahåller datastrukturer och program och processer, samt hårdvaruberoende kod som är nödvändig för att hantera datorresurser. Det finns olika principer för att konstruera en kärna: en monolitisk kärna (Linux) eller en mikrokärna (t.ex. Minix). Kärnan kan anpassas genom att lägga till eller ta bort vissa komponenter (moduler, drivrutiner). Fil specifik sekvens byte. I UNIX representeras nästan allt som en fil. I det här fallet urskiljs endast 7 typer av filer (motsvarande symbol anges inom parentes: i utgången av kommandot ls -l) vanliga filer (-) specialfiler: katalog, (d) symbolisk länk, (l) namngiven pipe, (p) teckenanordning, (c) blockera enheten, (b) UNIX-uttag. (s) Att känna igen och bearbeta den interna strukturen för en fil är ansvaret för den applikation för vilken filen var avsedd eller skapad. Ett hierarkiskt filsystem är en abstraktion för att representera ordningen av filer som ett träd av kataloger. Trädets rot är en katalog som heter "/", som kallas rotfilsystemet (inte att förväxla med /root). Det speciella med Linux hierarkiska filsystem är att det är virtuellt, i den meningen att vilken nod som helst i en enda hierarki kan associeras med sitt eget filsystem av en viss typ (ext2fs, ext3fs, riserfs, vfat, etc.), belägen. på en separat enhet, partition eller direkt i minnet. Katalog i hierarkin som används i varje det här ögonblicket som standard kallas den aktuella arbetskatalogen. Du kan använda absoluta filnamn som börjar från roten /, eller relativa namn från den aktuella arbetskatalogen (tecknet "." - punkt) när den överordnade katalogen indikeras med ".." tecken (två punkter horisontellt utan mellanslag). Ett program är en fil som innehåller körbara instruktioner. En fil som innehåller den utskrivna texten av ett program på ett programmeringsspråk kallas en programkällmodul. Källkoden, skriven i ett skriptspråk (shell, perl, python, ruby, etc.) exekveras direkt av språktolken. Källor på andra språk (C, Fortran, etc.) måste kompileras för att konvertera källtexten till en körbar programmodul som innehåller processorinstruktioner i binärt format (som utvecklas från a.out och COFF till ELF). En process är ett program vid körning. Processer är också organiserade i en hierarki med relationer mellan föräldrar och barn. Alla processer i UNIX har en unik heltalsidentifierare (PID). Hierarkins rotprocess är process nummer 1, detta är init-processen, som skapas när operativsystemets kärna startar och skapar andra efterkommande processer. När operativsystemet körs kan alla processer utom init stoppas. Det finns också en dold process 0 - swap, som ansvarar för sökning av virtuellt minne. Inloggningsprocessen är moderprocessen för alla processer som genereras av användaren Vlasov S.V Fakulteten för datavetenskap VSU, Voronezh 2

3 system som körs i fleranvändarläge. Uppgiften med denna process är att kontrollera användarens säkerhetsattribut (inloggningsnamn och lösenord) och starta processen som tillhandahåller gränssnittet för interaktion mellan operativsystemet och användaren, vanligtvis en skal-kommandospråktolk. En skaltolk är ett program som är en del av ett specifikt operativsystem för att säkerställa användarinteraktion med operativsystemet. UNIX/Linux-system använder olika tolkar: bash, csh, tcsh, ksh, zsh och många andra. Bash är vanligtvis standardtolken på GNU/Linux-system. Tolken tillhandahåller en kommandorad för att starta standardkommandon och användarprogram. Vlasov S.V Fakulteten för datavetenskap VSU, Voronezh 3

4 Praktiska exempel. Logga in via SSH-klient (PuTTY) I MS Windows, välj Start->Kör och skriv in: X:/Putty/Putty.exe I fönstret Putty Configuration som öppnas anger du i fältet Host Name (eller IP-adress): www2 Klicka på Open kommer att leda till anslutning till www2-servern och ett inloggningsfönster visas där, när du först försöker ansluta till en Linux-server, visas ett PuTTY Security Alert-meddelande om frånvaron av en ny RSA-nyckel i registercachen; godkänn att inkludera nyckeln i cachen för en pålitlig anslutning till servern nu och i framtiden. Klicka på Ja. En inbjudan kommer att visas i DOS-fönstret Vlasov S.V FCS VSU, Voronezh 4

5 Logga in som: namn lösenord: där du anger ditt inloggningsnamn (istället för namn) och lösenord. Var försiktig när du anger ditt lösenord, eftersom knapparna du trycker på inte visas på något sätt när du anger, inte ens asterisker. Om allt är gjort korrekt, kommer du att se kommandoradsuppmaningen från shell 2-tolken i samma fönster: ~$ _ Nu kan du interagera med Linux OS genom kommandoradsgränssnittet. 3 I det följande kommer vi bara att använda symbolen $ för att indikera kommandoraden, även om du kan ha den föregås av sökvägen till den aktuella arbetskatalogen. Var är vi? (hemkatalog) Vid registrering i systemet tilldelas varje användare en säker hemkatalog för lagring av personliga filer. När du loggar in monterar inloggningsprocessen automatiskt din hemkatalog som den aktuella arbetskatalogen. De tre följande kommandona ska visa samma resultat, den fullständiga sökvägen till din hemkatalog. $ pwd $ echo ~ $ echo $HEM Vad har vi? (automatiskt genererade filer) Innehållet i den aktuella arbetskatalogen kan visas med kommandot: $ ls När du loggar in för första gången är denna lista vanligtvis tom. 4 Men när en användare registrerar sig skapas några dolda tjänstefiler i hans hemkatalog, som kan ändras av användaren själv för att konfigurera den önskade miljön. Omkopplaren -a i kommandot ls låter dig se allt i innehållslistan i den aktuella katalogen dolda filer, namngiven med prefixet "." (punkt) $ ls -a Denna lista innehåller förresten även de anonyma namnen på den aktuella katalogen "." och den överordnade katalogen "...". Genom att ge din egen fil ett namn med prefixet "." (prick) du gör den dold. Vilket system används? Funktioner och systemkonfigurationsalternativ beror på vilken OS-version du använder. För att få information om detta, använd kommandot $ uname -a Kort information om kommandots parametrar och nycklar kan erhållas med hjälp av hjälptangenten, till exempel, 2 Om du har problem med att ansluta till servern eller ange ditt namn och lösenord, du har bara ett alternativ, kontakta serverns systemadministratör . 3 $-symbolen före markören är ett kommandoradstecken och är standard för en normal användare i bash-kommandotolken. (#-symbolen används för root-superanvändaren) 4 Du kan ha en public_html-katalog som kan användas för att utbyta filer mellan Linux- och MS Windows-system tack vare motsvarande tjänst. Vlasov S.V Fakulteten för datavetenskap VSU, Voronezh 5

6 $ uname --help Detaljerad beskrivning UNIX-kommandon och -funktioner kan erhållas från dokumentationen som kallas man pages ("manual pages" - systemmanual): $ man pwd $ man ls $ man echo $ man uname Manuell sidor presenteras i ett speciellt format nroff /troff/groff och är formaterade när du matar ut lämpligt verktyg beroende på typen av utenhet. För att avsluta visningen av manualsidorna, tryck på Q-tangenten $ man man Manuella filer lagras vanligtvis i paketerad form (suffix.gz eller .bz2) och är organiserade i sektioner: 1. Allmänna kommandon 2. Systemanrop 3. C-biblioteksfunktioner 4 Specialfiler 5. Filformat och konvertering 6. Spel och skärmsläckare 7. Ytterligare 8. Kommandon och demoner för systemadministration Sektionsnumret används när man refererar till kommandot eller funktionen som används, till exempel printf/3 och indikeras med den första parametern för kommandot $ man 1 printf $ man 3 printf Katalogen i vilken kommandots manualsida finns kan bestämmas med kommandot -w $ man -w Hierarkiskt filsystem Kommandot ls kan användas för att lista innehållet i valfri katalog i filsystemhierarkin (oavsett den fysiska enheten och typen av filsystem på partitionen eller i minnet). Till exempel visas rotfilsystemet med kommandot $ ls / Men för att visa strukturen för hela trädet krävs en hel del uppfinningsrikedom, till exempel $ ls -R grep ":$" sed - e "s/:$//" -e "s/[^-][^\/]*\//--/g" -e "s/^/ /" -e "s/-/ /" där filtret används vanliga uttryck grep, sed-strömredigeraren och namnlösa pipes, betecknade med symbolen (pipe). I din hemkatalog kan du skapa en ny (tom) katalognod i hierarkin, till exempel lab1 Vlasov S.V Fakulteten för datavetenskap VSU, Voronezh 6

7 $ mkdir lab1 Vilken nod som helst i hierarkin kan väljas som den nuvarande $ cd lab1 $ pwd För att återgå till din hemkatalog (definierad av miljövariabeln HOME), använd kommandot cd utan parametrar $ cd $ pwd Du kan ta bort en tom katalog med kommandot rmdir, till exempel $ rmdir lab1 Om katalogen inte är tom, kommer det sista kommandot (om lab1 innehåller några filer) att visa meddelandena rmdir: lab1: Directory not tom och raderingen kommer inte att utföras. I den aktuella katalogen kan du till exempel skapa en textfil (vanlig). För att göra detta kan du använda den omdirigerade utmatningen av kommandot echo $ echo "echo Print directory tree " > tree En trädfil skapas, vars innehåll kan matas ut med kommandot $ cat tree eller i sidformaterad form $ pr tree Du kan till och med lägga till en ny rad i slutet av den befintliga filen, till exempel $ echo med grep och sed >> tree $ cat tree Du kan använda en radtextredigerare ed en standardredigerare utformad för att redigera text från en skrivmaskin- typ konsol. $ ed tree a ls -R grep ":$" sed -e "s/:$//" -e "s/[^-][^\/]*\//--/g" -e "s /^/ /" -e "s/-/ /". wq $ cat tree Faktum är att vi har skapat en fil med kommandon här, som kan köras som ett nytt kommando om du förklarar det "körbart": $ chmod +x tree $./tree Vlasov S.V Datavetenskapliga fakulteten VSU, Voronezh 7

8 Observera att ett försök att exekvera en fil utan att ange aktuell katalog, dvs. bara tree snarare än ./tree som visas ovan kommer inte att resultera i att filen hittas i den aktuella katalogen. Detta beror på att den anonyma aktuella katalogen av säkerhetsskäl inte ingår i variabeln miljö PATH, används för att hitta ett program att köra med namn. $ echo $PATH Full lista Användaren kan få miljövariabler och deras värden med kommandot: $ env To create textfiler du kan också använda cat-kommandot för att omdirigera utdata till en fil $ cat > filtext Ctrl-D Här, genom att trycka på Ctrl-D, skickas slutet av filen (EOF) tecknet END OF TRANSMISSION till indataströmmen. Du kan också lägga till text i slutet av filen $ cat >> fil tillagd text Ctrl-D För att skapa stora textfiler, till exempel med C-källor, använd kraftfulla textredigerare på skärmen som vi/vim, nano eller emacs. Att radera en fil görs med kommandot $ rm file.Bland annat låter växeln -r eller -R dig rekursivt ta bort ett underträd av kataloger. För att säkert ta bort filer rekommenderas det att använda switchen -i, som genererar en begäran om att bekräfta borttagningen. Flytta och byta namn på en fil utförs med kommandot Datum och tid $ mv gammal ny Aktuell systemtid och datum kan bestämmas med kommandot $ date För att ändra tid och/eller datum, använd en parameter i formatet MMDDhhmmYY. Till exempel, för ett jobb den 24 januari kl. 20:36 2011, skulle du ange $-datum. Observera också att tidskommandot som finns på UNIX-system visar tiden som används av följande process (realtid, körningstid för användarläge och kernel-mode time), inte den aktuella systemtiden. Prova Vlasov S.V FCS VSU, Voronezh 8

9 $ tid datum bör du få något i stil med följande utdata real user sys 0m0.040s 0m0.000s 0m0.040s Vem mer finns i systemet? UNIX OS är ett fleranvändarsystem som låter dig köra en inloggningsprocess samtidigt och tillåta flera användare att arbeta i systemet oberoende av varandra. För att avgöra vem som för närvarande är inloggad, använd kommandot $who, som visar användarens inloggningsnamn, terminal och tidpunkten då inloggningsprocessen initierades. I ett fleranvändarsystem kan samma användare använda flera olika terminaler samtidigt (till exempel flera parallella SSH-sessioner). För att avgöra vem som använder den aktuella terminalen kan du använda kommandot $ whoami Registrerade användare Så för att använda systemet måste du vara en registrerad användare. Registreringen utförs av systemadministratören med superanvändarrättigheter, som har ett standardnamn i UNIX/Linux-system - root. 5 Vanligtvis lagras alla registreringsposter om användare i en enda fil /etc/passwd, som är läsbar av alla $ cat /etc/passwd I tidigare versioner av systemet lagrades också användarens krypterade lösenord (hash) i samma fil (det andra fältet efter användarnamnet , avgränsat med ett kolon). Men i de senaste systemen Det är vanligt att lagra lösenordshashar i en annan fil /etc/shadow, som inte kan läsas av någon annan än root. Lösenordsfältet i filen /etc/passwd lagrar endast en dold länk till posten i /etc/shadow, så endast tecknet "*" visas. För att ändra det aktuella lösenordet på UNIX-system, använd kommandot $ passwd Ändra lösenord för namn. (nuvarande) UNIX-lösenord: nuvarande användarlösenord nytt UNIX zfyytsshchkv: nytt lösenord skriv nytt UNIX-lösenord: nytt lösenord (igen exakt samma som på föregående rad) passwd: lösenordet har uppdaterats framgångsrikt Om det finns ett fel, eller för enkelt lösenord meddelanden visas, till exempel, eller passwd: AutDÅLIGT LÖSENORD: det är för enkelt förenklat/systematiskt 5 Vanligtvis används inte rotnamnet för att logga in, istället skapar administratören en normal inloggning för sig själv, utan använder su kommando för att utföra operationer, som kräver superanvändarbehörighet. I Linux-system är en populär grupp privilegierade användare sudoers, som får rätten att utföra operationer med roträttigheter via sudo-kommandot Vlasov SV FCS VSU, Voronezh 9

10 I det här fallet måste du ange ett annat lösenord. Observera att passwd-processen körs i speciellt superanvändarläge och ignorerar SIGINT-signalen som skickas genom att trycka på tangenterna Ctrl-C, och kan därför inte avbrytas. Ett enkelt sätt att kommunicera Användare som samtidigt arbetar i systemet kan skicka korta meddelanden till varandra med kommandot $ skriv namn Användaren med angivet namn/terminal kommer omedelbart att få ett meddelande från ditt_namn på tty0 kl. 10:30.. och om du fortsätter att skriva på din terminal (här på tty0), kommer meddelandet omedelbart att visas rad för rad på terminalen för användaren med namnet som anges i kommandot. För att avsluta meddelandet måste du skriva Ctrl-D. Men om din motståndare inte vill ta emot några meddelanden, använder han kommandot $ mesg n för att inaktivera möjligheten att skicka/ta emot skrivmeddelanden. För att aktivera denna funktion måste användaren köra kommandot $ mesg y Om du behöver skicka ett meddelande till alla användare på systemet samtidigt (som har meddelanden aktiverade), kan du använda kommandot $ wall message upp till 20 rader Ctrl- D Logga ut sessionen $ logga ut Du kan också använda Ctrl-D eller $ exit. Logga ut kommandot kanske inte avslutar sessionen, men kommer att visa ett av två meddelanden eller Det finns stoppade jobb inte inloggningsskal: använd "exit" Det första meddelandet är en varning om att din session har startats och pausats (med SIGSTOP-signalen eller Ctrl-Z) uppgifter. Du har möjlighet att fortsätta utföra jobb (med jobb och fg-kommandon) tills de slutförs normalt. Men om du inte gör detta kommer avstängda jobb att avslutas (med en SIGTERM-signal) när utloggnings- eller Ctrl-D-kommandot körs igen. Det andra meddelandet betyder att du har skapat underordnade processer från skalet som startas av inloggningsprocessen och som kör den aktuella skalsessionen som inte är associerad med inloggningsprocessen. Vlasov S.V Fakulteten för datavetenskap VSU, Voronezh 10

11 Du måste utföra exit- eller Ctrl-D-kommandot i det aktuella skalet för att återgå till skalprocessen som skapades av inloggning. Slutsatser OS är ett komplext mjukvarusystem som består av delsystem för att hantera olika resurser Syftet med kursen är att studera huvuddragen i UNIX/Linux OS-kärnundersystemens funktion genom systemanropsgränssnittet. Vlasov S.V Fakulteten för datavetenskap VSU, Voronezh 11


UTBILDNINGSMINISTERIET OCH VETENSKAP AV RF FEDERAL STATE BUDGET UTBILDNINGSINSTITUTET FÖR HÖGRE YRKESUTBILDNING "Kama State Engineering and Economic Academy" LEDNING

6,31. Cyklar. Skift parametrar. för variabel i värden gör uttalanden för var1 i värde1 värde2 värde3 gör echo $var1 gjort för fil1 i $(ls *.sh); do echo $File1 >> All.txt gjort medan do condition

Informationsteknologi Föreläsning 3 1 Bash-skalet 2 Grunder Skal eller skal fungerar i textläge(kommandoradsgränssnitt) Grafiskt användargränssnitt (GUI) som arbetar i en grafisk

SHELL Definition: Shell [shell] tolk för operativsystemkommandon. Skal är indelade i två typer, beroende på organisationen av arbetet med användaren: - kommandoradstolk; - grafik

2 Navigering Det första vi kommer att försöka studera (efter provtryckningar) är navigering i filen Linux-system I det här kapitlet kommer vi att introducera följande kommandon: pwd visar namnet på den aktuella arbetaren

SibGUTI Institutionen för språkprogrammering på hög nivå (HLL), termin 1 2009 2010 läsåret Polyakov A.Yu. Laboratoriearbete 1. Linux OS programmeringsmiljö. Syfte med arbetet: Att bekanta sig med programvaran

Föreläsning 2. Delsystem för processkontroll. Att hantera processer i ett multitasking-system innebär att allokera kärnresurser för var och en pågående process, utföra processkontextväxling

MOSCOW STATE TECHNICAL UNIVERSITY uppkallad efter. N.E. BAUMAN Fakulteten för "Informatik och styrsystem" Institutionen för "Automatisk informationsbehandling och kontrollsystem" Syomkin P.S., Syomkin

Arbeta med GNU/Linux OS i terminalklasser vid Department of Armed Forces Syfte med arbetet: att bekanta sig med GNU/Linux OS-mjukvaran och skriva ett enkelt program på C-språk. Operativsystem (OS) GNU/Linux

BOINC system. Lektionen leds av: Nikolay Pavlovich Khrapov Institute of Information Transmission Problems RAS Praktisk lektion Grunderna i att arbeta med Linux OS Installera en BOINC-server Praktisk lektion Grunderna i arbetet

OS-komponenter Huvudkomponenter för OS 1. Processhantering 2. Huvudminneshantering 3. Filhantering 4. I/O-systemhantering 5. Extern minneshantering 6. Nätverksstöd

Introduktion till Linux-kommandoraden Hur man slutar oroa sig och älskar skalet Alexey Sergushichev Praktisk skola i bioinformatik MNL "Computer Technologies" 2014-02-19 Kommandorad Kommandorad

Linux operativsystem Föreläsning 6 Kommandoskalet (shell, bash) är ett kommandoradsgränssnitt i Unix-liknande operativsystem, det vill säga det kör kommandon som användaren utfärdar eller som läses

Laborationer 4 INTRODUKTION TILL PROCESSER Syfte med arbetet Att bekanta sig med begreppet process. Lär dig att få en lista över processer som är tillgängliga i systemet och hantera deras tillstånd. 1. Teoretisk information

Filnamnsmönster, filsökning och andra UNIX-funktioner Registrering i Linux Kör putty.exe Ange IP-adressen Klicka på Öppna Användarnamn studentx Lösenord studentx 2 Skapa en katalog

Innehåll Förord ​​6 Föreläsning 1. Arbetspass i Linux 8 1.1 Systemanvändare................................ 8 1.2 Registrering i systemet..................... 13 1.3 Samtidig åtkomst till systemet...................

Grunderna i UNIX-systemets stora värld beskrivs på ett tillgängligt sätt för den icke-professionella användaren. Användaren lär sig gradvis att logga in i systemet, använda olika kommandon, be om hjälp, hitta

Arbeta med mallar standarddokument Cognitive Technologies Användarhandbok Moskva, 2015 2 ABSTRAKT Detta dokument ger information om användningen av programvaran E1 Euphrates

Datavetenskap Informationsteknologi Föreläsning 1. Introduktion till Linux OS Huvudegenskaper Linux Real multitasking Fleranvändaråtkomst Byt random access minne till disksidan

Andra språk: Engelska Ryska iridium Server för Raspberry Pi Installera och konfigurera servern i i3 lite-projektet iridium Sever för Raspberry Pi är en mjukvaruimplementering av iridium Server som körs

FEDERAL BYRÅ FÖR UTBILDNING Tomsk Polytechnic University GODKÄNT av: Dekanus för AVTF Gaivoronsky S.A. 2009 ENKLA SKALVERKTYG Riktlinjer för att utföra laboratoriearbete

Lektion 3. Ämne: Konton i Linux. Typ av lektion: föreläsning, praktisk lektion. Studiefrågor: 1. Koncept för konto och autentisering. Filerna /etc/passwd och /etc/group, /etc/shadow och /etc/gshadow.

Sammanfattning av programmet för disciplinen "Operativsystem" 1. Mål för att bemästra disciplinen Målen för att bemästra disciplinen "Operativsystem" är: att utvecklas hos elever grundläggande kunskap, färdigheter och förmågor

Lab 2: Navigering filstruktur och dess underhåll med Xubuntu OS-terminalen Praktisk del II. Navigering genom filstrukturen och dess underhåll med OS-terminalen

Sida 1 av 7 Nyheter Teknisk utrustning för ett Linux-kluster Resursanvändningsstatistik Registrering på ett Linux-kluster Registrering på SPP-2000 AFS-filsystem Nätverkssäkerhetsproblem Bibliotek

Grundläggande begrepp och definitioner Operativsystem (nedan kallat OS) är ett mjukvarupaket som kontrollerar en dators funktion och säkerställer interaktionen mellan enheter som ingår i den

Kapitel 1 Välja ett operativsystem Det faktum att du läser den här boken betyder att du vill lära dig Linux. Innan du börjar denna resa måste du förstå vad ett operativsystem är

Praktiskt arbete 10 Arbeta med filer i LINUX Syfte med arbetet: att studera funktionerna i att arbeta med filer i operativsystemet Linux. Arbetsplan: 1. Bekanta dig med kort teoretisk information.

GODKÄNT AV -LU INFORMATIONSSKYDDSSYSTEM MOT OBEHÖRIG ÅTKOMST Dallas Lock Linux Operatör (användar) Manual Sheets 11 2016 2 Sammanfattning Denna bruksanvisning är distribuerad

Informationsteknik Föreläsning 2 Linuxkommandon 2 Kommandon Linux-kommandon Linux-konsoler - interaktion mellan användaren och operativsystemet Utförs via kommandoraden genom att manuellt ange Bakom varje kommando

Program- och hårdvarukomplex av pålitlig nedladdning "Blokhost-MDZ" Installationsguide för mjukvarupaketet "Blokhost-MDZ". Installationsguide. Sida 2 Sammanfattning Dokumentet beskriver installationen

Multifunktionellt hård- och mjukvarukomplex för tillhandahållande av kommunikationstjänster "IS RINO" Grundläggande programvara Hanteringsserver INNEHÅLL 1 INTRODUKTION... 3 2 PROGRAMVARANS SAMMANSÄTTNING... 3 3 INSTALLATION AV SERVERN...

Rutoken inloggning. Administrator's Guide 2018 Aktiv Company I detta dokument Detta dokument innehåller svar på följande frågor: Vad används programvaran Rutoken Logon till? (se sidan

Lektionens innehåll Terminologi Verktyg för fjärråtkomst Logga in 1 Användare (användare) användare, konto(konto). Ett objekt för att registrera systemåtgärder. Inloggning 1. Användarnamn/konto

Uppgifter Del 1: Köra FTP från kommandoraden Del 2: Ladda upp en FTP-fil med WS_FTP LE-klienten Del 3: Köra FTP i en webbläsaringång/skript FTP (File Transfer Protocol) som ingår i satsen

De allmänna principerna för organisation, sammansättning, struktur för operativsystem och deras skal, samt ett antal specifika system beaktas. Stor uppmärksamhet ägnas åt problemen med informations- och processhantering

Och sätta upp ett nätverksoperativsystem FreeBSD FreeBSD FreeBSD är ett modernt operativsystem för servrar, stationära datorer och inbäddade datorplattformar. FreeBSD tillhandahåller modernt nätverk

LLC "Company "ALS and TEK" Programvara i ALS-24000 switchfamiljen, ver. 6.01 Installationsguideblad 13 2017 2 1. ALLMÄN INFORMATION 3 1.1. Syfte och omfattning 3 2. DATORKRAV

IV. METODOLOGISKA INSTRUKTIONER FÖR ORGANISERING AV SJÄLVSTÄNDIGT ARBETE AV STUDENTER UNDER DU STUDERAR DISCIPLINEN "OPERATIVSYSTEM" Namn på disciplinen avsnitt 1. Utveckling av operativsystem. Syfte

Operativsystem Operativsystemet är det viktigaste programmet Operativsystemet är en uppsättning program som säkerställer samverkan mellan all hårdvara och mjukvarudelar datorer mellan varandra och

4 Laboratoriearbete 1. Installation och konfiguration av operativsystemet på en virtuell maskin 1.1. Syfte med arbetet Syftet med detta arbete är att förvärva praktiska färdigheter i att installera ett operativsystem

Federal State Budgetary Educational Institute of Higher Professional Education "National Research Tomsk Polytechnic University" GODKÄNT av: Head of Education

Laboratoriearbete 1. Navigering genom filstrukturen och dess underhåll med hjälp av Windows kommandoradstolk Teoretisk del. Directory är en speciell typ av fil som innehåller namnen på underkataloger

operativ system programvara Operativsystemet är det viktigaste programmet. Operativsystemet är en uppsättning program som säkerställer samverkan mellan alla hårdvaru- och mjukvarudelar.

Licens- och skyddssystem för plattformskonfigurationer 1C:Enterprise 8, version 3.0 Administratörsguide Operativsystem som stöds... 1 Systemsammansättning... 1 SLK Server... 1 Extern komponent...

Introduktion Arbeta med operativsystemet GNU/Linux För närvarande är huvudgränssnittet mellan användaren och skrivbordsoperativsystemet det grafiska användargränssnittet (Graphic User Interface).

PRAKTISKT ARBETE 2 Kommandorads-OS Windows Syfte med arbetet: att studera kommandoradsgränssnittet i Windows OS, skaffa färdigheter i att lösa typiska uppgifter för att administrera Windows-operativsystemet med

Laboratoriearbete 2 Hantera filer i operativsystemet Mål och mål med laborationer: skaffa färdigheter i att arbeta med ett operativsystem som Linux; lära sig grunderna i operationssalshantering

ANSLUTNINGSHANTARE FÖR VIRTUELLA ARBETSSTATIONER TERMIDESK ADMINISTRATORS HANDBOK (förbereder en grundläggande arbetsstation) 23811505.6200.001.I5.01-2 Blad 17 MOSKVA 2018 1 INNEHÅLL 1 INTRODUKTION...4 1.

Federal State Budgetary Institution of Higher Professional Education "SibGUTI" Institutionen för datorsystemdiscipliner "PROGRAMMERINGSSPRÅK" "PROGRAMMERING" Praktisk lektion 55 OS GNU/Linux Lärare: Docent vid Institutionen för datavetenskap, Ph.D. Polyakov Artem Yurievich

Bilaga ARBETSPROGRAM FÖR DEN AKADEMISKA DISCIPINENS OPERATIVSYSTEM OCH MILJÖR Arbetsprogram akademisk disciplin Operativsystem och miljöer utvecklade på basis av Federal State Educational

2.1. Filer. Krav på informationslagring: förmågan att lagra stora mängder data; information måste behållas efter att processen avslutats; flera processer måste ha samtidiga

Programmeringsspråk och översättningsmetoder Presentation för laborationer 2 Operationssal Windows-system Innehåll 2 Innehåll 3 Koncept för operativsystem Operativsystem (OS) grundläggande programvara

Installera IBM DB2 v11.1-server på Linux För att installera IBM DB2 med installationsguiden krävs att du har det grafiska gränssnittet installerat och kört, inklusive X-Window-baspaketen,

1.1 OS:s historia De första (1945-1955) datorerna fungerade utan operativsystem, som regel körde de ett program. När hastigheten på programexekveringen och deras antal började öka, driftstopp

Hantera Rutoken-drivrutiner med hjälp av grupppolicyer 2017 Aktiv Company I detta dokument Detta dokument beskriver hur man använder grupppolicyer för att automatiskt distribuera kitet

Ämne: Syfte: Praktiskt arbete 23. Grunderna i att arbeta i Ubuntu. Bekanta dig med Ubuntu OS-gränssnittet, lär dig hur du arbetar med filer och kataloger, starta program, visa text och grafik

Secret Net informationssäkerhetsverktyg Instruktioner för lokal uppdatering av Secret Net-klienten Detta dokument innehåller en detaljerad beskrivning av sekvensen av åtgärder för lokal uppdatering av klienten

Om författarna 15 Inledning 17 Bokens uppbyggnad 18 Från förlaget 20 Kapitel 1. Kort recension Grunder 21 Några grundläggande kommandon 21 Visa datum och tid: date kommando 21 Hitta registrerade användare

HV Manager Användarhandbok 2017 AprilTech, llc. Alla rättigheter reserverade 1 INNEHÅLL Inledning... 3 Installation och konfiguration... 4 Systemkrav... 4 Installation... 5 Konfiguration... 6 Inställningar

1 Lab 3 "DATA STREAM ODIRECERING" Strömmar och filer Logiskt sett är alla filer i ett Linux-system organiserade i en kontinuerlig ström av byte. Vilken fil som helst kan fritt kopieras och läggas till i en annan

UNIX(Unix, Unix) - en grupp bärbara, multitasking- och multi-användaroperativsystem. Det första Unix-operativsystemet utvecklades i slutet av 1960-talet och början av 1970-talet av det amerikanska analysföretaget Bell Laboratories. Inledningsvis var det fokuserat på minidatorer, och började sedan användas på datorer av alla klasser, inklusive stordatorer och mikrodatorer. Detta underlättades av anpassningen av Unix till 32-bitars mikroprocessorer från Intel, som genomfördes 1990. Funktionalitet och flexibiliteten hos Unix säkerställde dess användning i heterogena automatiserade system, liksom skapandet av dussintals standarder för tillverkare datateknik. Operativsystem i Unix-familjen:

Linux är en version av Unix-operativsystemet för datorplattformar baserade på Intel-processorer;
HP-UX - Hewlett-Packard-version; utvecklas ständigt och är kompatibel med IE-64, som är en ny standard för 64-bitars arkitektur;
SGI Irix är ett Silicon Graphics PC-operativsystem baserat på System V Release 3.2 med BSD-element. På den här versionen av Unix skapade Industrial Light & Magic-studion filmerna "Terminator 2" och "Jurassic Park".
SCO Unix är en version av Santa Cruz Operation för Intel-plattformen, oberoende av hårdvarutillverkare;
IBM AIX - implementerad baserat på System V Release 2 med vissa BSD-tillägg;
DEC Unix är ett operativsystem med stöd för kluster; designad för att fungera tillsammans med Windows NT;
NeXTStep-4.3 BSD - OS baserat på Mach-kärnan, som används i NeXT-datorer; tillhör Äpple Dator och fungerar som operativsystem för Macintosh-datorer;
Sun Solaris är ett operativsystem för SPARC-stationer baserat på System V Release 4 med många tillägg.

Operativsystemet Unix dök upp under utvecklingen av minidatorer. 1969 började undersökningsföretaget Bell Labs utveckla ett kompakt operativsystem för Digital Equipment Corporations 18-bitars DEC PDP-7 minidator. Systemet skrevs ursprungligen på assemblerspråk och Unix födelsedatum anses vara 1 januari 1970. 1973 skrevs den om till C-språket, som utvecklades på Bell Labs. Samtidigt ägde den officiella presentationen av operativsystemet rum. Dess författare, Bell Labs anställda Ken Thompson och Dennis M. Ritchie, kallade deras idé för ett "universellt tidsdelnings-OS".

Unix baserades på ett hierarkiskt filsystem. Varje process betraktades som en sekventiell exekvering av programkod inom ett autonomt adressutrymme, och arbete med enheter behandlades som arbete med filer. Den första versionen implementerade nyckelkonceptet för en process, senare systemanrop (fork, wait, exec, exit) dök upp. 1972 introducerades pipelining genom införandet av rör.

I slutet av 1970-talet hade Unix blivit ett populärt operativsystem, med hjälp av förmånliga distributionsförhållanden i universitetsmiljön. Unix portades till många hårdvaruplattformar och dess varianter började dyka upp. Med tiden har Unix blivit standarden inte bara för professionella arbetsstationer utan även för stora företagssystem. Tillförlitligheten och flexibiliteten hos UNIX-inställningar har gjort den populär, särskilt bland systemadministratörer. Hon spelade en aktiv roll i spridningen globala nätverk och framför allt Internet.

Tack vare policyn för avslöjande av källkod körs många gratis dialekter av Unix Intel plattform x86 (Linux, FreeBSD, NetBSD, OpenBSD). Full kontroll över texter gjorde det möjligt att skapa system med speciella prestanda- och säkerhetskrav. Unix assimilerade också delar av andra operativsystem, vilket resulterade i utvecklingen av POSIX och X/Open programmeringsgränssnitt.

Det finns två oberoende utvecklade grenar av UNIX - System V och Berkeley, på grundval av vilka dialekterna i Unix och Unix-liknande system. BSD 1.0, som blev grunden för icke-kommersiella UNIX-dialekter, släpptes 1977 vid University of California, Berkeley, baserat på UNIX V6-källkoden. 1982-1983 släpptes de första kommersiella dialekterna av Unix, System III och System V av Unix System Laboratories (USL) System V-versionen av Unix utgjorde grunden för de flesta efterföljande kommersiella varianterna. 1993 sålde AT&T rättigheterna till Unix tillsammans med USL-laboratoriet till Novell, som utvecklade en UNKWare-dialekt baserad på System V, ägd av Santa Cruz Operation under namnet SCO UNIXWare. Varumärke Unix ägs av X/Open Company.

Unix blev populär på grund av dess förmåga att arbeta på olika hårdvaruplattformar - portabilitet eller mobilitet. Mobilitetsproblemet i UNIX löstes genom att ena operativsystemets arkitektur och använda en enda språkmiljö. C-språket som utvecklats vid Bell Labs blev länken mellan hårdvaruplattformen och operativmiljön.

Många portabilitetsproblem i Unix löstes genom att tillhandahålla en enda mjukvara och användargränssnitt. Två organisationer tar itu med problemet med att förena flera Unix-dialekter: IEEE Portable Applications Standards Committee (PASC) och X/Open Company (The Open Group). Dessa organisationer utvecklar standarder som gör det möjligt att integrera heterogena operativsystem, inklusive de som inte är relaterade till Unix (IEEE PASC - POSIX 1003, X/Open - Common API). Således är POSIX-kompatibla system Open-VMS, Windows NT, OS/2.

Portabiliteten av Unix, som ett system orienterat till ett brett utbud av hårdvaruplattformar, är baserad på en modulär struktur med en central kärna. Ursprungligen innehöll UNIX-kärnan en uppsättning verktyg som ansvarar för processdispatch, minnesallokering, arbete med filsystemet, stöd för externa enhetsdrivrutiner, nätverks- och säkerhetsverktyg.

Därefter, genom att separera från den traditionella kärnan, minimalt önskad uppsättning innebär att en mikrokärna bildades. De mest kända implementeringarna av Unix-mikrokärnor är Amoeba, Chorus (Sun Microsystems), QNX (QNX Software Systems). Chorus-mikrokärnan upptar 60 KB, QNX - 8 KB. Baserat på QNX utvecklades en 30 KB POSIX-kompatibel Neutrino-mikrokärna. Vid Carnegie Mellon University 1985 utvecklades Mach-mikrokärnan, användes i NeXT OS (NeXT), MachTen (Mac), OS/2, AIX (för IBM RS/6000), OSF/1, Digital UNIX (för Alpha), Windows NT, BeOS.

I Ryssland används Unix-operativsystemet som nätverksteknik och driftsmiljö för olika datorplattformar. Infrastrukturen för det ryska Internet bildades på basis av Unix. Sedan början av 1980-talet har hushållsarbete på Unix-operativsystemet utförts vid Institute of Atomic Energy uppkallat efter. I. V. Kurchatov (KIAE) och Institutet för tillämpad cybernetik vid ministeriet för fordonsindustri. Resultatet av enandet av dessa lag var födelsen av operativsystemet DEMOS (Dialog Unified Mobile Operating System), som, förutom inhemska analoger av PDP-11 (SM-4, SM-1420), överfördes till ES Computer och Elbrus. Trots sin mångsidighet tappade Unix marknaden personliga datorer Windows familj Microsoft företag. Operativsystemet Unix behåller sin position inom området verksamhetskritiska system med hög grad av skalbarhet och feltolerans.