Wat is de commandostructuur van de tolk. De commandotaal van het Unix-systeem. shell tolk. De astolk gebruiken

Om gebruikersinteractie met het besturingssysteem en met applicatieprogramma's te garanderen, is een interface vereist: een systeem voor het verzenden van gebruikerscommando's naar het besturingssysteem en systeemreacties terug naar de gebruiker. Een dergelijke interactie is een "dialoog" tussen een gebruiker en een computer in een speciale taal, of het nu een taal is die tekens gebruikt die lijken op woorden en uitdrukkingen van een natuurlijke taal, of de taal van afbeeldingen. Voor vandaag zijn er twee fundamentele mogelijkheden om de interface te organiseren: de grafische interface en de opdrachtregel.

De opdrachtregel, een shell-prompt die aangeeft dat het systeem klaar is om een ​​gebruikersopdracht te accepteren, demonstreert het idee van een dialoog in zijn meest expliciete vorm. Voor elke ingevoerde opdracht ontvangt de gebruiker een reactie van het systeem: ofwel een andere prompt die aangeeft dat de opdracht is voltooid en de volgende kan worden ingevoerd, ofwel een foutbericht, dat een verklaring van het systeem is over gebeurtenissen die zich hebben voorgedaan in het, gericht aan de gebruiker. Bij het werken in een besturingsomgeving met een grafische interface is de voortdurende dialoog tussen de gebruiker en het systeem niet zo duidelijk, hoewel vanuit het oogpunt van het systeem een ​​muisklik in een bepaald gebied op het scherm vergelijkbaar is met een commando ingevoerd vanaf het toetsenbord, en de reactie van het systeem op de gebruiker kan worden weergegeven in de vorm van een dialoogvenster.

Bij het werken met de opdrachtregel worden speciale programma's gebruikt om de interface te organiseren - opdrachtinterpreters. Ze accepteren de opdrachten van de gebruiker in de vorm van tekstregels met de namen van het programma en de parameters waarmee deze programma's moeten worden uitgevoerd, ontleden de ontvangen regels, starten vereiste programma's en hun uitvoer naar de gebruiker sturen - ook regels tekst. Alle gebruikersinteractie met het systeem vindt plaats via de opdrachtinterpreter, daarom wordt het vaak de shell genoemd. Voor typische acties zijn de volgorde van opdrachten hetzelfde. Dergelijke reeksen commando's kunnen worden geschreven in tekstbestand en geef dit tekstbestand vervolgens door aan de opdrachtinterpreter voor uitvoering. Deze tekstbestanden worden scripts genoemd. Om te kunnen worden uitgevoerd, moeten ze de juiste rechten hebben (vlag "x"). Shells ondersteunen de uitvoering van voorwaardelijke opdrachten (als-dan-anders-structuren), lussen, het maken en aanroepen van subroutines, en meer. De shell-taal is extreem krachtig en kan bijna elke taak op het systeem automatiseren. Acties bij het opstarten van het systeem worden bijvoorbeeld uitgevoerd door shellscripts - beginnend bij /etc/rc.d/rc.sysinit, die op zijn beurt een groot aantal andere scripts aanroept.

Er zijn verschillende shells beschikbaar op * nix-systemen, vanwege hun modulariteit. Nu meestal gebruikt bash tolk(/ bin / bash).

Commando's van het besturingssysteem zijn: kleine programma's bevindt zich in de mappen / bin, / usr / bin, / sbin, / usr / sbin. In wat volgt, over commando's gesproken, zullen we hiermee de gespecificeerde programma's begrijpen.

Het algemene formaat voor het aanroepen van de opdracht is als volgt:

$ commando -f --flag --key = parameter argument1 agrument2 ...

Hier is "$" de prompt van het besturingssysteem voor een opdracht. Voor gewone gebruikers ziet het eruit als "$", voor superuser (root) - "#". In de toekomst zal voor commando's die root-rechten vereisen, een invoer in de vorm "# commando" worden gebruikt.

commando is de naam van het commando. Voor veelgebruikte commando's zijn de namen kort, bestaande uit 2-3 letters.

Sleutels worden, indien nodig, achter de opdrachtnaam aangegeven. Key is een opdrachtparameter die het resultaat van de uitvoering beïnvloedt. Veelgebruikte toetsen zijn kort, één teken; voor minder vaak benodigde lange toetsen worden woorden of afkortingen gebruikt. Korte toetsen beginnen met een "-"-teken, lange toetsen - met twee "-"-tekens. Korte toetsen worden vaak gedupliceerd met lange toetsen om de leesbaarheid van scripts te verbeteren. Na de toetsen kan een indicatie worden toegestaan aanvullende parameters, voor lange sleutels worden dergelijke parameters meestal geschreven door het "=" teken. Het is toegestaan ​​om meerdere sleutels van één teken met elkaar te combineren: in plaats van "$ ls -l -a" kunt u bijvoorbeeld "$ ls -la" schrijven.

De volgorde van de toetsen is over het algemeen niet belangrijk.

Alle opties worden gevolgd door opdrachtargumenten. Argumenten zijn meestal paden naar bestanden of mappen. Het is mogelijk om argumenten te gebruiken die beginnen met een "-" teken. In dit geval worden ze van de toetsen gescheiden door twee "-"-symbolen:

$ touch - -bestand-met-

Commando's kunnen verschillende toetsen en parameters gebruiken. Het is onmogelijk en zinloos om alle mogelijke combinaties van het oproepformaat voor elk programma te onthouden. Daarom biedt het systeem beschrijvingen en tips voor het gebruik van bijna elk hulpprogramma en programma.

Gewoonlijk ondersteunen programma's verschillende standaardsleutels. Met de schakelaar "-h" of "--help" wordt een korte hulp over het programma weergegeven. Met de toets "-v" of "--version" - zijn versie. Als korte hulp niet voldoende is, kunt u de beschrijving van het programma in het helpsysteem oproepen. Om met hulp te werken, gebruik je het man-commando (afkorting van "manual" - manual). Het man-commando neemt de naam van een commando of configuratiebestand als argument en zoekt en toont een man-pagina. De hulp van het man-commando bevat informatie over het formaat van het aanroepen van het programma, de sleutels en parameters die erdoor worden ondersteund, informatie over de auteurs en de licentie van het programma, in sommige gevallen gebruiksvoorbeelden, links naar ontwikkelaarssites met aanvullende documentatie .

Gebruik de pijltoetsen, Page Up en Page Down om door handmatige pagina's te bladeren die niet op het scherm passen. De spatiebalk verplaatst de handleiding één pagina vooruit. Om man te verlaten en verder te gaan met het systeem, drukt u op de "q" (stop)-toets.

Sommige programma's hebben, naast handleidingen in het "man"-formaat, ook uitgebreidere documentatie in het "info"-formaat - met de oproep via het hulpprogramma met dezelfde naam.

In tegenstelling tot het ingebouwde programmahulpsysteem in het Windows-besturingssysteem, bevatten de man- en infohandleidingen volledige gedetailleerde technische informatie over hoe commando's werken.

Stuur uw goede werk in de kennisbank is eenvoudig. Gebruik het onderstaande formulier

Studenten, afstudeerders, jonge wetenschappers die de kennisbasis gebruiken in hun studie en werk zullen je zeer dankbaar zijn.

geplaatst op http://www.allbest.ru/

LABORATORIUMWERK Nr. 1

OPDRACHTVERKLARER

Doel laboratorium werk- kennis van de commandotaal van het UNIX-systeem (vooral met de commando's voor het werken met het bestandssysteem), met het omleiden van I/O-streams en met programmapipes.

1. THEORETISCHE INFORMATIE

1.1 Algemeen

interpreter bestand commando programma

UNIX is de kern van het timesharing-besturingssysteem, dat wil zeggen, het programma dat de bronnen beheert rekenmachine en stelt deze ter beschikking aan gebruikers. Het geeft gebruikers de mogelijkheid om hun programma's uit te voeren, randapparatuur te bedienen en ze draaiende te houden. bestandssysteem... UNIX is een multitasking-besturingssysteem voor meerdere gebruikers.

Het werk van het UNIX-besturingssysteem kan worden voorgesteld als het functioneren van veel onderling gerelateerde processen. Wanneer het systeem opstart, start eerst de kernel, die op zijn beurt de hoofdtaak start die alle volgende processen voortbrengt - het init-proces (proces # 1).

De gebruiker communiceert interactief met het UNIX-systeem via de commandotaal. De shell van het besturingssysteem - shell - interpreteert de invoercommando's, start de bijbehorende programma's (processen), genereert en toont responsberichten.

Het bestandssysteem is een belangrijk onderdeel van UNIX. Het heeft een hiërarchische structuur die een boom van mappen en bestanden vormt. De hoofdmap wordt aangegeven met een "/", het pad door de mappenboom bestaat uit mapnamen gescheiden door een "/".

Elk UNIX OS-bestand kan op unieke wijze worden geïdentificeerd door een gegevensstructuur die een bestandsdescriptor (descriptor) wordt genoemd. Het bevat alle informatie over het bestand: bestandstype, toegangsmodus, eigenaar-ID, grootte, bestandsadres, datums van laatste toegang en laatste wijziging, aanmaakdatum, enz.

Het bestand wordt bij naam genoemd. De lokale bestandsnaam is een tekenset van 1 tot 14 in Systeem V. Op systemen die het FFS-bestandssysteem ondersteunen, kunnen bestandsnamen maximaal 255 tekens lang zijn. Cijfers, letters van het Latijnse alfabet en het symbool `_' moeten als symbolen worden gebruikt. De lokale bestandsnaam wordt opgeslagen in de overeenkomstige catalogus... Bestandspad van hoofdmap genaamd voor-en achternaam het dossier. Als de toegang tot het bestand begint met het "/"-teken, wordt aangenomen dat de volledige bestandsnaam is opgegeven en begint het zoeken in de hoofdmap, in elk ander geval begint het zoeken naar bestanden in de huidige map.

1.2 Registratie in het systeem

Het werk van de gebruiker in het systeem begint met de activering van de terminaltoegangsserver getty waarmee het programma wordt gestart Log in die de gebruiker om een ​​gebruikersnaam en wachtwoord vraagt.

· Gebruikersregistratienaam;

· Versleuteld wachtwoord;

· gebruikersnaam;

· Groepsidentificatie;

· informatie over minimale looptijd wachtwoord acties;

· algemene informatie over gebruiker

Thuismap van gebruiker

Registratie schelp gebruiker

Als de gebruiker is geregistreerd in het systeem en is ingevoerd correct wachtwoord, Log in voert het programma uit dat is opgegeven in / etc / wachtwoord - registratie schelp gebruiker.

1.3 Systeemgebruikers en bestandseigenaren

Een systeemgebruiker is een object dat bepaalde rechten heeft die de mogelijkheid bepalen om programma's voor uitvoering uit te voeren, evenals het eigendom van bestanden. De enige systeemgebruiker met onbeperkte rechten is Super gebruiker of beheerder systemen.

Het systeem identificeert gebruikers door de zogenaamde. gebruikersnaam(UID - gebruikersidentificatie). Elke gebruiker is lid van een of meer groepen- een lijst van gebruikers met vergelijkbare taken. Elke groep heeft zijn eigen unieke groeps-ID(GID - Group Identifier) ​​Lidmaatschap van een groep bepaalt de set rechten die de leden van een bepaalde groep hebben.

UNIX-gebruikersrechten zijn in de eerste plaats de rechten om met bestanden te werken. Bestanden hebben twee eigenaren: gebruiker (eigenaar van de gebruiker) en groep (eigenaar van de groep).

Dienovereenkomstig bepalen de bestandsbeveiligingskenmerken de rechten van de gebruiker die eigenaar is van het bestand (u), de rechten van een lid van de groep die eigenaar is (g) en de rechten van alle anderen (o).

1.4 Bestandssysteemstructuur

Het UNIX OS-bestandssysteem heeft een hiërarchische structuur die een boomstructuur van mappen en bestanden vormt. De hoofdmap wordt aangeduid met "/", het pad door de mappenboom bestaat uit mapnamen gescheiden door "/", bijvoorbeeld:

/ thuis / werk / document

Elke gebruiker is op elk moment gekoppeld aan de huidige directory, dat wil zeggen de locatie van de gebruiker in het hiërarchische bestandssysteem.

De hoofdmap "/" heeft verschillende belangrijke systeemmappen die het volgende bevatten:

/ stand - de systeemkernel en gegevensbestanden die tijdens het opstartproces worden gebruikt.

Soms bevindt het kernelbestand zich in de hoofdmap /;

/ sbin - de belangrijkste uitvoerbare programma's die in het proces worden gebruikt

opstarten en systeemherstel;

/ dev zijn speciale bestanden die randapparatuur vertegenwoordigen (bijvoorbeeld de console, lijnprinters, gebruikersterminals en schijven). Lange lijst ls -l voor elk apparaatbestand worden twee nummers opgegeven in plaats van grootte: hoofdnummer en secundair nummer. Hoofdnummer identificeert het apparaatstuurprogramma voor de kernel; vergelijkbare apparaten hebben dezelfde hoofdnummers. Ondergeschikt nummer identificeert een specifiek apparaatexemplaar.

/ etc - configuratiebestanden en systeemorganisatiedatabases;

/ home - hoofdmap voor gebruikersmappen;

/ tmp - tijdelijke bestanden;

/ var is de hoofdmap voor vaak veranderende bestanden (bijvoorbeeld logboek bestanden); Tijdelijke of servicebestanden worden opgeslagen in submappen van de / var-map verschillende programma's... De belangrijkste subdirectories van de / var directory zijn:

/ var / log - logboeken van gebeurtenissen in het systeem.

/ var / adm - Logboeken voor administratieve contextgebeurtenissen.

/ var / mail - nieuwe (ongelezen) gebruikerspost.

/ var / spool - verschillende wachtrijen (voor afdrukken, voor het verzenden van e-mail, voor het uitvoeren van taken volgens een schema).

/ var / tmp - verschillende tijdelijke bestanden.

/ usr - andere mappen inclusief lib en bin.

Alle bestanden die gebruikers kunnen manipuleren, bevinden zich in het bestandssysteem, dat een boom is met tussenliggende knooppunten die overeenkomen met mappen, en bladeren - bestanden en lege mappen. Echt op iedereen logische schijf(een sectie van een fysiek schijfpakket) bevat een afzonderlijke hiërarchie van mappen en bestanden. Om een ​​gemeenschappelijke boomstructuur in de dynamiek te verkrijgen, worden afzonderlijke hiërarchieën "gemount" aan een vast rootbestandssysteem als takken van een gemeenschappelijke boom.

Elke map en elk bestand in het bestandssysteem heeft een unieke, volledig gekwalificeerde naam - een naam die aangeeft: vol pad, het specificeert het volledige pad vanaf de hoofdmap van het bestandssysteem via de directoryketen naar de corresponderende directory of het corresponderende bestand). Een map die de hoofdmap is van een bestandssysteem (de hoofdmap) heeft een vooraf gedefinieerde naam "/" (slash) in elk bestandssysteem. Hetzelfde teken wordt gebruikt als naamscheidingsteken in het pad. Een volledig gekwalificeerde bestandsnaam zoals /bin /sh betekent dat de hoofdmap de naam van de bin-map moet bevatten en de bin-map de naam van het sh-bestand. Een korte of relatieve bestandsnaam is een naam (mogelijk samengesteld) die het pad naar het bestand vanuit de huidige werkdirectory aangeeft (er is een commando en een bijbehorende systeemaanroep om de huidige werkdirectory in te stellen).

Elke map bevat twee speciale namen, de naam ".", die de map zelf een naam geeft, en de naam "..", die de "bovenliggende" map van deze map een naam geeft, d.w.z. de directory die onmiddellijk voorafgaat aan de opgegeven directory in de directoryhiërarchie.

Dus voor bijvoorbeeld de structuur die in de volgende afbeelding wordt getoond, is toegang tot het bestand dat in de afbeelding is gemarkeerd vanuit de huidige map mogelijk met de volledige naam:

/ home / apalko / file2

of op relatieve naam:

./../../apalko/file2

Fig. 1 Voorbeeld van een mappenboom

Elke map- of bestandsnaam volgens de volgende regels:

· Alle karakters zijn toegestaan, behalve /;

· Sommige namen kunt u beter vermijden, zoals spatie, tab en de volgende:? "# $ ^ ();< >| \ * @ "~ &. Als u spaties of tabs gebruikt in een bestands- of mapnaam, moet u de naam tussen dubbele aanhalingstekens plaatsen op de opdrachtregel;

· Vermijd het gebruik van de tekens + - of. als het eerste teken in de bestandsnaam;

· UNIX maakt onderscheid tussen hoofdletters en kleine letters in de namen van bestanden en mappen.

Elk UNIX OS-bestand kan op unieke wijze worden gespecificeerd door een gegevensstructuur die een bestandsdescriptor of descriptor wordt genoemd. Deze structuur wordt beschreven in het bestand , het is 64 bytes en bevat de volgende informatie:

(unsigned short di_mode; / * toegangsmodus en bestandstype * /

korte di_nlink; / * teller van het aantal links naar het bestand * /

korte di_uid; / * identificatie van de eigenaar * /

korte di_gid; / * groeps-ID * /

off_t di_size; / * aantal bytes in het bestand * /

char di_addr; / * verwijzingen naar schijfblokken waarin het bestand zelf is opgeslagen * /

time_t di_atime; / * laatste toegangsdatum * /

time_t di_mtime; / * datum laatste wijziging * /

time_t di_ctime; /* datum van creatie */)

Het veld di_mode bestaat uit 16 bits:

Fig. 2. Toegangsmodus en bestandstype

Het veld di_addr wordt gebruikt om verwijzingen op te slaan naar de locatie van schijfblokken die informatie bevatten die is geplaatst in dit bestand... In dit veld kunnen 13 pointers worden opgeslagen, waarvan de eerste 10 verwijzen naar de eerste tien blokken van het bestand. Als het bestand meer ruimte in beslag neemt, wordt informatie over de locatie van het primaire indirectieblok, bestaande uit honderdachtentwintig 32-bits verwijzingen naar de bestandsblokken, ingevoerd in de 11e aanwijzer; De 12e aanwijzer wijst naar het secundaire indirectieblok dat 128 locatiewijzers van de primaire indirectieblokken bevat, en de 13e aanwijzer wijst respectievelijk naar de locatie van het tertiaire indirectieblok dat 128 secundaire indirectieblokaanwijzers bevat. Met dit adresseringsschema kunt u dus verwijzen naar een bestand dat uit niet meer dan (128x128x128 + 128x128 + 128 + 10) blokken bestaat. Al deze overwegingen zijn geldig voor blokken van 512 (128x4) bytes.

Het bestand wordt bij naam genoemd. De lokale bestandsnaam is een set willekeurige tekens. Als er een punt in / tussen voorkomt, dan wordt deze gevolgd door een zogenaamde extensie, die meestal dient om het type bestand te bepalen. Bestanden die tekst opslaan hebben bijvoorbeeld meestal de extensie "txt" of "doc" (title.doc, book.txt, enz.), bestanden met de tekst van C-programma's - de extensie "c" (progr.c, code .c, enz.), uitvoerbare bestanden - extensie "out" of helemaal geen extensies. Er kunnen verschillende extensies zijn (de naam "progr.c.b" kan bijvoorbeeld een oude versie (bak-bestand) van een C-programma betekenen).

De lokale bestandsnaam wordt opgeslagen in de juiste map. Het pad naar het bestand vanuit de hoofdmap wordt de volledig gekwalificeerde bestandsnaam genoemd. Als de toegang tot het bestand begint met het teken "/", dan begint het zoeken vanuit de hoofdmap, in elk ander geval begint het zoeken naar het bestand vanuit de huidige map. Elk bestand kan meerdere namen hebben. In feite is de bestandsnaam een ​​link naar het bestand dat wordt gespecificeerd door het descriptornummer. Door de namen van hetzelfde bestand in verschillende mappen te plaatsen, is het dus mogelijk in elke map rechtstreeks toegang te krijgen tot het bestand, en niet door het volledige pad op te geven.

1 .4 . 1 Bestand types

Elk UNIX OS-bestand kan, afhankelijk van het type, worden ingedeeld in een van de volgende groepen: gewone bestanden, mappen, speciale bestanden en leidingen.

Normaal bestand is een reeks bytes. Het systeem legt geen beperkingen op aan het bestand en er wordt geen betekenis aan de inhoud toegekend: de betekenis van de bytes hangt uitsluitend af van de programma's die het bestand verwerken.

Catalogus is een bestand van een speciaal type dat verschilt van een gewoon bestand door de aanwezigheid van een structuur en een schrijfbeperking: alleen de UNIX OS-kernel kan naar de directory schrijven. De directory brengt een overeenkomst tot stand tussen bestanden (meer precies, descriptornummers) en hun lokale namen. Een voorbeeld van een directory voor het UNIX System V OS-bestandssysteem - Fig. 2 (2 bytes - aantal descriptors, 14 bytes - lokale namen).

Afb. 3. Voorbeeld UNIX System V-directory

Het descriptornummer dat overeenkomt met de naam "." Is een link naar een bestand dat informatie over de directory zelf bevat. Het descriptornummer dat overeenkomt met de naam ".." is een verwijzing naar de bovenliggende directory van de huidige directory. Een descriptornummer gelijk aan 0 betekent dat de link naar het corresponderende bestand uit de directory is verwijderd en dat deze directory-vermelding als gratis wordt beschouwd.

De verzameling van alle mappen specificeert de structuur van het bestandssysteem als geheel.

Speciaal bestand is een bestand dat is toegewezen aan een extern apparaat en een speciale structuur heeft. Het kan niet worden gebruikt om gegevens op te slaan zoals: normaal bestand of een directory, maar u kunt er dezelfde bewerkingen op uitvoeren als op elke andere. In dit geval komt de invoer / uitvoer van informatie naar dit bestand overeen met de invoer van extern apparaat of er naar uitgaan.

Kanaal - het softwaretool UNIX OS-processen koppelen met een I/O-buffer

2. UNIX-COMMANDOTAAL. INTERPRETER SHELL

2.1 Algemeen

In dit gedeelte worden commando's en symbolen met een speciale betekenis beschreven waarmee u:

Zoek met een sjabloon en manipuleer groepen bestanden;

Voer een opdracht op de achtergrond of op een specifiek tijdstip uit;

Voer een groep opdrachten opeenvolgend uit;

Omleiden standaard invoer en uitvoer;

Beëindig lopende programma's.

De SHELL-interpreter omvat het volledige besturingssysteem en voert interfacefuncties uit tussen de gebruiker en het besturingssysteem. Het onderschept en interpreteert alle gebruikerscommando's, genereert en toont responsberichten.

Naast het uitvoeren van standaard UNIX-opdrachten en uitvoerbare bestanden, bevat de interpreter zijn eigen taal, die in zijn mogelijkheden de programmeertalen op hoog niveau benadert. Met deze taal kunt u programma's (shell-bestanden, scripts) maken die taalinstructies en UNIX-opdrachten kunnen bevatten. Dergelijke bestanden hoeven niet te worden gecompileerd en worden uitgevoerd in de interpretatiemodus, maar ze moeten het recht hebben om uit te voeren (geïnstalleerd met het commando chmod).

Gebruikerscommunicatie met opdracht interpreter wordt uitgevoerd door opdrachten vanaf het toetsenbord in te voeren nadat een prompt (prompt) verschijnt, meestal het "$"-teken. De ingevoerde reeks tekens wordt door de interpreter behandeld als ofwel de naam van een interne opdracht of de naam van een uitvoerbaar bestand.

De shell-procedure (script) kan bij het opstarten argumenten worden doorgegeven. Aan elk van de eerste negen argumenten wordt een positionele parameter toegewezen van $ 1 tot $ 9 ($ 0 is de naam van de procedure zelf), en met deze namen kunnen ze worden aangeduid vanuit de proceduretekst.

Voordat u enkele shell-statements bekijkt, moet u aandacht besteden aan het gebruik van enkele tekens in de opdrachten.

Hieronder volgen de gebruikte metatekens: schelp:

* ? - u toestaan ​​om verkorte bestandsnamen te specificeren bij het zoeken op een patroon;

& - betekent dat de opdracht op de achtergrond wordt uitgevoerd;

; - scheidt opdrachten op de opdrachtregel;

\ - annuleert de speciale betekenis van tekens zoals *,?, [,], &,;,<,

"..." - annuleer de spatiescheidingswaarde en speciale waarde

alle karakters;

"..." - annuleert het scheidingsteken voor spatie en de speciale betekenis van alle tekens behalve $ en \;

> - stuurt de opdrachtuitvoer om naar een bestand;

< - stuurt opdrachtinvoer vanuit een bestand om;

>> - stuurt de opdrachtuitvoer om waaraan moet worden toegevoegd

het einde bestaand bestand;

| - creëert een kanaal dat de uitvoer van het ene commando naar de invoer van een ander leidt

`...` - gebruikt in paren; stelt u in staat om de opdrachtuitvoer te gebruiken zoals:

opdrachtregelargumenten;

$ - gebruikt met positionele parameters en specifiek gebruik

variabele naam, ook standaard gebruikt in

als een hint schelp.

Bovendien interpreteren bijna alle shells, voor het gemak van het werken met bestanden, de "?" en "*", door ze te gebruiken als bestandsnaampatronen (zogenaamde. metakarakters):

Een willekeurig karakter;

* - een willekeurig aantal tekens.

Bijvoorbeeld: * .c - specificeert alle bestanden met de extensie "c";

pr ???. * - specificeert bestanden waarvan de naam begint met "pr", vijf tekens bevatten en elke extensie hebben.

Shell-variabelen

De shell-taal maakt het mogelijk om met variabelen te werken (zonder voorafgaande declaratie). Namen van variabelen beginnen met een letter en kunnen letters en cijfers bevatten. Variabelen zijn toegankelijk met een "$"-teken.

Voorbeeld. Ga naar de homedirectory van de gebruiker: cd $ HOME

Toewijzingsoperator... Variabelen krijgen waarden toegewezen met behulp van de `=" operator zonder spaties.

Voorbeeld: s= Hallo

echo $ s

2.2 Hulp krijgen

Team Menshet dossier , waar het dossier - een commando, programma, configuratiebestand of bibliotheekfunctie waarvoor je hulp wilt krijgen. Directory Mens bestaat uit verschillende onderdelen:

1: Gebruikersopdrachten

1M: opdrachten voor systeembeheer

2: Systeemoproepen

3 (3B, 3S, ...): Bibliotheekfuncties

4: Bestandsformaten

5: Kopteksten, tabellen, macro's, diversen

6: Demonstraties

7: Apparaat- en netwerkinterfaces

Bij het noemen van een commando, functie of systeembestand in de Unix-literatuur wordt het referentiesectienummer vaak tussen haakjes aangegeven Mens, bijvoorbeeld: "opdracht ls (1) is bedoeld om een ​​lijst met bestanden weer te geven. "In de regel Mens vindt de sectie zelf met de vereiste hulp, doorloopt alle secties één voor één, dus om hulp te krijgen bij de opdracht ls ga gewoon binnen

Scrollende tekstbedieningen:

· <ruimte> - pagina omlaag

· <Binnenkomen> - regel omlaag

· <Ctrl>+B- pagina omhoog

· / woord- woorden zoeken woord

· Q- Uitgang

Soms kan de vereiste term echter in meerdere secties tegelijk worden gevonden ( printf- commando- en bibliotheekfunctie); in dit geval Mens zal het document uit de eerst gevonden sectie retourneren. Om een ​​document uit een andere sectie te halen, gebruik je de -s switch hoofdstuk... Gebruik de schakeloptie -l om een ​​lijst te krijgen van de secties die de vereiste term bevatten. De -a schakelaar geeft de opdracht om alle gevonden hulp van alle secties achter elkaar weer te geven.

tja hoor commando - output informatie over het type commando

die commando -bepaal in welke map het programma zich bevindt

2 .3 Directory-opdrachten

pwd - afdrukken van de naam van de huidige map. Bijvoorbeeld:

ls - weergave van de inhoud van de directory:

$ ls [-keys] [directorynaam]

Als er geen directorynaam is opgegeven, wordt de inhoud van de huidige directory weergegeven. De toetsen bepalen het formaat van de uitvoer, bijvoorbeeld:

L - volledige informatie over elk bestand weergeven;

A - geeft een volledige lijst met bestanden weer, inclusief "." en "..";

T - sorteer de lijst op aanmaaktijd;

C - een lijst in verschillende kolommen alfabetisch weergeven, enz.

Voorbeeld: ls -l

geeft bestanden weer met hun attributen, bijvoorbeeld:

ABBBBBBBB C DDDD EEEEEEEEE FFFFF GGGGGGGGGGGG HHHHH- zie hieronder de beschrijving van de lijstvelden

A. Bestandstype

- regulier dossier;

d directory (in feite is een directory een speciaal bestand dat de bestanden in die directory weergeeft);

l symbolische link (een bestand met de naam van een ander bestand is een link naar dit bestand; details hieronder in de opdracht) ln );

c karakterapparaat (het apparaat waarmee lees-schrijfbewerkingen byte-voor-byte worden uitgevoerd);

b block device (lees-/schrijfbewerkingen worden gebufferd). Sommige apparaten hebben alleen karakter (zoals een seriële poort), en sommige zijn beide (zoals een schijf).

p pijplijn (pijp; een programmapijp in de wachtrij voor het overbrengen van gegevens tussen twee processen).

B. Rechten om het bestand te gebruiken

De 9 tekens na het bestandstype vertegenwoordigen de rechten om het bestand te gebruiken: de eerste drie tekens zijn voor de gebruiker die eigenaar is van het bestand, de tweede is voor de groep die eigenaar is van het bestand en de derde is voor alle anderen. De aanwezigheid van een letter in elk drietal betekent de aanwezigheid van het overeenkomstige recht:

voor gewone bestanden:

r - het recht om de inhoud van het bestand te lezen

w - het recht om de inhoud van het bestand te wijzigen

x - het recht om het bestand uit te voeren (uit te voeren)

voor mappen:

r - het recht om een ​​lijst met mapbestanden te krijgen

w - het recht om bestanden in de map aan te maken en te verwijderen

x - het recht om de directory te "zoeken"

Met de set rechten --x voor een map kunt u deze invoeren en een bestand lezen waarvan de naam van tevoren bekend is (mits u leesrechten voor dit bestand hebt). U kunt ook de opdrachten uitvoeren ls en ls -l voor dit bestand. Krijg tegelijkertijd een lijst met bestanden ( ls (-l) voor een map), en u kunt geen bestand maken of verwijderen.

Het r - recht voor een map stelt u in staat om de map te lezen, dat wil zeggen, een lijst met zijn bestandsnamen te krijgen. Voer in dit geval de map niet in en ontdek ook niet de kenmerken van de bestanden ( ls -l), kunt u het bestand niet lezen (zelfs als u leesrechten voor dit bestand hebt). U kunt natuurlijk geen bestand aanmaken of verwijderen.

Voor het wijzigen van een bestand is schrijftoegang tot het bestand vereist, aangezien dit een bewerking op een bestand is. Het verwijderen van een bestand vereist schrijftoegang tot de directory waarin het bestand zich bevindt - dit is een directorybewerking. Het recht hebben om naar een bestand te schrijven betekent niet noodzakelijk dat u het kunt verwijderen (hoewel u de bestandsgrootte tot nul kunt verkleinen).

C. Aantal links

Het aantal harde links (namen) van het bestand - zie onderstaande opdracht voor details ln ... Voor een directory - het aantal subdirectories (minstens twee - " . " punt en " .. " twee punten).

D. Gebruiker die eigenaar is van het bestand

E. Groep bestandseigenaar

Een groep is een benoemde set gebruikers; groepen worden samengesteld door de beheerder. Elke gebruiker is lid van ten minste één groep. De gebruiker die eigenaar is van het bestand (hierna simpelweg de eigenaar genoemd) is niet noodzakelijkerwijs lid van de groep eigenaars, hoewel dit wel het geval kan zijn.

F. Bestandsgrootte in bytes

G. Datum van laatste wijziging van het bestand

H. Bestandsnaam

CD- directory wijzigen (directory):

$ cd [volledige_directory_name]

In dit geval wordt de opgegeven map de huidige. Het cd-commando zonder argumenten zal de thuismap van de gebruiker herstellen als de huidige map.

mkdir- een nieuwe map maken:

$ mkdir [-keys] nieuwe_directory_name

Om een ​​nieuwe directory aan te maken, moet de gebruiker schrijftoegang hebben tot de bovenliggende directory van de huidige directory.

rmdir- een map verwijderen:

$ rmdir directory_list

Het systeem staat het verwijderen van een map niet toe als deze niet leeg is of als de gebruiker er geen schrijfrechten voor heeft. De huidige map mag niet behoren tot een substructuur van de te verwijderen mappen

du het bepalen van de totale grootte van mappen geeft informatie over de totale grootte van bestanden in gespecificeerde map en - recursief - zijn subdirectories (plus de grootte van de directory zelf); de schakelaar -k betekent dat gegevens worden uitgevoerd in kilobytes, anders in blokken van 512 bytes. Als er geen directory is opgegeven, wordt uitgegaan van de huidige directory. De schakeloptie -s onderdrukt recursieve weergave van informatie over submappen - de opdracht geeft alleen de totale grootte weer.

cp -R bronmap bestemmingsmap. Recursief kopiëren van een map naar een andere map

2.4 Opdrachten voor het werken met bestanden

aanrakenBestandsnaam verandert de tijd van de laatste wijziging van het bestand in de huidige. Neveneffect: Als het bestand niet bestaat, wordt het gemaakt met een grootte van nul.

rm- bestanden verwijderen (links naar een bestand):

$ rm [-keys] bestandslijst

Dit commando verwijdert verwijzingen naar bestanden (d.w.z. lokale bestandsnamen) als de gebruiker schrijftoegang heeft tot de directory die die namen bevat. Als het te verwijderen bestand tegen schrijven is beveiligd, vraagt ​​de opdracht om bevestiging om het bestand te verwijderen. Sleutels:

· -I - introduceert de noodzaak van bevestiging voor elk verwijderd bestand;

· -F - verwijdert de noodzaak voor bevestiging voor elk verwijderd bestand;

· -R - stelt de modus voor recursieve verwijdering van alle bestanden en submappen van de gegeven map in, en vervolgens de map zelf.

Als u een bestand verwijdert, wordt het aantal inodenamen in feite met 1 verlaagd; de bijbehorende systeemaanroep heet ontkoppelen (2). Het bestand wordt fysiek door het systeem verwijderd als het wordt gesloten en als het aantal namen nul is.

chmod- wijziging van bestandsbeveiligingskenmerken:

chmod [-R]rechten bestands_of_map [bestand2 ...]

De optionele schakeloptie -R propageert de opdracht recursief naar de inhoud van mappen, indien aanwezig in de lijst met bestanden die op de opdrachtregel zijn doorgegeven.

Rechten worden gespecificeerd in een van de twee notaties: numeriek en symbolisch.

Numerieke opdrachtnotatiechmod

De set van rechten is verdeeld in 4 tripletten:

en wordt beschouwd als een bitveld: de bit wordt gezet als het bijbehorende recht aanwezig is. Elk drietal bits wordt geschreven als een decimaal getal.

Voorloopnul kan worden weggelaten.

Symbolische opdrachtnotatiechmod

In tegenstelling tot numerieke notatie, geeft symbolische notatie geen machtigingen aan, maar wijzigingen in machtigingen. De notatie bestaat uit 3 elementen, gespecificeerd in de volgende volgorde: wiens rechten om te wijzigen, hoe en welke rechten.

Voeg schrijfrechten toe aan de groep:

%chmod g + w-bestand

Opname- en uitvoeringsrechten van anderen verwijderen:

%chmod o-wx-bestand

Lees- en schrijfrechten voor eigenaar en groep toevoegen:

%chmod ug + rw-bestand

Stel de rechten van anderen in op hetzelfde als de groep

%chmod o = g bestand

Stel de rechten van anderen en groepen in op hetzelfde als de eigenaar

%chmod og = u bestand

Verschillende wijzigingen kunnen worden gescheiden door komma's:

Voeg het recht toe om in de verte op te treden en verwijder het recht om op te nemen van de groep en anderen:

%chmod u + x, go-w-bestand

kat- samenvoegen en uitvoeren van bestanden naar standaarduitvoer:

$ cat [-toetsen] [input_file1 [input_file2 ...]]

De opdracht leest beurtelings de gespecificeerde invoerbestanden, als er meerdere zijn, voegt de gelezen gegevens samen en voert deze uit naar de standaard uitvoerstroom (naar het scherm). Met stream (pipe) omleiding kan het cat-commando worden gebruikt om verschillende bewerkingen uit te voeren.

cp- bestanden kopiëren:

$ cp in_file_1 [in_file_2 [... in_file_n]] out_file

Deze opdracht heeft twee gebruiksmodi:

· Als het uitvoerbestand een gewoon bestand is, kan er maar één invoerbestand zijn; de inhoud ervan wordt naar het uitvoerbestand gekopieerd. Als het uitvoerbestand bestond, gaat de oude inhoud verloren en blijven de beveiligingskenmerken; als het uitvoerbestand niet bestond, wordt het gemaakt en worden de kenmerken van het invoerbestand overgenomen.

· Als het uitvoerbestand een directory is, worden alle opgegeven invoerbestanden erin gekopieerd, maar de directory moet natuurlijk van tevoren worden aangemaakt.

Voorbeeld... Kopieer twee bestanden van de huidige map naar de opgegeven map met dezelfde namen:

$ cp f1.txt f2.txt ../usr/petr

mv- bestandsoverdracht:

$ mv in_file_1 [in_file_2 [... in_file_n]] out_file

Het enige verschil tussen de overdrachtsopdracht en de kopieeropdracht is dat de invoerbestanden worden vernietigd nadat de opdracht is uitgevoerd.

Voorbeeld... Verplaats bestanden met de extensie ".c" van de opgegeven map naar de huidige:

ln symbolisch linkbeheer

Symbolische link is een speciaal type bestand dat de naam van een ander bestand bevat (in de lijst ls -l dergelijke bestanden worden aangeduid met de letter l in de eerste kolom). Read-write to file-link resulteert in feite in read-write naar het bestand waarnaar het verwijst.

Een symbolische link maken:

ln -sbestaand_bestand bestand_link

Een harde link maken

In het UNIX-bestandssysteem is een bestandsnaam een ​​verwijzing naar een inode die de kenmerken van het bestand bevat en een reeks schijfblokadressen die de gegevens van het bestand bevatten. De inode verwijst echter niet naar de bestandsnaam; daarom kan een bestand meerdere namen hebben. De descriptor bevat alleen een teller van het aantal van deze namen, waarvan de waarde wordt weergegeven in de tweede kolom van de lijst ls -l.

Het maken van een harde link is het maken van een andere naam die verwijst naar dezelfde inode:

lnbestaande_bestandsnaam nieuwe_bestandsnaam

2.5 Opdrachten voor het uitvoeren van bestandsinhoud

het dossier Bestandsnaam [Bestandsnaam ...]

bepaalt het type bestand door de inhoud ervan te analyseren

katBestandsnaam

drukt de inhoud van het bestand af naar de terminal.

meerBestandsnaam

pager (uitvoert het bestand pagina voor pagina, met een pauze).

staart [-nummer ] Bestandsnaam

geeft de laatste 10 regels van een bestand of een opgegeven nummer weer

hoofd [-nummer ] Bestandsnaam

drukt de eerste 10 regels van het bestand af of zoveel als opgegeven.

Opdrachten voor het werken met tekstbestanden

grep- zoek naar een patroon (substring) in bestanden:

$ grep [-keys] substring bestandslijst

Gevonden regels worden uitgevoerd naar stout in het formaat gespecificeerd door de toetsen. Als er meerdere bestanden zijn, wordt voor elke regel de naam van het bijbehorende bestand weergegeven. Sleutels:

· -C - toon de namen van alle bestanden die het aantal regels met het patroon aangeven;

-I - negeer hoofdletters (verschillen tussen hoofdletters en kleine letters Latijnse letters);

· -N - uitvoer vóór de regel het relatieve nummer in het bestand;

· -V - uitvoerregels die geen sjabloon bevatten (inversie van uitvoer);

· -L - geeft alleen de namen weer van bestanden die het patroon bevatten.

wc- tellen van het aantal regels, woorden en karakters in bestanden:

$ wc [-lwc] [bestandslijst]

Telregels - toets -l, woorden - toets -w en tekens - toets -c (standaard -lwc). Als de bestandenlijst leeg is, staat de telling op standaardinvoer.

· soort- bestanden sorteren:

sorteer [-keys] bestandslijst

Deze opdracht sorteert de invoerbestanden regel voor regel volgens oplopende tekencodes. Sleutels:

of - omgekeerde volgorde sorteren;

o -f - negeer het verschil tussen kleine en grote Latijnse letters

o -n - numerieke sorteervolgorde, enz.

cmp- de vaststelling van de plaats van de eerste discrepantie:

$ cmp file_1 file_2

Drukt het tekennummer en regelnummer (in tekstbestanden) af waar de afwijking het eerst optreedt in de invoerbestanden. Werkt met elk bestand.

verschil- uitvoer van alle discrepanties in bestanden:

$ diff file_1 file_2

Drukt alle regels af die verschillen bevatten tussen de invoerbestanden. Werkt alleen met tekstbestanden.

2.6 Zoeken in het bestandssysteem

Zoeken op inhoud van bestanden ( grep)

Team

%grep [-inv]subtekenreeks het dossier [ bestand2 ...]

zoekt naar de opgegeven subtekenreeks in de opgegeven bestanden. Eigenlijk grep niet op zoek naar een tekenreeks, maar reguliere expressie... Als u alleen alfanumerieke tekens gebruikt, is er geen verschil. Gebruik echter geen leestekens en andere speciale tekens, tenzij u zeker weet dat ze niet op een speciale manier worden geïnterpreteerd - zoals metatekens voor reguliere expressies. Reguliere expressies komen later in deze cursus aan bod. De opdracht voert regels uit van het opgegeven bestand(bestanden), in welke regels de opgegeven subtekenreeks... Als er meerdere bestanden zijn, wordt de regel voorafgegaan door de bestandsnaam met een dubbele punt.

Basistoetsen:

I - negeer de verschillen tussen hoofdletters en kleine letters (op niet-Russische systemen werkt het alleen voor het Latijnse alfabet),

N - print hun nummers samen met de lijnen,

V - regels weergeven waar niet gevonden gespecificeerd subtekenreeks.

Normale uitdrukkingen

Reguliere expressies zijn een beschrijvende taal tekstsjablonen... Reguliere expressies bevatten patronen van tekens die zijn opgenomen in de gewenste tekstexpressie, en constructies gedefinieerd door speciale tekens(met metakarakters).

Metatekens gebruikt in reguliere expressies

begin van de regel

einde van de lijn

elk teken tussen vierkante haken; om een ​​reeks tekens te specificeren, worden de eerste en laatste tekens van de reeks aangegeven tussen vierkante haken, gescheiden door een koppelteken

elk ander teken dan de tekens tussen vierkante haken

elk enkel teken

heft de speciale betekenis van het volgende metateken op

geeft aan dat het vorige patroon 0 of meer keer voorkomt

geeft aan dat het vorige patroon precies n keer voorkomt

geeft aan dat het vorige patroon minstens n keer voorkomt

geeft aan dat het vorige patroon maximaal n keer voorkomt

geeft aan dat het vorige patroon minimaal n en maximaal m keer voorkomt

Voorbeelden van reguliere expressies

zoekt naar strings die beginnen met de lettercombinatie "the"

zoekt naar strings die eindigen op de lettercombinatie "be"

zoekt naar strings met lettercombinaties: "signal", "Signal", "signaL" of "Signal"

zoekt naar regels met een punt

zoekt naar tekenreeksen met de tekens "th" op de 4e en 5e positie

zoekt naar tekenreeksen met de tekens "th" op de 54e en 55e positie

zoekt naar tekenreeksen die de tekens "th" bevatten op een willekeurige positie tussen de 11e en 31e

op zoek naar strings die uit 5 willekeurige tekens bestaan

zoekt naar strings die beginnen met de letter "t" en eindigen met de letter "e"

zoekt naar strings die de combinatie bevatten: cijfer-hoofdletter

op zoek naar strings die geen cijfers "1" of "2" of "3" bevatten

vinden catalogus [uitdrukking ... ]

De opdracht doorzoekt recursief de opgegeven map en zijn submappen. Voor elk bestand worden de waarden berekend van de logische waarden die zijn opgegeven in de opdrachtregel. uitdrukkingen, die worden gecombineerd door "AND". Als het resultaat "TRUE" is, dan is de bestandsnaam (meer precies, het pad ernaartoe, beginnend met het pad dat is opgegeven in de opdrachtregel catalogus, wordt naar de standaarduitvoer geschreven). Afwezigheid van uitdrukkingen is altijd "TRUE" (dat wil zeggen, in dit geval vinden toont recursief de namen van alle bestanden in een map en zijn submappen).

Basisuitdrukkingenvinden

(Opmerking: hieronder waar er een numerieke parameter is) N, je kunt er plus of min voor zetten, terwijl de volgende regel geldt: "+ N"betekent" meer dan N", "-N"betekent" minder dan N", gewoon een nummer N betekent "gelijk" N".)

-naambestandsnaam_patroon

waar als de bestandsnaam overeenkomt met het patroon; in de sjabloon kunt u het teken "*" gebruiken, enz. - in dit geval moet de sjabloon tussen enkele aanhalingstekens staan.

-permanentABCD

waar als de machtigingen van het bestand exact hetzelfde zijn als opgegeven ( ABCD); machtigingen zijn geschreven in numerieke opdrachtnotatie chmod.

-permanent -ABCD

waar als de opgegeven toegangsrechten ( ABCD) zijn beschikbaar in het bestand; machtigingen zijn geschreven in numerieke opdrachtnotatie chmod.

-typet

waar als het bestandstype het opgegeven type is t, waar t- een van de karakters: f (normaal bestand), d (directory), l (symbolische link), b of c (blok of tekenapparaat), p (pipeline).

-gebruikergebruikersnaam

true als het bestand eigendom is van de opgegeven gebruiker.

-groepgroepsnaam

true als het bestand tot de opgegeven groep behoort.

-maatN C

waar als de bestandsgrootte is N bytes (zonder het "c"-teken wordt de grootte geïnterpreteerd in blokken van 512 bytes).

-mtimeN

waar als de inhoud van het bestand is gewijzigd N dagen geleden (d.w.z. N* 24 uur geleden).

-een tijdN

waar als laatste toegang naar het bestand heeft plaatsgevonden N dagen geleden (d.w.z. N* 24 uur geleden).

-ctimeN

waar als bestandskenmerken zijn gewijzigd N dagen geleden (d.w.z. N* 24 uur geleden).

-nieuwereBestandsnaam

true als het bestand later is gewijzigd dan het opgegeven bestand.

waar als de eigenaar van het bestand niet is gevonden in de lijst met gebruikers (de gebruiker is bijvoorbeeld verwijderd maar zijn bestanden blijven staan).

-geen groep

waar als de groep die eigenaar is van het bestand niet wordt gevonden in de groepslijst (de groep is bijvoorbeeld verwijderd maar de bestanden blijven).

bewerking "EN" in uitdrukkelijk.

OF operatie.

haakjes voor het groeperen van uitdrukkingen, indien nodig (let op de aanwezigheid van backslashes).

Voorbeeld: Vind alle bestanden die beginnen met "a" in uw homedirectory:

%vinden. -noem een ​​*"

vind alle uitvoerbare bestanden van de eigenaar die beginnen met "a" in uw thuismap:

%vinden. -naam "a *" -permanent -0100

2.7 Subsysteem van taakbeheer

Het subsysteem voor het beheren van jobs (jobs) is ontworpen om: interactief werk gebruiker met shell. Als de shell dit systeem ondersteunt ( / usr / bin / jsh, / usr / local / bin / bash), dan krijgt de gebruiker extra functies lopende processen manipuleren: verplaats ze van de voorgrond (interactieve uitvoering) naar de achtergrond (achtergrond) en terug, onderbreek en hervat processen. Elke opdracht of pijplijn die een gebruiker invoert vanaf een terminal, wordt een taak genoemd. In termen van processen is een baan een groep processen. Elke taak bestaat in een van de volgende statussen: voorgrond, achtergrond of gestopt. Deze termen zijn als volgt gedefinieerd:

1. de interactieve taak wordt uitgevoerd en heeft toegang tot de bedieningsterminal voor lezen en schrijven;

2. achtergrond baan uitgevoerd zonder toegang tot de controlerende terminal, dat wil zeggen, wanneer u probeert te schrijven of te lezen vanaf de terminal, zullen alle processen in de groep een SIGTTOU- of SIGTTIN-signaal ontvangen en worden onderbroken;

3. een opgeschorte taak is een taak die zich in een opgeschorte toestand bevindt als gevolg van het ontvangen van een SIGSTOP-, SIGTTIN- of SIGTTOU-signaal; de processen van de opgeschorte taak lopen niet totdat ze online of op de achtergrond worden gebracht.

Elke taak die door de shell wordt gestart, krijgt een positief geheel getal, dat vervolgens wordt gevolgd door de shell en wordt gebruikt als een identificatie voor een specifieke taak. Als u een proces (pijpleiding) op de achtergrond start, geeft de shell de ID van het lopende proces (procesgroep) en het taaknummer weer.

Daarnaast houdt de shell de status van de "huidige" en "vorige" banen bij. De huidige taak is de taak die het laatst op de achtergrond is gestart of is onderbroken vanuit een interactieve status. De vorige baan is de laatste vaste baan. De huidige taak is gemarkeerd in de lijst met taken met een plus, de vorige - met een min.

De syntaks voor het specificeren van een taak-ID is

waar id jobid kan worden opgegeven in een van de volgende formaten:

Wanneer het taakbeheersubsysteem is ingeschakeld, worden de volgende opdrachten toegevoegd aan de gebruikersomgeving om taken te manipuleren:

bg [%jobid ]

Hervat de uitvoering van een onderbroken taak en zet deze op de achtergrond. Als taak-ID% jobid

fg [%jobid ]

Hervat de uitvoering van een onderbroken taak en zet deze in de interactieve modus; maakt een taak die op de achtergrond wordt uitgevoerd ook interactief. Als taak-ID% jobid weggelaten, verwijst de opdracht naar de huidige taak.

banen [-l] [%jobid ]

Geeft een lijst weer van taken die zijn onderbroken of op de achtergrond worden uitgevoerd. Als% is opgegeven jobid, communiceert over een specifieke taak. Met de schakeloptie -l (de letter "el") worden de proces-ID's afgedrukt.

doden [-SIGNAAL ] % jobid

Versie kill-commando's voor opdrachten. De opdracht stuurt het gespecificeerde signaal naar de processen van de gespecificeerde taak, de standaard is SIGTERM.

Druk combinatie -Z onderbreekt de huidige interactieve taak.

ps- krijg een lijst van alle processen:

ps [-toetsen]

o Bij het ontbreken van sleutels wordt de lijst met processen van de gebruiker zelf getoond (proces-ID, terminalnummer en processortijd besteed aan het proces). Sleutels:

informatie weergeven over alle lopende processen;

-ugebruiker

informatie weergeven over de processen van de opgegeven gebruiker;

"volledige" lijst (zie onderstaande tabel);

"lange" lijst (zie onderstaande tabel);

procesgroep- en sessie-ID's weergeven.

Opdracht uitvoervelden ps

Beschrijving

Processtatus:

O- uitgevoerd ( Op processor),

R- klaar om te rennen ( uitvoerbaar),

S- slaapt ( Slapen),

Z- zombies ( Zombie),

t- gestopt ( Gestopt).

De identifier van de gebruiker namens wie het proces is gestart (met de sleutel -F de gebruikersnaam wordt weergegeven)

Proces-ID

Bovenliggende proces-ID

Groeps-ID verwerken

Sessie-ID

Procesprioriteit (hoe meer, hoe lager)

Relatieve prioriteit (leuk nummer)

Procesgrootte in pagina's (paginagrootte is te vinden met het commando pagina grootte)

Starttijd proces

Bedieningsterminal ("?" - voor daemons)

De totale tijd die de verwerker besteedt aan de uitvoering van het proces

Procesnaam (met sleutel -F de eerste 80 tekens worden weergegeven opdrachtregel)

*) - in een kolom Sleutels er wordt aangegeven welke toets aan het commando moet worden gegeven ps zodat het bijbehorende veld in de uitvoer verschijnt. Markering " allemaal"betekent dat het veld altijd wordt weergegeven, ook wanneer de opdracht zonder schakelaars wordt uitgevoerd. Toetsen -f, -l, -j kunnen samen worden gebruikt om gecombineerde output te krijgen. Sleutels -f, -l, -j bepaal niet over welke processen gegevens moeten worden uitgevoerd, maar stel alleen het uitvoerformaat in. Gebruik toetsen om processen te selecteren -EU.

Team ps heeft ook een sleutel -O(letter "o"), waarvan de parameter een door komma's gescheiden lijst van uitvoervelden is. U kunt dus alleen de vereiste velden selecteren en aanvullende gegevens over het proces weergeven die niet in de bovenstaande tabel worden vermeld. Sleutelveldnamen -O zie de referentie Mens.

2.8 Gebruikers

De aan- of afwezigheid van een gebruiker in het systeem wordt bepaald door een vermelding in het bestand / etc / wachtwoord... Elke record is een reeks van zeven velden, gescheiden door dubbele punten.

%meer / etc / passwd

De velden hebben van links naar rechts de volgende betekenis:

1. GEBRUIKER- Gebruikersnaam.

2. WACHTWOORD- in oudere Unix-versies werd dit veld gebruikt om het versleutelde wachtwoord van de gebruiker op te slaan; in moderne versies bevat het veld "x" en wordt het versleutelde wachtwoord opgeslagen in een bestand / etc / schaduw die alleen door de superuser kan worden gelezen.

3. UID- gebruikers-ID is een positief geheel getal, 0 is gereserveerd voor de superuser.

4. GID- identificatie van de groep waartoe de gebruiker behoort.

5. GECOS- een willekeurige tekstcommentaar (in de regel de voor- en achternaam van de gebruiker).

6. HUIS- de thuismap van de gebruiker.

7. SCHELP- shell - een programma dat is gestart om de sessie van een gebruiker in het systeem te onderhouden. Voor gewone gebruikers het is de schil.

Als een gebruiker lid moet worden van meer dan één groep, specificeer dan de gebruikersnaam in de overeenkomstige regel van het bestand om hem aan andere groepen toe te voegen / etc / groep.

%meer / etc / groep

De groep die is opgegeven voor de gebruiker in het bestand / etc / wachtwoord wordt de primaire groep van deze gebruiker genoemd, de rest van de groepen waarin hij is opgenomen volgens het bestand / etc / groep, - ondergeschikt. De primaire groep verschilt alleen in het volgende van de secundaire:

· Wanneer een gebruiker een bestand aanmaakt (en de directory heeft geen SGID-bit ingesteld), zal de eigenaarsgroep van het nieuwe bestand de primaire groep van de gebruiker zijn (hij zal het bestand zelf bezitten).

Bestand / etc / groep op deze manier vervult het twee functies: ten eerste definieert het de namen en identifiers van de groepen; ten tweede geeft het de deelname aan van gebruikers in groepen die ondergeschikt zijn aan hen.

Om te bepalen aan welke groepen je deelneemt, moet je de opdracht geven

Nadat de gebruiker zich bij het systeem heeft aangemeld, wordt de huidige map voor hem zijn thuismap (gespecificeerd in het veld HOME in het bestand / etc / wachtwoord). Voordat de opdrachtregelprompt wordt weergegeven, voert de sh-shell de opdrachten uit die in het bestand zijn geschreven .profiel(begint met een punt) gevonden in de homedirectory van de gebruiker ( bash voert het bestand uit .bashrc). Dit bestand wordt meestal omgevingsvariabelen(allereerst - de variabele PATH) en eventuele sessieparameters.

%meer .profiel

Merk op dat de huidige map (".") zich in het PATH bevindt. Let op het commando exporteren die de variabele markeert als "exporteerbaar", d.w.z. de variabele wordt doorgegeven aan de omgeving van de onderliggende processen die door uw shell zijn gestart; anders is het alleen zichtbaar in het shell-proces.

PATH = / usr / bin: / usr / sbin: / usr / ccs / bin: / usr / ucb: / usr / local / bin: / usr / openwin / bin :.

U kunt de PATH-variabele "on the fly" wijzigen door er een ander pad aan toe te voegen (naar de prog-directory waar het hallo-programma zich bevindt) als volgt:

%PAD = $ PAD: ./ prog

%PAD exporteren

%echo $ PATH

(Een dollarteken voor de naam van een variabele betekent dat de waarde van die variabele op de opdrachtregel is vervangen.)

2.9 Streamomleiding en leidingen

Er zijn drie standaard streams in UNIX OS: input stream, output stream en standard protocol stream (error stream).

Streamomleiding stelt u in staat om te veranderen standaard invoer(gevolgtrekking):

< - изменение источника стандартного ввода;

>, >> - verander de ontvanger van standaarduitgang.

Voorbeelden van :

cat> bestandsnaam- de uitvoer van het cat-programma omleiden naar de bestandsnaam (als dit bestand bestaat, gaat de vorige inhoud verloren);

kat >> bestandsnaam- voeg de inhoud van de uitvoer van het cat-programma toe aan de inhoud van de bestandsnaam;

kat< filename - vorm de standaardinvoer van het cat-programma uit de inhoud van de bestandsnaam.

Standaard streams - input stream, output stream en error stream (protocol stream) hebben een vaste nummering - respectievelijk 0, 1 en 2. Deze nummers (stroomdescriptornummers) kunnen expliciet worden gebruikt. Bijvoorbeeld de invoer

prog 1> bestand

gelijk aan schrijven

prog> bestand

Om een ​​streamnaam te onderscheiden van een bestandsnaam, laat u het streamnummer voorafgaan door het `&'-symbool:

prog> bestand 2> & 1

Dit is waar de standaarduitvoer wordt omgeleid naar bestand (> bestand). Bovendien worden foutmeldingen ook doorgestuurd naar het bestandsbestand: schrijven van 2> & 1 betekent het omleiden van de foutstroom naar standaarduitvoer, die op zijn beurt werd doorgestuurd naar een bestand.

Commentaar: het commando wordt van rechts naar links geparseerd door de interpreter: eerst worden de streams samengevoegd (2> & 1), en dan wordt de standaarduitvoer (1) omgeleid naar het bestand.

In dit opzicht is het handig om het pseudo-apparaat / dev / null te gebruiken, dat alle ingevoerde tekens verwijdert. Dit wordt gebruikt wanneer het nodig is om uitvoerstromen volledig te negeren (onderdrukken).

Kanaal is een softwaretool die UNIX OS-processen bindt met een I/O-buffer. Processen starten als

$ process_1 | proces_2 | ... | process_n

betekent standaard output werkwijze _1 wordt doorgelust naar standaardinvoer werkwijze _2, standaard uitvoer werkwijze _2 wordt doorgelust naar standaardinvoer werkwijze _3, enz. In dit geval wordt eerst een kanaal gemaakt en vervolgens worden alle processen tegelijkertijd gestart voor uitvoering en wordt de totale uitvoeringstijd bepaald door een langzamer proces.

...

Vergelijkbare documenten

    Studie van het input-output-subsysteem en het bestandssysteem van het besturingssysteem van de Windows NT-familie. Analyse van de functies van de TotalCommander-toepassing en de interactie met het bestandssysteem en het I / O-subsysteem. Interactie van TotalCommander met netwerkadapters.

    laboratoriumwerk, toegevoegd 06/12/2012

    De hiërarchische structuur van het Unix-bestandssysteem. Consistente verwerking van gegevensarrays, de mogelijkheid om bestanden te maken en te verwijderen, buffercache. Bescherming van informatie, behandeling van randapparatuur als bestanden. De interne structuur van het Unix-bestandssysteem.

    samenvatting, toegevoegd 23-03-2010

    Maak een UNIX-programma dat het uitvoeringskenmerk van een bestand voor de huidige gebruiker controleert. Kenmerken van toegangsrechten voor mappen. Schelp; algemene scriptsyntaxis. Beveiligingskenmerken instellen voor gebruikersgroepen.

    scriptie, toegevoegd 05/12/2013

    IO.SYS- en MSDOS.SYS-bestanden; DOS-opdrachtprocessor. Basis invoer-uitvoersysteem, bootloader, gebruikersdialoog met DOS, opdrachten. Nadelen van de programmeertaal C++. Creatie en beschrijving van een programma waarmee u kunt werken met bestanden in DOS-omgeving, zijn algoritme.

    scriptie, toegevoegd 12/02/2009

    De GNU / Linux Mandriva-distributie gebruiken, die terecht wordt beschouwd als een van de gemakkelijkste voor beginnende gebruikers om te leren, om te communiceren met de GNU / Linux-shell. Informatie over het formaat en de algemene toetsen van het cal-commando.

    laboratoriumwerk, toegevoegd 28-12-2012

    Software-ontwerp. Schema van de initiële vorming van de bestandsdirectory, het weergeven van de bestandsdirectory, het verwijderen van bestanden, het sorteren van bestanden op naam, aanmaakdatum en grootte met behulp van de directe selectiemethode. Directorybeheer in het bestandssysteem.

    scriptie toegevoegd op 01/08/2014

    De geschiedenis van de ontwikkeling van UNIX OS, de voordelen ervan. UNIX-computerbeheer. Interpretatie van de opdrachtregel en de structuur van het bestandssysteem. Procesbesturingsopdrachten. Systeembeheertools en gebruikersaccounts.

    presentatie toegevoegd op 05/12/2014

    Functies en hoofdcomponenten van programmeersystemen. Tools voor het maken van programma's. Vertalers van programmeertalen. Compilerprincipes en fasen, transformatie van de programmeertaal in machine code... Interpreter transformatie mechanisme.

    presentatie toegevoegd op 02/07/2012

    Studie van de basisregels voor het ontwerp van besturingssystemen. Structuur van het bestandssysteem. Componenten die manieren bieden om informatie te ordenen, zoeken en beheren. Korte beoordeling speciale en gewone bestanden. Basis UNIX-systeemopdrachten.

    handleiding, toegevoegd op 12/02/2009

    Beschrijving van het Unix-bestandssysteem. Het werk van de hoofdcommando's ls, cmp, comm, hun sleutels. Ontwikkeling van een softwareproduct dat werkt in Windows-omgeving en die een emulator is van de opdrachtprocessor van het Unix-besturingssysteem. De keuze van de uitvoeringsmiddelen.

Linux heeft geen aparte entiteit genaamd "system". Een systeem is een systeem dat bestaat uit een groot aantal componenten die met elkaar in wisselwerking staan. De belangrijkste systeemcomponent is de gebruiker. Hij is het die de auto bestuurt, en die voert zijn bevelen uit. De handleidingen in de tweede en derde sectie beschrijven systeemaanroepen (kernelfuncties) en bibliotheekfuncties. Dit zijn de directe opdrachten naar het systeem. Toegegeven, ze kunnen alleen worden gebruikt door een programma te schrijven (meestal in de C-taal), vaak een vrij complex programma. Het feit is dat kernelfuncties bewerkingen op laag niveau uitvoeren, en om zelfs de eenvoudigste gebruikerstaak op te lossen, is het noodzakelijk om verschillende van dergelijke bewerkingen uit te voeren, waarbij het resultaat van het werk van de een wordt getransformeerd voor de behoeften van de ander. Het wordt noodzakelijk om een ​​andere, hogere en gebruiksvriendelijkere systeembesturingstaal voor de gebruiker uit te vinden. Alle commando's die Methodius in zijn werk gebruikte, maakten deel uit van deze specifieke taal.

Hieruit kon gemakkelijk worden geconcludeerd dat een speciaal programma deze commando's ook zou moeten verwerken, ze in een reeks systeem- en bibliotheekaanroepen zou moeten veranderen, en daarmee voert de gebruiker continu een dialoog onmiddellijk na het inloggen op het systeem. En zo bleek: dit programma heet opdrachtregelinterpreter of commando shell("Schelp"). Het wordt een "shell" genoemd, juist omdat alle systeemcontrole als het ware "van binnenuit" gaat: de gebruiker communiceert ermee in een taal die hem uitkomt (met behulp van een tekstopdrachtregel), en hij communiceert met andere delen van het systeem in een taal die voor hen geschikt is (door geprogrammeerde functies op te roepen).

De bovenstaande regels voor het ontleden van de opdrachtregel zijn dus de regels die precies werken in de opdrachtinterpreter: de gebruiker voert een regel in vanaf de terminal, de shell leest deze, soms - converteert deze volgens bepaalde regels, breekt de resulterende regel in opdracht en parameters, en voert vervolgens de opdracht uit en geeft haar deze parameters door. Het commando analyseert op zijn beurt de parameters, selecteert de sleutels ertussen en doet wat gevraagd werd, waarbij tegelijkertijd gegevens voor de gebruiker op de terminal worden weergegeven, waarna het eindigt. Wanneer de opdracht is voltooid, wordt de opdrachtinterpreter, die naar de achtergrond is verdwenen, hervat, hij leest de opdrachtregel opnieuw, ontleedt deze, roept de opdracht op ... Dit gaat door totdat de gebruiker de shell vertelt zichzelf af te sluiten (met behulp van uitloggen of de control character ^ D ", wat voor de shell hetzelfde betekent als voor andere programma's: er zal geen invoer meer zijn van de terminal).

Natuurlijk zijn er verschillende shells in Linux. De eenvoudigste hiervan, die in vroege versies van UNIX verscheen, heette sh, of de "Bourne Shell", naar de auteur, Stephen Bourne. Na verloop van tijd werd het - waar mogelijk - vervangen door een krachtigere bash, "Bourne Again Shell".

Woordspeling: "Bourne Again" leest hardop als "wedergeboren", dat wil zeggen, "herboren".

bash verslaat sh op alle mogelijke manieren, vooral in de bewerkingsmogelijkheden van de opdrachtregel. Naast sh en bash kan "The Z Shell" in het systeem worden geïnstalleerd, zsh, de krachtigste commando-interpreter van vandaag (geen grap, 22 duizend regels documentatie), of tcsh, een bijgewerkte en ook zeer krachtige versie van de oude "C Shell" -shell, waarvan de opdrachtsyntaxis vergelijkbaar is met de C-programmeertaal.

Toen Gurevich Methodius' account aan het systeem toevoegde, vroeg hij niet welke commando-interpreter hij nodig had, omdat hij wist: voor een beginner was de naam van de commando-interpreter een lege zin. De naam van de shell die direct na het inloggen voor de gebruiker wordt gelanceerd, is echter de zogenaamde. opstart shell De (login shell) is een onderdeel van het gebruikersaccount dat de gebruiker kan wijzigen met het chsh (change shell) commando.

Met welke systeembeheertaak een Linux-gebruiker ook wordt geconfronteerd, hij moet een shell-oplossing hebben. In feite is het oplossen van een gebruikersprobleem het beschrijven in de shell-taal. De taal van de communicatie tussen de gebruiker en de tolk van de opdracht is: taal op hoog niveau programmeren, enerzijds aangevuld door het organiseren van de interactie van commando's en het systeem, en anderzijds door middel van interactie met de gebruiker, het vergemakkelijken en versnellen van het werken met de commandoregel.

Illustratie 2. Opdrachtregelinterface. Tweede druk, herzien en uitgebreid. Interactie van de gebruiker met de computer via de terminal en shell.

Opdrachten en hulpprogramma's

$ ongeveer s. ... ... (vier en een half duizend regels!)

Voorbeeld 18... zinloos commando

Eén mislukte lancering van apropos was genoeg voor Methodius om te begrijpen dat er veel commando's in Linux zijn. Het kwam bij hem op dat geen enkel programma, zelfs geen shell, alle gedocumenteerde commando's zelf zou kunnen bedenken. Bovendien belde Gurevich de meeste teams Gereedschap, dat wil zeggen, handige programma's. Daarom hoeft de shell niet alles te kunnen doen wat de gebruiker invoert. Het volstaat voor hem om de opdrachtregel te ontleden, de opdracht en de parameters ervan te selecteren en vervolgens het hulpprogramma uit te voeren - een programma waarvan de naam samenvalt met de opdrachtnaam.

In werkelijkheid zijn er niet veel native commando's in de shell. Dit zijn in feite de operators van de programmeertaal en andere middelen om de tolk zelf te besturen. Alle commando's die Methodius bekend zijn, zelfs echo, bestaan ​​in Linux als aparte hulpprogramma's... shell doet niets anders dan een reeks opties voorbereiden op de opdrachtregel (bijvoorbeeld uitbreiden Sjablonen), start programma's en verwerkt de resultaten van hun werk.

$ type info info is / usr / bin / info $ type echo echo is een ingebouwde shell $ type -a echo echo is een ingebouwde shell echo is / bin / echo $ type -a -t echo ingebouwd bestand $ type -a -t datumbestand $ type -at cat-bestand

Voorbeeld 19... Het type commando bepalen

In bash kan het type commando worden bepaald met behulp van het type commando. eigen commando's bash worden genoemd ingebouwd(ingebouwde opdracht), en voor hulpprogramma's wordt afgedrukt pad met daarin de naam van de directory die het bestand met het bijbehorende programma bevat, en de naam van dit programma. Sommige - de handigste - commando's zijn ingebouwd in bash, ook al zijn ze beschikbaar als hulpprogramma's (zoals echo). Het ingebouwde commando werkt op dezelfde manier, maar aangezien het veel minder tijd kost om het uit te voeren, zal de shell het, indien mogelijk, kiezen. Toets "-a" (" een ll ", natuurlijk), dwingt type om alle mogelijke interpretaties van de opdracht weer te geven, en de -t schakelaar om het opdrachttype weer te geven in plaats van het pad.

Op advies van Gurevich groepeerde Methodius de toetsen door "-at" te schrijven in plaats van "-a -t". Met veel hulpprogramma's kunt u dit doen door de lengte van de opdrachtregel te verkleinen. Als een parametrische sleutel wordt aangetroffen, moet deze de laatste in de groep zijn en moet de waarde, zoals verwacht, daarna volgen. Alleen toetsen met één letter kunnen worden gegroepeerd.

Woorden en scheidingstekens

Bij het ontleden van de opdrachtregel gebruikt de shell het concept scheidingsteken(scheidingsteken). Een scheidingsteken is een teken dat woorden scheidt; dus de opdrachtregel is de volgorde woorden(wat er toe doet) en scheidingstekens(wat niet uitmaakt). Voor shell zijn de scheidingstekens het spatieteken, het tabteken en het regelinvoerteken (die nog steeds tussen woorden kunnen komen op de manier beschreven in de colleges Werken met tekstgegevens en Shell-mogelijkheden). Het aantal scheidingstekens tussen twee aangrenzende woorden doet er niet toe.

Het eerste woord in de triplet wordt doorgegeven aan het commando als de eerste parameter, het tweede als de tweede, enzovoort. dubbele aanhalingstekens:

$ echo Een Twee Drie Een Twee Drie $ echo Een "Twee Drie" Een Twee Drie $ echo "Een>> Oh. En wat nu?> Oh, ik ben de aanhalingstekens vergeten!" Een o. Dus, wat is het volgende? Oh, ik was de quotes vergeten! $

Voorbeeld 20... Citeren op de opdrachtregel

In het eerste geval werden drie parameters doorgegeven aan het echo-commando - "One", "Two" en "Three". Ze bracht ze naar buiten en scheidde ze met een spatie. In het tweede geval waren er twee parameters: "One" en "Two Three". Als gevolg hiervan werden deze twee parameters ook gescheiden door een spatie. In het derde geval was er maar één parameter - van de openingsapostrof "" One "tot de sluiting" ... ik vergat het! " ". De hele tijd dat hij binnenkwam, gaf bash Methodius behulpzaam een ​​hint ">" - als een teken dat de opdrachtregel werd getypt, maar in de modus van het invoeren van de inhoud van aanhalingstekens.

"1. De omgeving is
mechanisme voor het overbrengen van gegevens van het bovenliggende proces naar het kind + "

"2. Een filter in UNIX-systemen heet
een programma dat van het toetsenbord leest zonder I / O om te leiden en naar de terminal schrijft +

"3. De term" "standaardfout van het programma" "betekent:
datastroom waar diagnostische berichten standaard worden uitgevoerd +
"
"6. Voltooiing is
vervanging van de volledige naam van een object door een deel van deze naam +
"
"5. Wat is niet typisch voor de opdrachtvertolker?
een reguliere expressie converteren naar de bijbehorende substring +

"7. Hoeveel X-servers kunnen op één computer worden geregistreerd?
elk nummer +

"8. In X11 grafische omgeving:
elke X-client heeft een X-server nodig, waarvan de identifier moet worden ingesteld met behulp van een parameter of een omgevingsvariabele +

"9. XFree86 is
eigennaam van het grafische subsysteem gericht op de architectuur van de IBM PC + "

". Wat is het instrumentele gebied van menselijke activiteit?
gebied van het creëren van een universele benadering voor het oplossen van een klasse problemen + "

"14. Wat is de reden voor de scheiding van toegepaste en instrumentele gebieden bij het oplossen van een probleem?
het apparaat van het hulpprogramma dat het probleem oplost, heeft mogelijk niets te maken met het probleem zelf of de oplossing ervan +
om de tool te gebruiken om het probleem op te lossen, is het niet nodig om te weten hoe het werkt +
dezelfde technologie kan worden gebruikt om oplossingen te creëren voor problemen op een groot aantal verschillende gebieden, vaak onsamenhangende + "

"15. Welke gebieden moet een ervaren gebruiker van een procedureel systeem kennen?
toegepast +
"

"17. Wat wordt niet ondersteund in vim-editor?
soundtrack van commando's + "

"20. De / var directory op een typisch UNIX-systeem wordt gebruikt om op te slaan:
bestanden waarvan de grootte en het aantal niet vooraf bekend zijn +

"21. Wat staat er in de /etc/rc3.d directory op een Linux-systeem?
symbolische links naar opstartscripts systeemdiensten +"

"23. Documentatie in de vorm van info-pagina's
sterke hypertekst die kan worden verkregen uit andere presentatieformaten voor documentatie +

"25. Het principe van gegarandeerde vaardigheden vereist dat:
met de meest algemene vaardigheden om met de machine te werken, kon de gebruiker zijn problemen al oplossen +

"26. Een recept in een procedureel systeem is
beschrijving van de toepassing van het systeem in de taal van het toepassingsgebied +

"27. Selecteer een item dat alleen de principes van het organiseren van procedurele systemen bevat
persoonlijke verantwoordelijkheid en gegarandeerde vaardigheden + "

"28. Een nominale entiteit is
vervolgens, op basis waarvan het systeem besluit om toegang te verlenen tot het object +

"29. Verticale informatiestromen behandelen
objecten van verschillende mate van betekenis +

30. Het subject-subject model van toegangsrechten wordt gebruikt voor:
beperkingen op toegangsrechten van één specifiek onderwerp tot één specifiek object +

"31. Stadia van de laadprocedure op drie niveaus:
boot, keuze van opstartprogramma, keuze van systeemkernel +
"
"32. Wat kan niet worden gedaan in het FreeBSD-opstartschema?
bootloader van een partitie die niet in MBR is gedeclareerd, maar in uitgebreide partitie +
"

"34. (kies een verkeerd antwoord) Basis regex bevat het concept
groepsnummer +

"35. Een uitgebreide reguliere expressie omvat het concept
selecteer bewerking +

"36. Welke van de regels" "abcdf" "" "" abcdbcdf "" "" "abcdef" "" "af" "" "adbdf" "" "acf" "komt overeen met PB" af "
acf +

"37. Wat is het" "controle-invoerprobleem" "in teksteditors?
bedieningscommando's zijn talrijker en gevarieerder dan bedieningstoetsen, maar om een ​​bedieningscommando aan te roepen, is het wenselijk om een ​​minimum aan acties uit te voeren +

"38. Het ex-hulpprogramma is
lijn bij lijn tekstverwerker vergelijkbaar met vi, altijd actief in opdrachtregelmodus + "

"40. Een actief proces verschilt daarin van een achtergrondproces:
alleen het actieve proces heeft de mogelijkheid om gegevens in te voeren vanaf de terminal + "

"41. De PID (proces-ID) is
een uniek nummer toegewezen aan elk proces +

"42. Hoe stop ik een bevroren programma?"
ontdek de PID en stuur een "" KILL ""-signaal met behulp van het kill + programma
"
"43. Het delen van bronnen is
beperking van de methode van toegang tot bronnen (toegangsbeleid) en de mogelijkheid om de bron te gebruiken (toegangsrechten) +
"

"45. In de functie werkomgeving komt binnen
unificatie, verdeling en boekhouding van systeembronnen +

"46. Hoeveel _ways_ zijn er voor toegang in het UNIX-bestandssysteem?
drie: schrijf, lees en gebruik +

"48. Het nominale onderwerp in UNIX is uniek gedefinieerd
UID +

"49. De makers van UNIX-systemen rekenden op
voor een goed opgeleide en geïnteresseerde gebruiker in de ontwikkeling van het systeem +
"
"0. Daemons op een typisch UNIX-systeem
komen overeen met het concept van systeeminhoud van de besturingsomgeving +
"
"51. UNIX-systeeminterface
op basis van tekstgegevensoverdracht +

"2. Shell-vervanging is
tijdelijke of permanente lancering van een ander programma in plaats van de opdrachtinterpreter +

"4. Basiscommando's voor het werken met bestanden:
ls, rm, mv, cp +

"6. Als de huidige map software bevat minstens bestand met de naam "" a "", en met de opdracht ls a * ontvangt het hulpprogramma ls

lijst van alle bestanden in de huidige map waarvan de naam begint met "a" + "

"7. Het nummer 11 in de naam X11 is
grafisch protocol versienummer +
"
"8. Met welke benadering van OS-ontwikkeling komt de" desktop "metafoor overeen?
procedureel, aangezien het een legenda + . bevat
"
"9. In X11 grafische omgeving:
De X-client doet verzoeken om grafische I / O en de X-server voert deze uit en communiceert ook met de gebruiker door invoerapparaten te pollen +
"
"10. Een project in een projectief systeem is
een set gegevens die de eigenschappen van het systeem volledig instelt op basis van +

"11. Specificeer het toepassingsgebied, niet typisch voor projectieve systemen
afrekenen in de supermarkt +

"12. Een project in een projectief systeem is een verzameling gegevens die ondubbelzinnig beschrijft:
alle eigenschappen van het toekomstige systeem die nodig zijn voor de gebruiker +

"13. Wie is de gebruiker van het procedurele systeem?
Klant +

"14. Wat is een mens-machine-systeem?
een systeem waarin de oplossing van een probleem ontstaat als gevolg van mens-machine interactie +

"15. Noem het instrumentele en toegepaste gebied bij het oplossen van het volgende probleem: het maken van een spoorschema
transport en veiligheid - instrumenteel gebied; wiskundige statistiek en wiskundige logica - toegepast +
"
"16. Tekstlabels
gebruikt in opdrachten om naar een door de gebruiker gedefinieerde plaats in de tekst te gaan +

18. Is het mogelijk om de functie van verplaatsen door te implementeren? hyperlinks in HTML-formaat?
ja, maar dit vereist hoogstwaarschijnlijk het gebruik van externe programma's om de bewerkte gegevens te analyseren en extra werkbestanden te maken +

"19. UNIX-standaardmappen zijn onderverdeeld
trouwens de opgeslagen bestanden worden gebruikt door het systeem en door de gebruiker + "

"20. De mappen rc1.d, rc2.d, etc. bevatten
symbolische links naar opstartscripts, van twee verschillende soorten +

"21. De map / etc op een typisch UNIX-systeem wordt gebruikt om op te slaan:
configuratiebestanden en systeemopstartscripts +

"22. Doel van het veld NAAM:
een korte beschrijving van het object dat als index dient in de whatis + database


NAAM en BESCHRIJVING +

"24. Selecteer het item waarin alleen de belangrijkste informatiebronnen over het systeem worden vermeld
handleidingen en / usr / share / doc +

"25. (kies een verkeerd antwoord) Naleving van de principes van het organiseren van procedurele systemen helpt
zelfformulering en oplossing van problemen +

"6. De dialoog tussen mens en machine in een procedureel systeem is meestal gebaseerd op:
activiteit van een machine die oplossingen biedt +

"28. Vertraagde gegevensoverdracht is mogelijk
alleen in een systeem met toegangssessies +

"32. Een uitgebreide partitie is
elk, behalve het eerste, gebruikte deel van de schijf, te beginnen met de schijfpartitioneringstabel +

"36. Welke van de regels" "abcdf" "" "" abcdbcdf "" "" "abcdef" "" "af" "" "adbdf" "" "acf" "komt overeen met de PB" a (bcd) * f "
abcdf abcdbcdf af +

"37. De afkorting van commando's in vi oorzaken
de volgorde van bewerkingscommando's kan worden gelezen door hun volledige naam + "

"38. De vi-editor heeft drie manieren om met tekst te werken:
opdrachtregel, opdracht en invoegmodus +
"
"39. Als u in de vi-opdrachtmodus op de " c " "-toets drukt, zal
wachten op een verplaatsingscommando, waarna het corresponderende deel van de regel wordt verwijderd en de overgang naar invoegmodus +

"40. De eindlijn is
een seriële byte-overdrachtsapparaat naar / dev dat in staat is invoer- en uitvoerstromen om te zetten en + signalen door te geven

"42. Een signaal is
bestandssysteem onafhankelijke manier van interactie tussen processen + "

"43. Wat is het verschil tussen een besturingssysteem en een besturingsomgeving?
besturingssysteem- dit is een overweging van een mens-machinesysteem vanuit het oogpunt van de ontwikkelaar en de besturingsomgeving - vanuit het oogpunt van de gebruiker +

"44. Wat is het verschil tussen reken- en uitwisselingstaken?
terwijl de uitwisselingstaak wacht op het einde van de I / O-bewerking, kan de teltaak worden uitgevoerd, zelfs als deze in de wachtrij staat om later te worden uitgevoerd + "

"45. Wat is de betekenis van het onderscheid maken tussen de systeem- en gebruikersinhoud van het besturingssysteem?
systeeminhoud wordt geassocieerd met instrumentaal, en + "

"46. Wat is volledig geïmplementeerd in UNIX?
vertrouwde entiteit + "

"47. Waar dient de" t-bit "" van de directory voor?
zodat de gebruiker niet het recht heeft om de bestanden van anderen uit deze map te verwijderen +

"49. Het moeilijkste in een UNIX-systeem om te behouden

het principe van de begrijpelijkheid van de context, aangezien de mogelijkheden van het systeem voortdurend toenemen +
"
"50. De meeste functies gebruikersomgeving op Unix-systemen neemt het over
shell en bestandssysteem +

"51. De concepten van" systeemhulpprogramma "en" gebruikershulpprogramma "in UNIX

overlap door vermenging van instrumentale en toegepaste gebieden +
"
"3. De term" "programmeerstandaardinvoer" "betekent:

de datastroom waar de standaarduitlezing vandaan komt +

4. De opdrachtregelinterface verscheen vanwege:

de noodzaak om projectontwikkeling, lancering van oplossingen en resultatenanalyse te combineren in één enkele interface +
"
"5. Bij het bewerken van de opdrachtregel en geschiedenis is het belangrijkste:

minimalisering van acties voor de belangrijkste functies - zoeken, verwijderen, voltooien, enz. +

"9. X11R6 is

naam en versienummer van het grafische gegevensoverdrachtprotocol +
"
"10. Zonder naleving van welk principe is een volwaardig projectief systeem onmogelijk?

principes zijn met elkaar verbonden, daarom schaadt schending van de rest, en bijgevolg het systeem + "
"11. Bij het beheersen van het projectieve systeem moet de gebruiker:


"
"11. Het beginsel van informatietransparantie vereist dat:

er was genoeg informatie in het systeem om het volledig onder de knie te krijgen +

"15. Noem het instrumentele en toegepaste gebied bij het oplossen van het volgende probleem: het ontwerpen van een rolstoellichaam

auto-industrie en geneeskunde - toegepast veld; weerstand en chemie van metalen - instrumentaal +
"
"16. Als mogelijk, de vim-editor
veel beter dan vi + editor

"19. Wat doet? mount commando?
maakt het gespecificeerde bestandssysteem toegankelijk als een submap in de mappenboom +

"24. Selecteer het item waarin alleen kritische velden leiderschap

BESCHRIJVING en ZIE OOK + "

"26. Een procedure in een procedureel systeem is

gebruikersactie die de eigenschappen van het object verandert + "
"27. Selecteer een item dat alleen de principes van het organiseren van procedurele systemen bevat

overlappende procedures en gegarandeerde vaardigheden +
"
"28. De informatiestroom in het geheimhoudingsmodel is

het significantieniveau van het object wijzigen +
,
"30. Vertrouwd onderwerp

kan het systeembeveiligingsbeleid schenden +
"
"31. Het schema met drie niveaus maakt het mogelijk

het opstartproces beschermen tegen hacking door een aanvaller die toegang heeft gekregen tot de systeemconsole "

BootROM, BootBlock, BootProg +
"
"33. Hoeveel standaardpartities passen er in één schijfpartitioneringstabel (HDPT) op een IBM-compatibele computer?"

34. De reden voor het veelvuldig gebruik van reguliere expressies in UNIX

de meeste UNIX-projecten zijn gestructureerde tekst die gemakkelijk kan worden geparseerd met reguliere expressies +

"36. Het contextadres specificeert

het bereik van regels waarop het corresponderende commando wordt toegepast +

eindapparatuur die de gegevensinvoer of -uitvoerstroom beëindigt +

"46. Kan ik het bestand van iemand anders uit mijn directory verwijderen?

Ja. Verwijderen is een bewerking op een map, niet op een bestand +

"49. UNIX is
naam van de klasse van projectieve mens-machine computersystemen +

"
"50. Pakketten op een typisch UNIX-systeem

"1. Operatie" "|" "in de schaal

scheidt de twee commando's: de uitvoer van de eerste wordt omgeleid naar de invoer van de tweede +

"8. Wat is het verschil tussen de termen" X-terminal "en" "xterm"
X-terminal is computer en xterm is programma +
"

"10. Het projectieve systeem is gebaseerd op de eis
de processen die erin plaatsvinden begrijpen +
"

"12. Het inverse probleem van een projectief systeem is

wijziging van het systeemontwerp op basis van de analyse van producttekortkomingen +
"
"13. Wat is het toegepaste veld van menselijke activiteit?

probleemstelling en oplossingsgebied +
"

"15. Noem het instrumentele en toegepaste gebied bij het oplossen van het volgende probleem: het creëren van een online casino

wiskundige statistiek en financiële activiteiten - toegepast gebied; webdesign en psychologie - instrumentaal +
"
"16. De instellingen van de vi-editor kunnen worden gewijzigd

op twee manieren zonder beperkingen + "
"7. Wat wordt niet ondersteund in vim?
navigatie op hyperlinks in HTML-formaat (zonder gebruik te maken van externe links) +
"
"18. Is het mogelijk om de functie van het bewerken van spreadsheets te implementeren?

ja, maar dit vereist hoogstwaarschijnlijk het gebruik van externe programma's om de bewerkte gegevens te transformeren + "
"19. Runlevels zijn

bedieningsprofielen van de USG-familiesystemen, die verschillen in de lijst met uitgevoerde functies +
"
20. Grote fout in het "lineaire" opstartschema (ook bekend als het oude BSD-schema, FreeBSD4)

om de volgorde van het laden van services te wijzigen, moet u het opstartscript bewerken en syntaxisfouten introduceren die gepaard gaan met onbruikbaarheid van het systeem + "
"21. De /usr-directory op een typisch UNIX-systeem wordt gebruikt om op te slaan:

de meeste bestanden die nodig zijn voor regulier werk systemen + "
"22. Het doel van het veld SYNOPSIS:
snelle referentie over het gebruik van het object +

"
"23. Alle pagina's van de handleiding

verdeeld in zeven tot negen secties +
"
"24. Selecteer het item waarin alleen de belangrijkste informatiebronnen over het systeem worden vermeld
handleidingen en infopagina's + "

"26. Een legende in een procedureel systeem is
beschrijving van het systeemapparaat in de taal van het toepassingsgebied +
"
"26. Een recept in een procedureel systeem is

beschrijving van de toepassing van het systeem in de taal van het toepassingsgebied +
"
"28. ACL-gebaseerd objectmodel"

kent aan elk object een willekeurige lijst van onderwerpen en hun toegangsrechten toe +
"

"32. Selecteer het item waarvan de subitems overeenkomen met drie opeenvolgende niveaus van pre-systeem laden

apparaatselectie, bootloaderselectie en configuratie, kernelselectie en configuratie + "
"33. Hoeveel standaard hoofdpartities kan ik hebben op een IBM-compatibele computer?

vier als extra secties niet verstrekt, anders - drie + "

"35. Een en dezelfde reguliere expressie kan worden gebruikt in alle hulpprogramma's die met RT . werken

alleen basic, vooraf aangepast volgens de stijl +
"

"37. De vi-schermeditor

bestaat in elk UNIX-systeem, maar als de terminal niet succesvol is geconfigureerd, kan deze alleen in de regel-voor-regel-modus worden gebruikt +
"
"38. Een geneste opdracht in vi kan bestaan ​​uit:

vermenigvuldiger, acties en beweging in de tekst +

een bestandssysteemobject dat een tekenreeks bevat die wordt geïnterpreteerd als een bestandspad +
"
"42. (kies fout antwoord) Hoe stop ik het programma" cat "wanneer het draait zonder parameters?

stuur het een einde-van-bestand karakter (meestal "" ^ Z "") +

unificatie, scheiding en boekhouding van systeembronnen +
"
"45. Wat is de" taakcontext ""?

informatie die nodig is om de taak te manipuleren bij het organiseren van pseudo-parallelisme +
"
"45. Wat is" virtueel geheugen "?
manier om de adresruimte tussen taken te verdelen +

"49. UNIX-sockets

een gevolg van de constante ontwikkeling van het systeem door verschillende organisaties +
"

"51. Taken in de UNIX-proceswachtrij

worden uitgevoerd in de volgorde die rekening houdt met de plaats in de wachtrij, maar op zo'n manier dat de uitvaltijd van het systeem wordt verminderd + "
"3. De term" "programmeerstandaarduitgang" "betekent:

standaard datastroom +
"
"4. In de regel die is getypt als reactie op de" "prompt" "" shell, is het eerste woord meestal
hulpprogramma + "

"8. In X11 grafische omgeving:

X-server is een programma dat grafische invoer- / uitvoerapparaten + " vereist

"11. Het principe van de begrijpelijkheid van de context vereist dat:

om het probleem van het systeem op te lossen, zou het niet nodig zijn om de werking van de meeste delen van het systeem te bestuderen +

"19. Op UNIX-systemen

verschillende soorten bestandssystemen worden gebruikt +
"
"20. Welk proces wordt onmiddellijk na voltooiing van de download aan elke terminal gekoppeld?"

getty + programma "

"25. Het procedurele systeem is gebaseerd op de eis

vermindering of uitsluiting van de dialoog van een persoon en een machine van concepten die niet zijn opgenomen in het toegepaste veld + "
"26. Het principe van overlappende procedures vereist dat:

elk probleem kan worden opgelost met behulp van één bestaande procedure of de opeenvolgende toepassing van meerdere +

"29. Het betrouwbaarheidsmodel introduceert een ban

naar operaties die leiden tot het verplaatsen van het object naar een hoger niveau + "

"37. Hoofdgebied een teksteditor gebruiken op UNIX
creatie van informatie- en trainingsteksten
ontwikkeling en wijziging van programma's en configuratiebestanden +
ontwikkeling en transformatie van systeemdiensten
ontwikkeling en weergave van het uiterlijk van gedrukte documentatie "
"38. De meeste in vi

tekst bewegingscommando's +
"

"42. De term" terminal "" kan betekenen:

een gatenbestand dat tekstgegevens die erdoorheen worden verzonden op een speciale manier interpreteert +++
"
"43. Voor het traditionele mechanisme virtueel geheugen de stelling is waar:

elke taak heeft een aangrenzende adresruimte die niet toegankelijk is voor een andere taak +

46. ​​​​Wie zal het chown-commando het meest waarschijnlijk uitvoeren?
Supergebruiker +
"

"49. UNIX-systeeminterface

gebaseerd op de overdracht van tekstgegevens, dus er zijn helemaal geen grafische invoer-uitvoerapparaten nodig +

"
"50. De functie van een resource manager in UNIX wordt uitgevoerd door:

kernel - voor de bronnen die nodig zijn voor het systeem zelf, daemons en systeemprogramma's - voor gebruikersbronnen +
"
"1. In welk geval beschouwt het if-statement in de shell de voorwaarde als vervuld?

als na het uitvoeren van de lijst met opdrachten die in het veld "" voorwaarde "" zijn geplaatst, de retourcode niet gelijk is aan 0 + "
"1. Het profiel (profiel) van de schaal is

script uitgevoerd bij inloggen +

"5. Bij normaal gebruik van de sjabloon
de opdrachtinterpreter vervangt een lijst met bestanden die overeenkomen met het patroon in de opdracht +

"
"7. Verplaatsen, wijzigen van de grootte en het uiterlijk van vensters in X wordt afgehandeld door

De X-server is verantwoordelijk voor de grootte en positie van het venster door de opdrachten van het vensterstuurprogramma uit te voeren, dat bovendien frames en decorateurs tekent + "
"7. De eigenaardigheid van grafische bronnen is dat ze

kan alleen nodig zijn door gebruikers met toegang tot grafische I / O-apparaten +

"11. Bij het beheersen van het projectieve systeem moet de gebruiker:

implementeer verschillende oplossingen voor reeds opgeloste eenvoudige problemen +
"
"12. Selecteer een item dat alleen de principes bevat van het organiseren van projectieve systemen

informatietransparantie en persoonlijke verantwoordelijkheid + "
"13. De kennis van welke gebieden is nodig voor een ervaren gebruiker van een projectief systeem?
toegepast en instrumentaal +

"
"14. Welk type systeemgebruiker treedt eerder op als tussenpersoon tussen de machine en de klant?

Projectief +
"
"15. Welk type mens-machine-systemen vereist dat de gebruiker het instrumentele gebied kent?

Projectief +
"
"16. Hoeveel zakken heeft vi?"

één naamloos en meerdere met naam +
"
"17. Heeft het zin om complexe vi-commando's als tekstopmerkingen op te slaan?"

ja, vi heeft een commando om de inhoud van de pocket uit te voeren als een lijst met commando's + "

"23. Selecteer het item waarin alleen de belangrijkste velden van de handleiding worden vermeld.
NAAM en ZIE OOK +

"25. Het principe van beperkt bewustzijn vereist dat:
het oplossen van een gebruikersprobleem vereiste geen studie van het systeem zelf +

verschillend voor verschillende computerarchitecturen +
"
"32. Selecteer het item waarvan de subitems overeenkomen met drie opeenvolgende niveaus van pre-systeem laden
universeel software niveau, multifunctioneel softwareniveau; een niveau gericht op een specifiek kernel- en moduleformaat
hardware-niveau; universeel softwareniveau; multifunctioneel softwareniveau gericht op een specifiek formaat van de kernel en modules +
BIOS-niveau, kernelniveau, zelfafstemmingsniveau van de kernel
hardwareniveau, BIOS-niveau, universeel softwareniveau "

"34. De "links-lange" regel zegt dat
van alle corresponderende PB-substrings wordt degene die eerder begint geselecteerd, en als er meerdere van dergelijke substrings zijn, de langste daarvan +
"
"36. Welke van de lijnen komt overeen met РВ" m (1.3 |) + "
m123x m1x3x1x3 m1-3yy1 + 3 m113113113 mijnxxz +
"
"37. (kies een verkeerd antwoord) Het ed-hulpprogramma is

een interactieve teksteditor met een klein aantal krachtige bewerkingscommando's +

"
"39. Het ed-hulpprogramma is
regel voor regel teksteditor die werkt met elk type terminal +

"44. De functies van de besturingsomgeving omvatten:
unificatie, verdeling en boekhouding van taken +

"45. Wat is" pseudo-parallelisme "?
technologie van gelijktijdige uitvoering van verschillende taken, ongeacht het aantal computerprocessors +

46. ​​​​Waarom "" login "" shell "als" "elke gebruiker" kan starten?
het programma "" login "" wordt uitgevoerd als superuser +
"
"23. Documentatie op UNIX-systeem
moet worden opgemaakt volgens specificaties: algemene informatie en context - in de vorm van man, complexe handleidingen - in de vorm van info of html, boeken en tutorials - in speciale formaten +

"32. Begin virtuele schijf(initrd) is
een mechanisme voor het toewijzen van het bestandssysteem in het geheugen voor het laden en koppelen van kernelmodules tijdens het opstarten vóór het systeem + "

"42. (kies een fout antwoord) Hoe kan ik een programma dat te omvangrijk is tijdelijk pauzeren (bijvoorbeeld," "ls -r /" ")?
stuur de resterende uitvoer door naar een bestand (meestal ""> bestand "") +

annotatie: Beschouwd interne commando's ondersteund door de Cmd.exe-interpreter en de meest gebruikte externe opdrachten (hulpprogramma's voor de opdrachtregel). Beschrijft mechanismen voor I/O-omleiding, pipelining en uitvoering van voorwaardelijke opdrachten. Voorbeelden van opdrachten voor het werken met het bestandssysteem worden gegeven.

Windows-opdrachtregelshell. Interpreter Cmd.exe

In het Windows-besturingssysteem worden, net als in andere besturingssystemen, interactieve (getypt vanaf het toetsenbord en onmiddellijk uitgevoerde) opdrachten uitgevoerd met behulp van de zogenaamde opdrachtinterpreter, ook wel commando processor of de opdrachtshell. Commando tolk of de opdrachtregelshell is een programma dat, terwijl het zich in het RAM bevindt, de opdrachten die u typt, leest en verwerkt. In Windows 9x, zoals in MS-DOS, opdracht interpreter werd standaard weergegeven door de opdracht uitvoerbaar bestand. com. Vanaf de Windows NT-versie implementeert het besturingssysteem: opdracht interpreter Cmd.exe, dat veel krachtigere functies heeft.

Shell lancering

In Windows NT / 2000 / XP, het Cmd.exe-bestand, net als andere uitvoerbare bestanden die overeenkomen met externe teams besturingssysteem bevinden zich in de map% SystemRoot% \ SYSTEM32 (de omgevingsvariabele % SystemRoot% is ingesteld op de systeemmap van Windows, meestal C: \ Windows of C: \ WinNT). Om de opdrachtinterpreter te starten (open een nieuwe opdrachtregelsessie), kunt u Uitvoeren selecteren in het menu Start, de bestandsnaam Cmd.exe invoeren en op OK klikken. Als gevolg hiervan wordt een nieuw venster geopend (zie Fig. 2.1), waarin u opdrachten kunt uitvoeren en het resultaat van hun werk kunt zien.


Rijst. 2.1.

Interne en externe teams. Commandostructuur

Sommige commando's worden direct door de shell zelf herkend en uitgevoerd - dit worden interne commando's genoemd (bijvoorbeeld COPY of DIR) Andere commando's van het besturingssysteem zijn individuele programma's bevindt zich standaard in dezelfde map als Cmd.exe, dat door Windows wordt geladen en uitgevoerd zoals andere programma's. Dergelijke opdrachten worden extern genoemd (bijvoorbeeld MORE of XCOPY).

Laten we eens kijken naar de structuur van de opdrachtregel zelf en hoe ermee te werken. Om een ​​commando uit te voeren, moet je na opdrachtregelprompts(bijvoorbeeld C: \>) voer de naam van dit commando in (hoofdletter is niet belangrijk), de parameters en toetsen (indien nodig) en druk op de toets ... Bijvoorbeeld:

C: \> KOPIE C: \ mijnbestand.txt A: \ / V

De opdrachtnaam hier is COPY, de parameters zijn C: \ myfile.txt en A: \, en de sleutel is / V. Merk op dat in sommige commando's de toetsen niet beginnen met het / teken, maar met het - (min) teken, bijvoorbeeld -V.

Veel Windows-opdrachten hebben een groot aantal extra parameters en sleutels, die vaak moeilijk te onthouden zijn. De meeste commando's hebben een ingebouwde helpfunctie, die in het kort het doel en de syntaxis van de opdracht beschrijft. U krijgt toegang tot deze help door het commando in te voeren met de /?-toets. Als we bijvoorbeeld het ATTRIB /?-commando uitvoeren, zien we in het MS-DOS-venster de volgende tekst:

Bestandskenmerken weergeven en wijzigen. ATTRIB [+ R | -R] [+ A | -A] [+ S | -S] [+ H | -H] [[station:] [pad] bestandsnaam] + Attribuutinstelling. - Verwijdering van het attribuut. R Alleen-lezen kenmerk. A Het kenmerk "Archief". S Het kenmerk "Systeem". H Het kenmerk "Verborgen". / S Bestanden verwerken in alle submappen van het opgegeven pad.

Voor sommige commando's kan de ingebouwde helptekst behoorlijk groot zijn en niet op een enkel scherm passen. In dit geval kan de hulp scherm voor scherm worden weergegeven met MEER teams en het pipe-teken |, bijvoorbeeld:

In dit geval wordt na het vullen van het volgende scherm de helpweergave onderbroken totdat een willekeurige toets wordt ingedrukt. Bovendien kunt u met behulp van de uitvoeromleidingstekens> en >> de tekst die op het scherm wordt weergegeven, naar een tekstbestand sturen om later te bekijken. Om bijvoorbeeld de helptekst voor de XCOPY-opdracht uit te voeren naar het tekstbestand xcopy.txt, gebruikt u de volgende opdracht:

XCOPY /? > XCOPY.TXT

Commentaar

In plaats van de bestandsnaam kunt u de aanduidingen van de apparaten van de computer opgeven. De volgende apparaatnamen worden ondersteund op Windows: PRN(een printer), LPT1 –LPT3(overeenkomstige parallelle poorten), AUX(apparaat aangesloten op seriële poort 1), COM1 – COM3 (overeenkomstig seriële poorten), CON (terminal: voor invoer is dit het toetsenbord, voor uitvoer is dit de monitor), NUL (leeg apparaat, alle I / O-bewerkingen ervoor worden genegeerd).

I / O-omleiding en pipelining (samenstelling) van opdrachten

Laten we eens nader kijken naar de UNIX-achtige concepten van standaard I/O-apparaat remapping en pipelining die worden ondersteund in Windows.

Door I / O-apparaten opnieuw toe te wijzen, kan het ene programma zijn uitvoer naar de invoer van een ander sturen, of de uitvoer van een ander programma onderscheppen en het als invoer gebruiken. Het is dus mogelijk om informatie van proces naar proces over te dragen met minimale programma-overhead. In de praktijk betekent dit dat voor programma's die standaard invoer- en uitvoerapparaten gebruiken, het besturingssysteem het volgende toestaat:

  • uitvoer programmaberichten niet naar het scherm (standaard uitvoerstroom), maar naar een bestand of printer (uitvoeromleiding);
  • lees invoergegevens niet van het toetsenbord (standaard invoerstroom), maar uit een voorbereid bestand (invoeromleiding);
  • Geef berichten die door het ene programma worden uitgevoerd door als invoer aan een ander programma (pipelining of opdrachtcompositie).

Vanaf de opdrachtregel worden deze mogelijkheden als volgt geïmplementeerd. Om tekstberichten die door een commando worden weergegeven om te leiden naar een tekstbestand, moet u de constructie gebruiken

opdracht> bestandsnaam

Als het voor uitvoer gespecificeerde bestand al bestond, wordt het overschreven (de oude inhoud gaat verloren), als het niet bestond, wordt het gemaakt. Het is ook mogelijk om het bestand niet opnieuw te maken, maar de informatie-uitvoer door het commando toe te voegen aan het einde van het bestaande bestand. Om dit te doen, moet het uitvoeromleidingscommando als volgt worden gespecificeerd:

commando >> bestandsnaam

Het symbool gebruiken< можно прочитать входные данные для het gegeven commando niet vanaf het toetsenbord, maar vanuit een specifiek (vooraf voorbereid) bestand:

team< имя_файла

Hier zijn enkele voorbeelden van I / O-omleiding.

  1. Uitvoer van de ingebouwde help voor de opdracht COPY naar het bestand copy.txt:

    KOPIE /? > kopieer.txt

  2. Voeg helptekst voor de XCOPY-opdracht toe aan het bestand copy.txt:

    XCOPY /? >> kopie.txt

  3. Een nieuwe datum invoeren uit het date.txt-bestand (DATE is het commando om de systeemdatum te bekijken en te wijzigen):

    DATUM< date.txt

Als er een fout optreedt bij het uitvoeren van een bepaalde opdracht, wordt hier standaard een melding over weergegeven. Indien nodig kunnen foutmeldingen (standaard foutstroom) worden omgeleid naar een tekstbestand met behulp van de constructie

opdracht 2> bestandsnaam

In dit geval wordt standaarduitvoer uitgevoerd naar een bestand. Het is ook mogelijk om informatie- en foutmeldingen naar hetzelfde bestand te sturen. Dit gebeurt als volgt: