De Linux-opdrachtregelinterpreter selecteren. Unix-systeemopdrachttaal. shell-tolk

Wanneer u met FreeBSD werkt, gebruikt u voor het uitvoeren van alledaagse taken in de meeste gevallen een opdrachtinterface (een zogenaamde ``shell''), die opdrachten accepteert die eraan worden gegeven en deze uitvoert. Veel opdrachtinterpreters hebben ingebouwde hulpmiddelen voor het uitvoeren van veelgebruikte opdrachten, zoals bestands- en mapbewerkingen, bewerken van opdrachtregels, opdrachtmacro's en omgevingsvariabelen. FreeBSD wordt geleverd met verschillende opdrachtinterpreters, zoals sh, of Bourne Shell, en csh, ook bekend als C-shell. Veel andere, krachtigere, zoals tcsh of bash, zijn beschikbaar in de portscollectie. Welke shell moet je gebruiken? Het is een kwestie van smaak.

Als je in C programmeert, vind je tcsh misschien leuk, en als je met Linux hebt gewerkt, zul je je meer op je gemak voelen met bash dan met wat dan ook. Elk van deze tolken heeft zijn eigen speciale eigenschappen die hem onderscheiden van de andere en die uw keuze kunnen beïnvloeden. Een van de meest gebruikte functies van de opdrachtinterpreter is het aanvullen van een gedeeltelijke bestandsnaam tot de volledige. U kunt alleen de eerste paar tekens van de bestandsnaam typen, op de TAB-toets drukken en de shell wordt automatisch geopend. We hebben bijvoorbeeld twee bestanden met de naam foobar en foo.bar. Stel dat we het bestand foo.bar willen verwijderen. Om dit te doen, typt u rm fo op het toetsenbord. .Je ziet het volgende: rm foo.bar .Hier is de zogenaamde console-oproep, die aangeeft dat de tolk de bestandsnaam niet kan voltooien, omdat het onmogelijk is om het bestand uniek te identificeren op basis van de tekens die je hebt ingevoerd. De bestandsnamen foobar en foo.bar beginnen bijvoorbeeld beide met fo , maar kunnen na het indrukken van TAB alleen op unieke wijze worden uitgebreid naar foo . Als u nu een punt (.) invoert en nogmaals op TAB drukt, vult de interpreter de volledige bestandsnaam aan. Bij het werken met welke opdrachtinterpreter dan ook, zult u omgevingsvariabelen tegenkomen. Een omgevingsvariabele is een reeks tekens die wordt geïdentificeerd door een naam. De waarde van omgevingsvariabelen kan worden gelezen door elk programma dat vanuit een shell wordt uitgevoerd, en bevat vaak configuratie-instellingen voor veel toepassingen en hulpprogramma's. Hieronder staan ​​enkele van de meest voorkomende omgevingsvariabelen met een uitleg van hun betekenis:Beschrijving GEBRUIKERHuidige gebruikersnaam.PADDoor dubbele punten gescheiden mappen waarin u naar uitvoerbare bestanden kunt zoeken.WEERGAVEDe netwerknaam van het virtuele X11-display, indien beschikbaar voor verbinding.SCHELPDe huidige opdrachtinterpreter.TERMIJNNaam (type) van de terminal. Wordt gebruikt om de mogelijkheden van de terminal te achterhalen.TERMCAPLijst met ontsnappingssequenties om verschillende terminalfuncties te besturen.OSTYPENaam (type) van het besturingssysteem. FreeBSD bijvoorbeeld.MACHTYPEMachine- (processor)architectuur.EDITORDe voorkeursteksteditor van de gebruiker.PAGIERHet favoriete hulpprogramma voor het bekijken van bestanden van de gebruiker.MANPADDoor dubbele punten gescheiden mappen waarin naar systeemmapbestanden kan worden gezocht.

Afhankelijk van de shell die je gebruikt, kun je verschillende commando’s gebruiken om de waarden van omgevingsvariabelen te bekijken en in te stellen. In de csh- en tcsh-interpreters is dit bijvoorbeeld setenv . In sh en bash worden deze ingesteld en geëxporteerd. Om in het bijzonder de waarde van de EDITOR-variabele (in csh of tcsh) in te stellen of te wijzigen in /usr/local/bin/emacs , voert u het commando uit: setenv EDITOR /usr/local/bin/emacs Als u bash gebruikt: export EDITOR="/usr /local/bin/emacs" Om de waarde van een variabele te achterhalen, bijvoorbeeld op de opdrachtregel, plaatst u een dollarteken ($) voor de naam van de variabele. Het echo $TERM-commando drukt bijvoorbeeld de waarde van de $TERM-variabele af. De interpreter accepteert bepaalde tekens, metatekens genaamd, als besturingselementen die speciale functies hebben.

Enkele van de meest gebruikte zijn het *-symbool, dat een willekeurig aantal tekens in een bestandsnaam vervangt, en ? , ter vervanging van één teken. Deze metatekens worden gebruikt om op masker naar bestanden te zoeken. Het echo*-commando doet bijvoorbeeld bijna hetzelfde als het ls-commando, aangezien alle bestanden uit de huidige map onder het *-masker vallen (in feite is dit altijd het geval en hangt af van de commando-interpreter, in bash worden bestanden die beginnen met een punt bijvoorbeeld niet opgenomen onder het masker * - verborgen bestanden). In sommige situaties is het vereist dat de interpreter metatekens beschouwt als gewone tekens die geen speciale betekenis.

Het eenvoudigste zou waarschijnlijk zijn om de opdracht chsh te gebruiken. Als de EDITOR-variabele is gedefinieerd, wordt de teksteditor $EDITOR geladen, anders vi. U moet de waarde van het ``Shell:"'-veld wijzigen en de editor afsluiten, waarbij u de resultaten opslaat. U kunt ook de optie -s van het chsh-commando gebruiken. Bijvoorbeeld: % chsh -s /usr/local/bin/bash
Opmerking: onthoud dat als u een programma als opdrachtinterpreter wilt gebruiken, dit wel het geval moet zijn Noodzakelijkerwijs vermeld in het bestand /etc/shells. Wanneer u tolken vanuit de ports-boom installeert, gebeurt dit doorgaans automatisch.

Als dit niet het geval is, moet je zelf de juiste regel aan dit bestand toevoegen. Laten we bijvoorbeeld zeggen dat je bash handmatig hebt geïnstalleerd, zonder de overeenkomstige poort te gebruiken, en het in de map /usr/local/bin hebt geplaatst. In dit geval kunt u het volgende typen: # echo "/usr/local/bin/bash" >> /etc/shells Nu kunt u veilig de opdracht chsh gebruiken.

In Linux is er geen afzonderlijk object dat "systeem" wordt genoemd. Een systeem is een systeem omdat het bestaat uit talloze componenten die met elkaar interacteren. Het belangrijkste systeemonderdeel is de gebruiker. Hij is het die de machine bestuurt en deze voert zijn bevelen uit. De tutorials in secties twee en drie behandelen systeemaanroepen (kernelfuncties) en bibliotheekfuncties. Het zijn de directe opdrachten voor het systeem. Toegegeven, je kunt ze alleen gebruiken door een programma te schrijven (meestal in de C-taal), vaak een nogal complex programma. Het is een feit dat kernelfuncties bewerkingen op laag niveau implementeren, en om zelfs de eenvoudigste gebruikerstaak op te lossen, is het noodzakelijk om meerdere van dergelijke bewerkingen uit te voeren, waarbij het resultaat van de ene wordt omgezet in de behoeften van de andere. Er is behoefte om voor de gebruiker een andere - hoger niveau en handiger in gebruik - systeembesturingstaal 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 opdrachten ook moet verwerken en deze moet omzetten in een reeks systeem- en bibliotheekoproepen, en het is met dit programma dat de gebruiker voortdurend dialoog voert onmiddellijk na het inloggen op het systeem. En zo bleek: dit programma heet opdrachtregelinterpreter of("schelp"). Het wordt juist een ‘shell’ genoemd omdat alle controle over het systeem plaatsvindt alsof ‘van binnenuit’ het systeem plaatsvindt: de gebruiker communiceert ermee in een taal die voor hem of haar geschikt is (met behulp van een tekstopdrachtregel), en het communiceert met andere delen van het systeem. systeem in een taal die voor hen handig is (door geprogrammeerde functies op te roepen).

De hierboven genoemde regels voor het parseren van de opdrachtregel zijn dus regels die specifiek in de opdrachtinterpreter werken: de gebruiker voert een regel in vanaf de terminal, de shell leest deze, converteert deze soms volgens bepaalde regels, splitst de resulterende regel op in een opdracht en parameters en voert vervolgens de opdracht uit, waarbij deze parameters aan haar worden doorgegeven. Het commando analyseert op zijn beurt de parameters, selecteert de sleutels ertussen en doet wat er gevraagd wordt, waarbij tegelijkertijd gegevens voor de gebruiker op de terminal worden weergegeven, waarna het wordt voltooid. Na voltooiing van de opdracht wordt het werk van de opdrachtinterpreter “terugtrekken naar de achtergrond” hervat, deze leest opnieuw de opdrachtregel, parseert deze, roept de opdracht aan... Dit gaat door totdat de gebruiker de shell opdracht geeft zichzelf te beëindigen (met behulp van uitloggen of het controleteken “^ 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 opdrachttolken in Linux. De eenvoudigste hiervan, die in vroege versies van UNIX verscheen, heette sh, of "Bourne Shell" - naar de naam van de auteur, Stephen Bourne. Na verloop van tijd werd het - waar mogelijk - vervangen door een krachtiger exemplaar, bash, "Bourne Again Shell".

Een woordspeling: ‘Bourne Again’ wordt hardop voorgelezen als ‘wedergeboren’, d.w.z. ‘herboren’.

bash is in alle opzichten superieur aan sh, vooral de bewerkingsmogelijkheden op de opdrachtregel. Naast sh en bash kan het systeem worden geïnstalleerd met “The Z Shell”, 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 syntaxis van de opdrachten vergelijkbaar is met de programmeertaal C.

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

Met welke systeembeheertaak een Linux-gebruiker ook wordt geconfronteerd, hij moet een oplossing hebben in termen van de opdrachtinterpreter. In feite is het oplossen van een gebruikersprobleem het beschrijven ervan in de shell-taal. De communicatietaal tussen de gebruiker en de commandotolk is een programmeertaal op hoog niveau, enerzijds aangevuld door middel van het organiseren van de interactie tussen commando's en het systeem, en anderzijds door middel van interactie met de gebruiker, waardoor het gemakkelijker en sneller wordt om met de opdrachtregel te werken.

Illustratie 2. Commandoregelinterface. Tweede druk, herzien en uitgebreid. Gebruikersinteractie met de computer via de terminal en shell.

Commando's en hulpprogramma's

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

Voorbeeld 18. Zinloze opdracht

Eén mislukte lancering van apropos was genoeg voor Methodius om het te begrijpen: er zijn veel commando's in Linux. Het viel hem op dat geen enkel programma - zelfs geen shell - zelfstandig alle gedocumenteerde commando's kon begrijpen. Bovendien noemde Gurevich de meeste teams nutsvoorzieningen, dat wil zeggen, nuttige programma's. De commando-interpreter hoeft dus niet alles te kunnen uitvoeren wat de gebruiker invoert. Het enige wat hij hoeft te doen is de opdrachtregel ontleden, de opdracht en de parameters eruit halen en vervolgens het hulpprogramma uitvoeren - een programma waarvan de naam overeenkomt met de naam van de opdracht.

In werkelijkheid zijn er weinig native opdrachten in de shell. Kortom, dit zijn programmeertaaloperatoren en andere middelen om de tolk zelf te besturen. Alle commando's die Methodius kent, zelfs echo , bestaan ​​in Linux als afzonderlijke hulpprogramma's. De shell houdt zich alleen bezig met het voorbereiden van een reeks parameters op de opdrachtregel (bijvoorbeeld expand sjablonen), voert programma's uit 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 commandotype definiëren

In bash kan het type van een commando worden bepaald met behulp van het type commando. De eigen commando's van Bash worden aangeroepen ingebouwd(ingebouwde opdracht), en voor hulpprogramma's wordt dit weergegeven pad, met daarin de naam van de map waarin het bestand met het bijbehorende programma zich bevindt, en de naam van dit programma. Enkele van de nuttigste commando's zijn in bash ingebouwd, ook al zijn ze beschikbaar als hulpprogramma's (bijvoorbeeld echo). Het ingebouwde commando werkt op dezelfde manier, maar omdat het aanzienlijk minder tijd kost om uit te voeren, zal de commando-interpreter dit indien mogelijk kiezen. Schakel "-a" (" A ll", natuurlijk), zorgt ervoor dat type alle mogelijke interpretaties van de opdracht afdrukt, en de schakeloptie -t zorgt ervoor dat het type opdracht wordt afgedrukt in plaats van het pad.

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

Woorden en scheidingstekens

Bij het parseren van de opdrachtregel gebruikt de shell het concept scheidingsteken(scheidingsteken). Een scheidingsteken is een teken dat woorden scheidt; dus de opdrachtregel is de reeks woorden(wat er toe doet) en scheiders(wat er niet toe doet). Voor de shell zijn de scheidingstekens het spatieteken, het tabteken en het nieuweregelteken (die nog steeds tussen woorden kunnen verschijnen op de manier beschreven in de lezingen Werken met tekstgegevens en Commandoshell-functies). Het aantal scheidingstekens tussen twee aangrenzende woorden doet er niet toe.

Het eerste woord in de triple wordt doorgegeven aan de opdracht als de eerste parameter, het tweede - als de tweede, enz. Om ervoor te zorgen dat het scheidingsteken binnen het woord staat (en de resulterende string met het scheidingsteken als één parameter wordt doorgegeven) , moet de gehele vereiste subtekenreeks tussen enkele of dubbele aanhalingstekens staan:

$ echo Eén Twee Drie Eén Twee Drie $ echo Eén "Twee Drie" Eén Twee Drie $ echo "Eén > > Oh. En wat nu? > Oh, ik ben de aanhalingstekens vergeten!"

Eén O. Dus wat nu? Oh, ik vergat de aanhalingstekens! $

Voorbeeld 20

Om gebruikersinteractie met het besturingssysteem en applicatieprogramma's te garanderen, is een interface nodig: een systeem voor het verzenden van gebruikersopdrachten naar het besturingssysteem en systeemreacties terug naar de gebruiker. Een dergelijke interactie is een ‘dialoog’ tussen de gebruiker en de computer in een speciale taal, of het nu een taal is die tekens gebruikt die lijken op woorden en uitspraken uit natuurlijke taal, of een taal van beelden. Tegenwoordig zijn er twee fundamentele mogelijkheden voor het organiseren van een interface bekend: grafische interface en opdrachtregel.

De opdrachtregel, een shell-prompt die aangeeft dat het systeem gereed is om een ​​gebruikersopdracht te accepteren, demonstreert het idee van dialoog in zijn meest expliciete vorm. Voor elke ingevoerde opdracht ontvangt de gebruiker een reactie van het systeem: ofwel een nieuwe prompt, die aangeeft dat de opdracht is voltooid en de volgende kan worden ingevoerd, ofwel een foutmelding, een verklaring van het systeem over de gebeurtenissen die zijn uitgevoerd. daarin voorkwam, gericht aan de gebruiker. Wanneer u in een besturingsomgeving met een grafische interface werkt, is de voortdurende dialoog tussen de gebruiker en het systeem niet zo duidelijk, hoewel vanuit het perspectief van het systeem een ​​muisklik in een bepaald gebied op het scherm vergelijkbaar is met een commando dat wordt ingevoerd vanaf het toetsenbord en de reactie van het systeem op de gebruiker kunnen worden gepresenteerd in de vorm van een dialoogvenster.

Bij het werken met de opdrachtregel worden speciale programma's gebruikt om de interface te organiseren: opdrachttolken. Ze accepteren opdrachten van de gebruiker in de vorm van regels tekst met programmanamen en parameters waarmee deze programma's moeten worden uitgevoerd, parseren de ontvangen regels, voeren de benodigde programma's uit en verzenden hun uitvoer naar de gebruiker - ook regels tekst. Alle gebruikersinteractie met het systeem vindt plaats via de opdrachtinterpreter, daarom wordt deze vaak de shell genoemd. Voor het uitvoeren van typische acties zijn de opdrachtreeksen hetzelfde. Dergelijke reeksen opdrachten kunnen naar een tekstbestand worden geschreven en dit tekstbestand vervolgens ter uitvoering aan de opdrachtinterpreter doorgeven. Dergelijke tekstbestanden worden scripts genoemd. Om te kunnen werken moeten ze over de juiste rechten beschikken (vlag "x"). Commandotolken ondersteunen de voorwaardelijke uitvoering van commando's (if-then-else-structuren), lussen, het maken en oproepen van subroutines, enz. De shell-taal is extreem krachtig en stelt u in staat vrijwel elke taak in het systeem te automatiseren. Acties tijdens het opstarten van het systeem worden bijvoorbeeld uitgevoerd door opdrachtinterpreterscripts - beginnend bij /etc/rc.d/rc.sysinit, dat op zijn beurt een groot aantal andere scripts aanroept.

In *nix-systemen zijn, in overeenstemming met hun modulaire ontwerp, verschillende commandotolken beschikbaar. In principe wordt momenteel de bash-interpreter (/bin/bash) gebruikt.

Besturingssysteemopdrachten zijn kleine programma's die zich in de mappen /bin, /usr/bin, /sbin, /usr/sbin bevinden. Als we het in de toekomst over commando's hebben, zullen we deze specifiek begrijpen als de gespecificeerde programma's.

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 om een ​​opdracht in te voeren. Voor gewone gebruikers ziet het eruit als "$", voor een superuser (root) - "#". Vanaf nu zal voor commando's waarvoor root-privileges nodig zijn, de notatie "# command" worden gebruikt.

opdracht - opdrachtnaam. Voor veelgebruikte opdrachten zijn de namen kort, bestaande uit 2-3 letters.

Na de opdrachtnaam worden, indien nodig, sleutels aangegeven. Een sleutel is een opdrachtparameter die het resultaat van de uitvoering ervan beïnvloedt. Veelgebruikte toetsen zijn kort en bestaan ​​uit één teken; Voor minder vaak benodigde lange toetsen worden woorden of afkortingen gebruikt. Korte toetsen beginnen met een "-" teken, lange - met twee "-" tekens. Korte toetsen worden vaak gedupliceerd door lange om de leesbaarheid van scripts te vergroten. Na de sleutels kunnen aanvullende parameters worden gespecificeerd; voor lange sleutels worden dergelijke parameters meestal geschreven met het teken "=". Meerdere schakelaars van één teken kunnen met elkaar worden gecombineerd: 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. De argumenten zijn meestal paden naar bestanden of mappen. Het is mogelijk argumenten te gebruiken die beginnen met een "-" teken. In dit geval worden ze van de toetsen gescheiden door twee “-” tekens:

$ aanraking -- -bestand-met-

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

Meestal ondersteunen programma's verschillende standaardsleutels. Met behulp van de schakelaar "-h" of "--help" wordt korte informatie over het programma weergegeven. Met de sleutel "-v" of "--version" - de versie ervan. Als korte hulp niet voldoende is, kunt u in het helpsysteem een ​​beschrijving van het programma oproepen. Om toegang te krijgen tot help, gebruikt u het man-commando (afkorting van “manual”). Het man-commando neemt de naam van een commando- of configuratiebestand als argument en zoekt naar de man-pagina en geeft deze weer. De hulp van het man-commando bevat informatie over het formaat van het aanroepen van het programma, de sleutels en parameters die het ondersteunt, informatie over de auteurs en licentie van het programma, in sommige gevallen - gebruiksvoorbeelden, links naar ontwikkelaarssites met aanvullende documentatie.

Om handleidingpagina's te bekijken die niet op het scherm passen, gebruikt u de cursortoetsen "Page Up" en "Page Down" om te scrollen. Een spatie verplaatst de gids één pagina vooruit. Om man af te sluiten en verder te werken met het systeem, drukt u op de toets "q" (quit).

Sommige programma's hebben, naast handleidingen in het "man"-formaat, ook uitgebreidere documentatie in het "info"-formaat - opgeroepen via het gelijknamige hulpprogramma.

In tegenstelling tot het ingebouwde programmahintsysteem in het Windows-besturingssysteem, bevatten de man- en info-handleidingen volledige gedetailleerde technische informatie over de werking van opdrachten.

Uw goede werk indienen bij de kennisbank is eenvoudig. Gebruik onderstaand formulier

Studenten, promovendi en 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

COMMANDOTOLK

Het doel van het laboratoriumwerk is om vertrouwd te raken met de commandotaal van het UNIX-systeem (vooral met commando's voor het werken met het bestandssysteem), met het omleiden van invoer-/uitvoerstromen en met programmapijpen.

1. THEORETISCHE INFORMATIE

1.1 Algemene bepalingen

opdrachtprogramma voor tolkbestanden

UNIX is de kern van een time-sharing besturingssysteem, dat wil zeggen een programma dat computerbronnen beheert en beschikbaar maakt voor gebruikers. Hiermee kunnen gebruikers hun programma's uitvoeren, randapparatuur beheren en het bestandssysteem onderhouden. UNIX is een multitasking besturingssysteem voor meerdere gebruikers.

De werking van het UNIX-besturingssysteem kan worden weergegeven als het functioneren van veel onderling verbonden 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 nr. 1).

Gebruikersinteractie met het UNIX-systeem vindt interactief plaats via een opdrachttaal. De shell van het besturingssysteem - shell - interpreteert ingevoerde opdrachten, start overeenkomstige programma's (processen), genereert en geeft antwoordberichten weer.

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

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

Het bestand is toegankelijk op naam. Een lokale bestandsnaam is een reeks tekens, variërend in lengte van 1 tot 14 in Systeem V. Op systemen die het FFS-bestandssysteem ondersteunen, kunnen bestandsnamen maximaal 255 tekens lang zijn. De gebruikte tekens moeten cijfers, Latijnse letters en het `_'-symbool zijn. De lokale bestandsnaam wordt opgeslagen in de overeenkomstige catalogus. Het pad naar het bestand vanuit de hoofdmap wordt de volledig gekwalificeerde bestandsnaam genoemd. Als de toegang tot een bestand begint met het teken "/", wordt aangenomen dat de volledige naam van het bestand is opgegeven en dat het zoeken begint vanuit de hoofdmap; in elk ander geval begint het zoeken naar het bestand vanuit 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 uitgevoerd login, waarbij de gebruiker om een ​​naam en wachtwoord wordt gevraagd.

· gebruikersregistratienaam;

· gecodeerd wachtwoord;

· gebruikers-ID;

· groepsidentificatie;

· informatie over de minimale geldigheidsduur van het wachtwoord;

algemene informatie over de gebruiker

de thuismap van de gebruiker

· registratie schelp gebruiker

Als de gebruiker is ingelogd en het juiste wachtwoord heeft ingevoerd, login voert het programma uit dat is opgegeven in /etc/passwd - registratie schelp gebruiker.

1.3 Systeemgebruikers en bestandseigenaren

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

Het systeem identificeert gebruikers aan de hand van de zogenaamde. gebruikers-ID(UID - Gebruikersidentificatie). Elke gebruiker is lid van een of meer groepen- een lijst met gebruikers die vergelijkbare taken hebben. Elke groep heeft zijn eigen unieke karakter groeps-id(GID - Group Identifier) ​​Het groepslidmaatschap bepaalt de set rechten die leden van deze groep hebben.

UNIX-gebruikersrechten zijn in de eerste plaats rechten om met bestanden te werken. Bestanden hebben twee eigenaren: een gebruikerseigenaar en een groepseigenaar.

Dienovereenkomstig definiëren bestandsbeveiligingskenmerken de rechten van de gebruiker die eigenaar is van het bestand (u), de rechten van een lid van de eigenaarsgroep (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 aangegeven met een "/"-teken, en het pad door de directorystructuur bestaat uit mapnamen gescheiden door een "/"-teken, bijvoorbeeld:

/thuis/werk/document

Op elk willekeurig moment wordt elke gebruiker gekoppeld aan een huidige map, dat wil zeggen de locatie van de gebruiker in het hiërarchische bestandssysteem.

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

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

Soms bevindt het kernelbestand zich direct in de hoofdmap /;

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

opstarten en systeemherstel;

/dev zijn speciale bestanden die randapparaten vertegenwoordigen (zoals de console, lijnprinter, gebruikersterminals en schijven). In een lange lijst ls-l Voor elk apparaatbestand worden in plaats van de grootte twee cijfers aangegeven: hoofdnummer en ondergeschikt nummer. Het hoofdnummer identificeert het apparaatstuurprogramma voor de kernel; vergelijkbare apparaten hebben dezelfde hoofdnummers. Klein nummer identificeert een specifiek apparaatexemplaar.

/etc - configuratiebestanden en systeemorganisatiedatabases;

/home - hoofdmap voor gebruikersmappen;

/tmp - tijdelijke bestanden;

/var - hoofdmap voor bestanden die regelmatig veranderen (bijvoorbeeld logbestanden); Tijdelijke of servicebestanden van verschillende programma's worden opgeslagen in submappen van de map /var. De belangrijkste submappen van de map /var:

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

/var/adm - logboeken van administratieve contextgebeurtenissen.

/var/mail - nieuw (ongelezen) gebruikersbericht.

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

/var/tmp - verschillende tijdelijke bestanden.

/usr - andere mappen, inclusief lib en bin.

Alle bestanden die door gebruikers kunnen worden gemanipuleerd, bevinden zich in een bestandssysteem, een boom waarvan de tussenliggende hoekpunten overeenkomen met mappen, en waarvan de bladeren overeenkomen met bestanden en lege mappen. In werkelijkheid bevat elke logische schijf (partitie van een fysiek schijfpakket) een afzonderlijke hiërarchie van mappen en bestanden. Om dynamisch een gemeenschappelijke boom te verkrijgen, worden individuele hiërarchieën als takken van de gemeenschappelijke boom aan een vast rootbestandssysteem “gekoppeld”.

Elke map en elk bestand in een bestandssysteem heeft een unieke, volledig gekwalificeerde padnaam, die het volledige pad specificeert vanaf de hoofdmap van het bestandssysteem via de mapketen naar de overeenkomstige map of het bijbehorende bestand. De map die de hoofdmap is van het bestandssysteem (hoofdmap) in elk bestandssysteem heeft een vooraf gedefinieerde naam "/" (slash). 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 dat de bin-map de naam van het sh-bestand moet bevatten. Een korte of relatieve bestandsnaam is een naam (mogelijk samengesteld) die het pad naar het bestand vanuit de huidige werkmap specificeert (er is een opdracht en een bijbehorende systeemaanroep waarmee u de huidige werkmap kunt instellen).

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 noemt, d.w.z. de directory die hier onmiddellijk aan voorafgaat in de directoryhiërarchie.

Voor de structuur die in de volgende afbeelding wordt weergegeven, is bijvoorbeeld toegang tot het bestand dat in de afbeelding is gemarkeerd vanuit de huidige map mogelijk onder de volledige naam:

/home/apalko/bestand2

of op relatieve naam:

./../../apalko/bestand2

Fig.1 Voorbeeld van een directorystructuur

Directory's of bestanden hebben namen in overeenstemming met de volgende regels:

· alle tekens zijn toegestaan ​​behalve /;

· sommige namen kunnen het beste ongebruikt blijven, zoals spatie, tab en het volgende: ? "#$^();< >| \ * @ " ~ &. Als u spaties of tabtekens gebruikt in een bestands- of mapnaam, moet u de naam op de opdrachtregel tussen dubbele aanhalingstekens plaatsen;

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

· Het UNIX-systeem maakt onderscheid tussen hoofdletters en kleine letters in bestands- en mapnamen.

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

(niet-ondertekende korte di_mode; /* toegangsmodus en bestandstype */

korte di_nlink; /* telt het aantal links naar een bestand mee */

korte vloeistof; /* ID van de eigenaar */

korte di_gid; /* groeps-ID */

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

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

time_t di_atime; /* datum van laatste toegang */

tijd_t di_mtijd; /* datum laatste wijziging */

time_t di_ctime; /* aanmaakdatum */)

Het di_mode-veld bestaat uit 16 bits:

Afb.2. Toegangsmodus en bestandstype

Het veld di_addr wordt gebruikt om verwijzingen op te slaan naar de locatie van schijfblokken die informatie bevatten die in een bepaald bestand is geplaatst. Dit veld kan 13 pointers opslaan, waarvan de eerste 10 verwijzen naar de eerste tien blokken van het bestand. Als het bestand meer ruimte in beslag neemt, bevat de 11e pointer informatie over de locatie van het primaire indirectieblok, bestaande uit honderdachtentwintig 32-bit pointers naar bestandsblokken; De 12e wijzer wijst naar een secundair indirectieblok met 128 primaire indirectiebloklocatie-indicatoren, en de 13e wijzer wijst overeenkomstig naar de locatie van een tertiair indirectieblok met 128 secundaire indirectieblokaanwijzers. Met dit adresseringsschema is het dus mogelijk toegang te krijgen tot een bestand dat uit maximaal (128x128x128+128x128+128+10) blokken bestaat. Al deze argumenten zijn geldig voor blokken van 512 (128x4) bytes.

Het bestand is toegankelijk op naam. De lokale bestandsnaam bestaat uit een reeks willekeurige tekens. Als er een punt in/tussen wordt aangetroffen, wordt deze gevolgd door een zogenaamde extensie, die doorgaans dient om het bestandstype te bepalen. Bestanden waarin tekst is opgeslagen, hebben bijvoorbeeld meestal de extensie “txt” of “doc” (title.doc, book.txt, enz.), bestanden met de tekst van programma’s in C hebben de extensie “c” (progr.c, code.c, etc.), 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 programma in C 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 bestandstoegang begint met het teken "/", begint de zoekactie vanuit de hoofdmap; in alle andere gevallen begint het zoeken naar bestanden vanuit de huidige map. Elk bestand kan meerdere namen hebben. In feite is de bestandsnaam een ​​verwijzing naar het bestand dat wordt gespecificeerd door het descriptornummer. Door de namen van hetzelfde bestand in verschillende mappen te plaatsen, hebt u dus rechtstreeks toegang tot het bestand in elke map, in plaats van dat u het volledige pad hoeft op te geven.

1 .4 . 1 Bestandstypen

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

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

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

Afb.3. Voorbeeld van UNIX System V-map

Het descriptornummer dat overeenkomt met de naam "." is een link naar een bestand dat informatie bevat over de directory zelf. Het descriptornummer dat overeenkomt met de naam ".." is een verwijzing naar de bovenliggende map van de huidige map. Een descriptornummer van 0 betekent dat de link naar het overeenkomstige bestand uit de directory is verwijderd en dat de directory-invoer als gratis wordt beschouwd.

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

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

Kanaal is een softwaretool die UNIX OS-processen verbindt met een I/O-buffer

2. COMMANDOTAAL VAN HET UNIX-SYSTEEM. SHELL-TOLK

2.1 Algemene bepalingen

In dit gedeelte worden opdrachten en symbolen beschreven die een speciale betekenis hebben en waarmee u het volgende kunt doen:

Zoek en manipuleer groepen bestanden met behulp van een patroon;

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

Voer een groep opdrachten opeenvolgend uit;

Standaard invoer en uitvoer omleiden;

Beëindig actieve programma's.

De SHELL-interpreter is een shell voor het gehele besturingssysteem en voert interfacefuncties uit tussen de gebruiker en het besturingssysteem. Het onderschept en interpreteert alle gebruikersopdrachten, genereert en toont antwoordberichten.

Naast het uitvoeren van standaard UNIX-opdrachten en uitvoerbare bestanden, bevat de tolk zijn eigen taal, die qua mogelijkheden dicht bij programmeertalen op hoog niveau ligt. Met deze taal kunt u programma's (shellbestanden, scripts) maken die taaloperatoren en UNIX-opdrachten kunnen bevatten. Dergelijke bestanden vereisen geen compilatie en worden uitgevoerd in de geïnterpreteerde modus, maar ze moeten wel uitvoerbare toestemming hebben (ingesteld met behulp van de opdracht chmod).

De gebruiker communiceert met de opdrachtinterpreter door opdrachten in te voeren vanaf het toetsenbord na het verschijnen van een prompt (uitnodiging), meestal het "$"-symbool. De tolk beschouwt de ingevoerde reeks tekens als de naam van een intern commando of als de naam van een uitvoerbaar bestand.

Aan de shell-procedure (script) kunnen argumenten worden doorgegeven wanneer deze wordt gestart. 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 zijn ze toegankelijk vanuit de tekst van de procedure.

Voordat we naar enkele shell-instructies kijken, moeten we aandacht besteden aan het gebruik van bepaalde symbolen in opdrachten.

Hieronder staan ​​de gebruikte metatekens schelp:

* ? - hiermee kunt u afgekorte bestandsnamen opgeven bij het zoeken op patroon;

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

; - scheidt opdrachten op de opdrachtregel;

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

"..." - annuleer de waarde van spatie als scheidingsteken en speciale waarde

alle karakters;

"..." - annuleer de waarde van de spatie als scheidingsteken en de speciale betekenis van alle tekens, behalve $ en \;

> - stuurt de opdrachtuitvoer om naar een bestand;

< - stuurt opdrachtinvoer vanuit een bestand om;

>> - leidt de opdrachtuitvoer om waaraan moet worden toegevoegd

einde van bestaand bestand;

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

`...` - gebruikt in paren; Hiermee kunt u de opdrachtuitvoer gebruiken als

opdrachtregelargumenten;

$ - gebruikt met positionele parameters en door de gebruiker gedefinieerd

variabelenaam, ook standaard gebruikt in

als hint schelp.

Bovendien interpreteren bijna alle opdrachttolken, voor het gemak van het werken met bestanden, de "?"-tekens. en "*", waarbij ze worden gebruikt als bestandsnaampatronen (zogenaamde metatekens):

Elk symbool;

* - willekeurig aantal tekens.

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

pr???.* - specificeert bestanden waarvan de naam begint met "pr", vijf tekens bevat en een willekeurige extensie heeft.

Shell-variabelen

Met de shell-taal kunt u met variabelen werken (zonder voorafgaande declaratie). Namen van variabelen beginnen met een letter en kunnen letters en cijfers bevatten. Toegang tot variabelen begint met het teken "$".

Voorbeeld. Naar de homedirectory van de gebruiker gaan: cd $HOME

Toewijzingsoperator. Het toekennen van waarden aan variabelen gebeurt met behulp van de operator `= zonder spaties.

Voorbeeld: S= Hallo

echo $ S

2.2 Hulp verkrijgen

Team manbestand , Waar bestand - een opdracht, programma, configuratiebestand of bibliotheekfunctie waarvoor u hulp nodig heeft. Directory man bestaat uit verschillende secties:

1: Gebruikersopdrachten

1M: Commando's voor systeembeheer

2: Systeemoproepen

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

4: Bestandsformaten

5: Koppen, tabellen, macro's, diversen

6: Demonstraties

7: Apparaat- en netwerkinterfaces

Wanneer een opdracht-, functie- of systeembestand wordt vermeld in de Unix-literatuur, wordt het referentiesectienummer vaak tussen haakjes aangegeven. man, bijvoorbeeld: "opdracht ls(1) is bedoeld om een ​​lijst met bestanden weer te geven." Meestal man vindt zelf de sectie met de benodigde hulp en bladert beurtelings door alle secties, zodat u hulp kunt krijgen met behulp van de opdracht ls kom gewoon binnen

Bediening voor tekstscrollen:

· <ruimte> - pagina naar beneden

· <Binnenkomen> - lijn naar beneden

· <Ctrl>+B- pagina omhoog

· / woord- woord zoeken woord

· Q- Uitgang

Soms kan de vereiste term echter in meerdere secties tegelijk voorkomen ( afdrukkenf- commando- en bibliotheekfunctie); in dit geval man zal een document retourneren uit de eerste gevonden sectie. Om een ​​document uit een andere sectie te verkrijgen, gebruikt u de schakeloptie -s hoofdstuk. Om een ​​lijst met secties te verkrijgen waarin de gewenste term voorkomt, gebruikt u de toets -l. De schakeloptie -a geeft opdracht om alle gevonden referenties uit alle secties achter elkaar weer te geven.

Tja opdracht - uitvoerinformatie over het type opdracht

welke opdracht - bepaal in welke map het programma zich bevindt

2 .3 Commando's voor het werken met mappen

pwd - druk de naam van de huidige map af. Bijvoorbeeld:

ls - weergave van de inhoud van de directory:

$ ls [-switches] [mapnaam]

Als er geen mapnaam is opgegeven, wordt de inhoud van de huidige map weergegeven. De toetsen bepalen het uitvoerformaat, bijvoorbeeld:

L - geeft volledige informatie over elk bestand weer;

A - voer een volledige lijst met bestanden uit, inclusief "." En "..";

T - de lijst sorteren op aanmaaktijd;

C - toon een lijst in verschillende kolommen in alfabetische volgorde, enz.

Voorbeeld: ls-l

geeft een lijst met bestanden weer met hun attributen, bijvoorbeeld:

ABBBBBBBBB C DDDD EEEEEE FFFFF GGGGGGGGGGGG HHHHH- zie hieronder voor een beschrijving van de lijstvelden

A. Bestandstype

- regulier dossier;

d map (eigenlijk is een map een speciaal bestand waarin de bestanden van die map worden vermeld);

l symbolische link (een bestand dat de naam van een ander bestand bevat, is een link naar dat bestand; details hieronder in de opdracht ln );

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

b blokapparaat (lees-schrijfbewerkingen worden gebufferd). Sommige apparaten hebben alleen karakters (bijv. seriële poort) en sommige zijn beide (bijv. schijf).

p pijplijn (pijp; een softwarekanaal georganiseerd als een wachtrij voor het overbrengen van gegevens tussen twee processen).

B. Bestandsgebruiksrechten

De volgende negen 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 eigenaarsgroep en de derde is voor alle anderen. De aanwezigheid van een letter in elk triple 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 directorybestanden te verkrijgen

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

x - recht om te "zoeken" in de map

Met de --x-machtigingenset voor een map kunt u deze invoeren en een bestand lezen waarvan de naam vooraf bekend is (op voorwaarde dat u leesrechten voor dit bestand hebt). U kunt de opdrachten ook uitvoeren ls En ls-l voor dit bestand. Haal tegelijkertijd een lijst met bestanden op ( ls (-l) voor een map), en u kunt geen bestand maken of verwijderen.

Met het r---recht voor een map kunt u de map lezen, dat wil zeggen een lijst met de bestandsnamen ervan krijgen. In dit geval mag u de directory niet invoeren en ook niet de bestandskenmerken achterhalen ( ls-l), noch kan het bestand worden gelezen (zelfs als u leesrechten voor het bestand hebt). Uiteraard kunt u geen bestand aanmaken of verwijderen.

Voor het wijzigen van een bestand is schrijfrechten voor het bestand vereist, aangezien het een bestandsbewerking is. Het verwijderen van een bestand vereist schrijfrechten voor de map waarin het bestand zich bevindt; het is een mapbewerking. Het hebben van schrijfrechten voor een bestand betekent niet noodzakelijkerwijs dat u het kunt verwijderen (hoewel u de bestandsgrootte wel tot nul kunt terugbrengen).

C. Aantal aansluitingen

Aantal harde links (namen) van het bestand - zie de onderstaande opdracht voor meer details ln . Voor een map - het aantal submappen (minstens twee - " . " punt En " .. " twee punten).

D. Bestandseigenaar Gebruiker

E. Groep bestandseigenaar

Een groep is een benoemde groep gebruikers; groepen worden aangemaakt door de beheerder. Elke gebruiker is lid van ten minste één groep. De gebruiker die eigenaar is van het bestand (hierna eenvoudigweg de eigenaar genoemd) is niet noodzakelijkerwijs lid van de groep die eigenaar is, hoewel hij dat wel kan zijn.

F. Bestandsgrootte in bytes

G. Datum van laatste wijziging van bestand

H. Bestandsnaam

CD- map wijzigen (map):

$cd [volledige mapnaam]

Hierdoor wordt de opgegeven map de huidige map. Het cd-commando zonder argumenten herstelt de thuismap van de gebruiker als de huidige map.

mkdir- een nieuwe map aanmaken:

$ mkdir [-keys] nieuwe_directory_naam

Om een ​​nieuwe map te maken, moet de gebruiker schrijfrechten hebben voor de bovenliggende map van de huidige map.

rmdir- een map verwijderen:

$ rmdir maplijst

Het systeem staat niet toe dat u een map verwijdert als deze niet leeg is of als de gebruiker er geen schrijfrechten voor heeft. De huidige map mag niet tot de subboom behoren van de mappen die worden verwijderd

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

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

2.4 Commando's voor het werken met bestanden

aanrakenbestandsnaam verandert het laatste wijzigingstijdstip van het bestand naar het huidige. Bijwerking: als het bestand niet bestaat, wordt het gemaakt met een grootte van nul.

rm- bestanden verwijderen (links naar bestanden):

$ rm [-sleutels] bestandslijst

Met deze opdracht worden bestandsverwijzingen (dat wil zeggen lokale bestandsnamen) verwijderd als de gebruiker schrijftoegang heeft tot de map die deze namen bevat. Als het bestand dat wordt verwijderd tegen schrijven is beveiligd, vraagt ​​de opdracht om bevestiging om het bestand te verwijderen. Sleutels:

· -i - introduceert de noodzaak van bevestiging voor elk bestand dat moet worden verwijderd;

· -f - annuleert de noodzaak van bevestiging voor elk bestand dat moet worden verwijderd;

· -r - stelt de modus in voor het recursief verwijderen van alle bestanden en submappen van een bepaalde map, en vervolgens de map zelf.

Het verwijderen van een bestand betekent feitelijk dat het aantal namen in de inode met 1 wordt verlaagd; de corresponderende systeemaanroep heet unlink(2). Fysiek wordt het bestand door het systeem verwijderd als het wordt gesloten en als de namenteller op nul staat.

chmod- bestandsbeveiligingskenmerken wijzigen:

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

De optionele schakeloptie -R breidt de actie van het commando recursief uit naar de inhoud van mappen, indien aanwezig in de lijst met bestanden die op de opdrachtregel worden doorgegeven.

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

Commando numerieke notatiechmod

De reeks rechten is verdeeld in 4 drielingen:

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

De voorloopnul kan worden weggelaten.

Symbolische commandonotatiechmod

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

Voeg schrijfrechten toe aan de groep:

%chmod g+w-bestand

Opname- en uitvoeringsrechten van anderen verwijderen:

%chmod o-wx-bestand

Voeg lees- en schrijfrechten toe aan de eigenaar en groep:

%chmod ug+rw-bestand

Stel de rechten van anderen in op dezelfde rechten als die van de groep

%chmod o=g-bestand

Stel de rechten van anderen en groepen in op dezelfde rechten als die van de eigenaar

%chmod og=u-bestand

Er kunnen verschillende wijzigingen worden weergegeven, gescheiden door komma's:

Voeg het recht om op te treden toe aan de externe persoon en verwijder het recht om te schrijven van de groep en anderen:

%chmod u+x,go-w-bestand

kat- bestanden samenvoegen en uitvoeren naar standaarduitvoerapparaat:

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

De opdracht leest de opgegeven invoerbestanden achtereenvolgens, als er meerdere zijn, combineert ze en voert de gelezen gegevens uit naar de standaarduitvoerstroom (op het scherm). Door streams (programmakanalen) om te leiden, kan het cat-commando worden gebruikt om verschillende bewerkingen uit te voeren.

cp- bestanden kopiëren:

$ cp input_file_1 [input_file_2 [...input_file_n]] output_file

Deze opdracht heeft twee gebruiksmodi:

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

· als het uitvoerbestand een map is, worden alle opgegeven invoerbestanden daarin gekopieerd, maar de map moet uiteraard vooraf worden aangemaakt.

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

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

mv- bestanden verzenden:

$ mv input_file_1 [input_file_2 [...input_file_n]] output_file

Het verschil tussen het voorwaartse commando en het kopieercommando is alleen dat de invoerbestanden worden vernietigd nadat het commando is uitgevoerd.

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

ln symbolisch linkbeheer

Een symbolische link is een speciaal type bestand dat de naam van een ander bestand bevat (in de listing ls-l dergelijke bestanden worden aangegeven met de letter l in de eerste kolom). Een lezen-schrijven naar een bestandslink resulteert feitelijk in een lezen-schrijven naar het bestand waarnaar het verwijst.

Een symbolische link maken:

ln-sbestaand_bestand bestand_link

Een starre verbinding creëren

In het UNIX-bestandssysteem is een bestandsnaam een ​​verwijzing naar een inode die de bestandskenmerken bevat en een reeks adressen van de schijfblokken waarin de gegevens van het bestand zich bevinden. De inode bevat echter geen verwijzing naar de bestandsnaam, waardoor een bestand meerdere namen kan hebben. De descriptor bevat alleen een teller voor 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 creëren van een andere naam die verwijst naar dezelfde inode:

lnbestaande_bestandsnaam nieuwe_bestandsnaam

2.5 Commando's voor het uitvoeren van bestandsinhoud

bestand bestandsnaam [bestandsnaam ...]

bepaalt het bestandstype door de inhoud ervan te analyseren

katbestandsnaam

voert de inhoud van het bestand uit naar de terminal.

meerbestandsnaam

pager (voert het bestand pagina voor pagina uit, met een stop).

staart [-nummer ] bestandsnaam

drukt de laatste 10 regels van een bestand of een opgegeven aantal af

hoofd [-nummer ] bestandsnaam

drukt de eerste 10 regels van het bestand af, of wat dan ook is opgegeven.

Commando's voor het werken met tekstbestanden

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

$ grep [-sleutels] subtekenreeks bestandslijst

De gevonden strings worden afgedrukt naar standaarduitvoer in een formaat dat wordt bepaald door de sleutels. Als er meerdere bestanden zijn, wordt vóór elke regel de naam van het bijbehorende bestand weergegeven. Sleutels:

· -c - toont de namen van alle bestanden, waarbij het aantal regels met het patroon wordt aangegeven;

· -i - hoofdletters negeren (verschil tussen kleine letters en Latijnse hoofdletters);

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

· -v - uitvoerlijnen die geen patroon bevatten (uitvoerinversie);

· -l - geeft alleen de namen weer van bestanden die de sjabloon bevatten.

WC- het aantal regels, woorden en tekens in bestanden tellen:

$ wc [-lwc] [bestandslijst]

Tel regels - switch -l, woorden - switch -w en tekens - switch -c (standaard -lwc). Als de lijst met bestanden leeg is, wordt de telling uitgevoerd op de standaardinvoerstroom.

· soort- bestandssortering:

sorteer [-sleutels] bestandslijst

Deze opdracht sorteert de invoerbestanden in regels volgens oplopende tekencodes. Sleutels:

o -r - omgekeerde sorteervolgorde;

o -f - negeer het verschil tussen kleine en hoofdletters in Latijnse letters

o -n - numerieke sorteervolgorde, enz.

cmp- uitvoer van de locatie van de eerste discrepantie:

$ cmp bestand_1 bestand_2

Drukt het tekennummer en regelnummer af (in tekstbestanden) waar de discrepantie voor het eerst voorkomt in de invoerbestanden. Werkt met alle bestanden.

verschil- uitvoer van alle afwijkingen in de bestanden:

$diff bestand_1 bestand_2

Drukt alle regels af waar er verschillen zijn tussen de invoerbestanden. Werkt alleen met tekstbestanden.

2.6 Zoeken in het bestandssysteem

Zoeken op bestandsinhoud ( grep)

Team

%grep [-inv]subtekenreeks bestand [ bestand2 ...]

zoekt naar de opgegeven subtekenreeks in de opgegeven bestanden. Eigenlijk grep zoekt niet naar een reeks tekens, maar naar een reguliere expressie. Als u alleen alfanumerieke tekens gebruikt, is er geen verschil. Gebruik echter geen leestekens of andere speciale tekens, tenzij u er zeker van bent dat deze niet op een speciale manier zullen worden geïnterpreteerd (als metatekens voor reguliere expressies). Reguliere expressies worden later in deze cursus bestudeerd. Het commando drukt de regels af uit de opgegeven bestanden, in welke regels de opgegeven regel wordt gevonden subtekenreeks. Als er meerdere bestanden zijn, wordt de regel voorafgegaan door de bestandsnaam met een dubbele punt.

Belangrijkste toetsen:

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

N - geef samen met de lijnen hun nummers weer,

V - uitgangslijnen waarin Niet de opgegeven is gevonden subtekenreeks.

Reguliere expressies

Reguliere expressies zijn een taal voor het beschrijven van tekstpatronen. Reguliere expressies bevatten voorbeelden van tekens die zijn opgenomen in de gezochte tekstexpressie, en structuren die zijn gedefinieerd door speciale tekens (metatekens).

Metatekens die worden gebruikt in reguliere expressies

begin van de lijn

einde van de lijn

elk teken tussen vierkante haakjes; Om een ​​tekenbereik op te geven, worden het eerste en het laatste teken van het bereik aangegeven tussen vierkante haakjes, gescheiden door een koppelteken

elk teken behalve de tekens die tussen vierkante haakjes staan

elk enkel karakter

overschrijft de speciale betekenis van het volgende metateken

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 niet vaker dan n keer voorkomt

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

Voorbeelden van reguliere expressies

zoekt naar tekenreeksen die beginnen met de lettercombinatie "de"

zoekt naar tekenreeksen die eindigen op de lettercombinatie "be"

zoekt naar tekenreeksen die lettercombinaties bevatten: "signaal", "Signaal", "signaL" of "Signal"

zoekt naar lijnen met een punt

zoekt naar tekenreeksen die "th"-tekens bevatten op de 4e en 5e positie

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

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

zoekt naar tekenreeksen die uit vijf willekeurige tekens bestaan

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

zoekt naar tekenreeksen die de combinatie bevatten: cijfer-hoofdletter

zoekt naar tekenreeksen die niet de cijfers "1" of "2" of "3" bevatten

vinden catalogus [uitdrukking ... ]

De opdracht voert een recursieve zoekopdracht uit in de opgegeven map en de submappen ervan. Voor elk bestand worden de waarden berekend van de logische waarden die op de opdrachtregel zijn opgegeven. uitdrukkingen, die worden gecombineerd door "AND". Als het resultaat “TRUE” is, dan wordt de bestandsnaam (meer precies, het pad ernaartoe, beginnend bij het pad dat is opgegeven op de opdrachtregel) catalogus, wordt afgedrukt naar standaarduitvoer). De afwezigheid van expressies is altijd "TRUE" (dat wil zeggen, in dit geval vinden geeft recursief de namen weer van alle bestanden in een map en de submappen ervan).

Basisuitdrukkingenvinden

(Opmerking: hieronder ziet u waar er een numerieke parameter is N, je kunt er een plus of een min voor zetten, en de volgende regel geldt: "+ N" betekent "meer dan N", "-N" betekent "minder dan N", zomaar een getal N betekent ‘gelijk aan N".)

-naambestandsnaam sjabloon

true als de bestandsnaam overeenkomt met het patroon; U kunt het symbool "*" etc. in de sjabloon gebruiken. - in dit geval moet de sjabloon tussen enkele aanhalingstekens worden geplaatst.

-permanentABCD

true als de bestandsrechten exact gelijk zijn aan de opgegeven rechten ( ABCD); machtigingen worden geschreven in numerieke notatie chmod.

-permanent-ABCD

true als de opgegeven toegangsrechten ( ABCD) zijn beschikbaar in het bestand; machtigingen worden geschreven in numerieke notatie chmod.

-typeT

true als het bestandstype gelijk is aan het opgegeven type T, Waar T- een van de karakters: f (normaal bestand), d (directory), l (symbolische link), b of c (blok- of karakterapparaat), 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

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

-mtijdN

true als de inhoud van het bestand is gewijzigd N dagen geleden (bijv. N*24 uur geleden).

-tijdN

true als het bestand voor het laatst is geopend N dagen geleden (bijv. N*24 uur geleden).

-ctijdN

true als bestandskenmerken zijn gewijzigd N dagen geleden (bijv. N*24 uur geleden).

-nieuwerbestandsnaam

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

true als de eigenaar van het bestand niet in de lijst met gebruikers voorkomt (de gebruiker is bijvoorbeeld verwijderd maar zijn bestanden zijn gebleven).

-geengroep

true als de groep die eigenaar is van het bestand niet wordt gevonden in de lijst met groepen (de groep is bijvoorbeeld verwijderd maar de bestanden zijn gebleven).

"AND"-bewerking expliciet.

"OF"-bewerking.

haakjes om expressies te groeperen indien nodig (let op de aanwezigheid van backslashes).

Voorbeeld: Zoek alle bestanden in uw thuismap die beginnen met "a":

%vinden . -naam "een*"

Zoek in uw thuismap alle door de eigenaar uitvoerbare bestanden die beginnen met "a":

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

2.7 Subsysteem Taakbeheer

Het taakbeheersubsysteem is ontworpen voor interactief gebruikerswerk met de shell. Als de shell dit systeem ondersteunt ( /usr/bin/jsh, /usr/local/bin/bash), dan krijgt de gebruiker extra mogelijkheden om lopende processen te manipuleren: verplaats ze van de voorgrond (voorgrond, interactieve uitvoering) naar de achtergrond (achtergrond) en terug, zet processen op en hervat ze. Elke opdracht of pijplijn die door de gebruiker vanaf de terminal wordt ingevoerd, wordt een taak genoemd. In procestermen is een taak een groep processen. Elke taak heeft een van de volgende statussen: interactief (voorgrond), achtergrond (achtergrond) of opgeschort (gestopt). Deze termen worden als volgt gedefinieerd:

1. De interactieve taak is actief en heeft toegang tot de bedieningsterminal voor lezen en schrijven;

2. de achtergrondtaak wordt uitgevoerd zonder toegang tot de besturingsterminal, dat wil zeggen dat wanneer wordt geprobeerd te schrijven of lezen vanaf de terminal, alle processen in de groep het SIGTTOU- of SIGTTIN-signaal zullen ontvangen en zullen worden opgeschort;

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 een onderbroken taak worden pas uitgevoerd nadat ze in een interactieve of achtergrondstatus zijn geplaatst.

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

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

De syntaxis voor het opgeven van een taak-ID is:

waar is de identificatie baanid kan worden opgegeven in een van de volgende formaten:

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

bg [%baanid ]

Herstelt de uitvoering van een onderbroken taak door deze naar de achtergrond te verplaatsen. Als taak-ID % baanid

fg [%baanid ]

Herstelt de uitvoering van een opgeschorte taak en plaatst deze in de interactieve modus; maakt een taak die op de achtergrond wordt uitgevoerd ook interactief. Als taak-ID % baanid wordt weggelaten, geldt het commando voor de huidige taak.

banen [-l] [%baanid ]

Geeft een overzicht van taken die zijn gepauzeerd of op de achtergrond worden uitgevoerd. Als % is opgegeven baanid, rapporten over een specifieke taak. Met de schakelaar -l (letter "el") worden procesidentificaties weergegeven.

doden[-SIGNAAL ] % baanid

Taakversie van het kill-commando. De opdracht verzendt het opgegeven signaal naar de processen van de opgegeven taak, de standaardwaarde is SIGTERM.

Een combinatie indrukken -Z pauzeert de huidige interactieve taak.

ps- krijg een lijst met alle processen:

ps [-toetsen]

o Als er geen sleutels zijn, wordt een lijst met de processen van de gebruiker weergegeven (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.

Commando-uitvoervelden ps

Beschrijving

Processtatus:

O- wordt uitgevoerd ( Op processor),

R- klaar om te lanceren ( Uitvoerbaar),

S- is in slaap ( Slapen),

Z-zombie ( Zombie),

T- gestopt ( Gestopt).

ID van de gebruiker namens wie het proces wordt uitgevoerd (met sleutel -F gebruikersnaam wordt weergegeven)

Proces-ID

Bovenliggende proces-ID

Procesgroep-ID

Sessie-ID

Procesprioriteit (hoe hoger, hoe lager)

Relatieve prioriteit (Nice Number)

Procesgrootte in pagina's (de paginagrootte kunt u vinden met het commando paginagrootte)

Starttijd van proces

Controleterminal ("?" - voor daemons)

De totale tijd die de processor heeft besteed aan het uitvoeren van het proces

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

*) - in de kolom Sleutels geeft aan welke sleutel aan het commando moet worden gegeven ps zodat het overeenkomstige veld in de uitvoer verschijnt. Markering " Alle" betekent dat het veld altijd wordt weergegeven, ook als u een opdracht uitvoert zonder toetsen. Toetsen -f, -l, -j kunnen samen worden gebruikt om een ​​gecombineerde output te produceren. Sleutels -f, -l, -j bepaal niet over welke processen gegevens moeten worden weergegeven, maar stel alleen het uitvoerformaat in. Gebruik de toetsen om processen te selecteren -e, -u.

Team ps heeft ook een sleutel -O(letter "o"), waarvan de parameter een lijst met uitvoervelden is, gescheiden door komma's. Op deze manier kunt u alleen de vereiste velden selecteren en aanvullende procesgegevens weergeven die niet in de bovenstaande tabel staan. Namen van velden voor de sleutel -O zie in de map man.

2.8 Gebruikers

De aan- of afwezigheid van een gebruiker in het systeem wordt bepaald door een vermelding in het bestand /etc/passwd. Elke invoer is een regel die bestaat uit 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 versies van Unix werd het gecodeerde wachtwoord van de gebruiker in dit veld opgeslagen; in moderne versies bevat het veld "x" en wordt het gecodeerde wachtwoord opgeslagen in een bestand /etc/schaduw, dat alleen door de superuser kan worden gelezen.

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

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

5. GECOS- willekeurig tekstcommentaar (meestal de voor- en achternaam van de gebruiker).

6. THUIS- de thuismap van de gebruiker.

7. SCHELP- shell - een programma dat wordt gelanceerd om een ​​gebruikerssessie in het systeem te onderhouden. Voor gewone gebruikers is dit de opdrachtinterpreter.

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

%meer /etc/group

De groep die voor de gebruiker in het bestand is opgegeven /etc/passwd wordt de primaire groep van deze gebruiker genoemd, de overige groepen waarin hij volgens het bestand is opgenomen /etc/groep, - secundair. De primaire groep verschilt alleen van de secundaire groep op de volgende punten:

· Wanneer een gebruiker een bestand aanmaakt (en de SGID-bit van de map is niet ingesteld), zal de eigenaarsgroep van het nieuwe bestand de primaire groep van de gebruiker zijn (de eigenaar van het bestand zal hijzelf zijn).

Bestand /etc/groep vervult dus twee functies: ten eerste definieert het groepsnamen en identificatiegegevens; 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 het commando geven

Zodra een gebruiker zich aanmeldt, wordt zijn huidige map zijn thuismap (gespecificeerd in het HOME-veld in het bestand /etc/passwd). Voordat de opdrachtregelprompt wordt weergegeven, voert de sh-shell de opdrachten uit die in het bestand zijn geschreven .profiel(begint met een punt) in de thuismap van de gebruiker ( bashen voert het bestand uit .bashrc). Dit bestand bevat meestal omgevingsvariabelen (voornamelijk de PATH-variabele) en enkele sessieparameters.

%meer .profiel

Houd er rekening mee dat de huidige map (".") in de PATH-lijst staat. Let op het commando exporteren, wat de variabele markeert als "geëxporteerd", d.w.z. de variabele wordt doorgegeven aan onderliggende processen die door uw shell worden gelanceerd; anders is het alleen zichtbaar binnen het shell-proces.

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

Je kunt de PATH-variabele direct wijzigen door er een ander pad aan toe te voegen (in de prog-directory, waar het hello-programma zich bevindt), als volgt:

%PATH=$PATH:./prog

%PATH exporteren

%echo $PATH

(Een dollarteken vóór de naam van een variabele betekent dat de waarde van die variabele op de opdrachtregel wordt vervangen.)

2.9 Streamomleiding en programmakanalen

UNIX heeft drie standaardstromen: de invoerstroom, de uitvoerstroom en de standaardprotocolstroom (errorstream).

Met streamomleiding kunt u de standaardinvoer (uitvoer) wijzigen:

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

>, >> - wijzig de standaarduitgangsontvanger.

Voorbeelden :

kat > bestandsnaam- het omleiden van de uitvoer van het cat-programma 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 het bestand bestandsnaam;

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

Standaardstreams - invoerstroom, uitvoerstroom en foutenstroom (protocolstroom) hebben een vaste nummering - respectievelijk 0, 1 en 2. Deze nummers (threaddescriptornummers) kunnen expliciet worden gebruikt. Opnemen bijvoorbeeld

prog 1>bestand

is gelijk aan schrijven

prog>bestand

Om de streamnaam te onderscheiden van de bestandsnaam, wordt het teken `&' vóór het streamnummer geplaatst:

prog >bestand 2>&1

Hierdoor wordt de standaarduitvoer omgeleid naar een bestand (>bestand). En daarnaast worden foutmeldingen ook doorgestuurd naar een bestand: het schrijven van 2>&1 betekent dat de foutenstroom wordt omgeleid naar de standaarduitvoer, die op zijn beurt naar het bestand wordt omgeleid.

Opmerking: De opdracht wordt door de tolk van rechts naar links geparseerd: eerst worden de streams samengevoegd (2>&1), en vervolgens wordt de standaarduitvoerstream (1) omgeleid naar een bestand.

In dit opzicht kan het nuttig zijn 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 verbindt met een I/O-buffer. Processen uitvoeren als

$proces_1 | proces_2 | ... | proces_n

betekent dat standaarduitvoer proces _1 wordt kortgesloten naar de standaardingang proces _2, standaarduitvoer proces _2 wordt kortgesloten naar de standaardingang proces _3, enz. In dit geval wordt eerst een kanaal gemaakt en worden vervolgens alle processen tegelijkertijd gestart voor uitvoering, en wordt de totale tijd van hun uitvoering bepaald door het langzamere proces.

...

Soortgelijke documenten

    Studie van het invoer/uitvoer-subsysteem en het bestandssysteem van de Windows NT-familie van besturingssystemen. Analyse van de kenmerken van de TotalCommander-applicatie en de interactie ervan met het bestandssysteem en het I/O-subsysteem. Interactie van TotalCommander met netwerkadapters.

    laboratoriumwerk, toegevoegd 06/12/2012

    Hiërarchische structuur van het Unix-bestandssysteem. Consistente verwerking van data-arrays, de mogelijkheid om bestanden te maken en te verwijderen, buffercache. Informatie beschermen, randapparatuur behandelen als bestanden. Interne structuur van het Unix-bestandssysteem.

    samenvatting, toegevoegd op 23/03/2010

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

    cursuswerk, toegevoegd op 12-05-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 met bestanden in de DOS-omgeving kunt werken, het algoritme ervan.

    cursuswerk, toegevoegd op 12/02/2009

    Gebruik de GNU/Linux Mandriva-distributie, die met recht wordt beschouwd als een van de gemakkelijkst te leren voor beginnende gebruikers, om te communiceren met de GNU/Linux-opdrachtinterpreter. Informatie over het formaat en de basisopties van het cal-commando.

    laboratoriumwerk, toegevoegd op 28-12-2012

    Software-ontwerp. Schema van de initiële vorming van een bestandsmap, weergave van een bestandsmap, bestanden verwijderen, bestanden sorteren op naam, aanmaakdatum en grootte met behulp van de directe selectiemethode. Een directory in een bestandssysteem beheren.

    cursuswerk, toegevoegd 01/08/2014

    Geschiedenis van de ontwikkeling van het UNIX-besturingssysteem, de voordelen ervan. Beheer van een computer met UNIX. Commandoregelinterpretatie en bestandssysteemstructuur. Procesbesturingsopdrachten. Systeembeheertools en gebruikersaccounts.

    presentatie, toegevoegd 05/12/2014

    Functies en hoofdcomponenten van programmeersystemen. Hulpmiddelen voor het maken van programma's. Vertalers van programmeertalen. Principes en fasen van de werking van de compiler, transformatie van een programmeertaal in machinecode. Tolkconversiemechanisme.

    presentatie, toegevoegd 02/07/2012

    Studie van de basisregels voor het ontwerpen van besturingssystemen. Bestandssysteemstructuur. Componenten die manieren bieden om informatie te organiseren, vinden en beheren. Een kort overzicht van bijzondere en reguliere dossiers. Basisopdrachten van het UNIX-systeem.

    trainingshandleiding, toegevoegd op 12/02/2009

    Beschrijving van het Unix-bestandssysteem. Het werk van de hoofdopdrachten ls, cmp, comm en hun sleutels. Ontwikkeling van een softwareproduct dat draait in de Windows-omgeving en een emulator is van de commandoprocessor van het Unix-besturingssysteem. Selectie van implementatiemiddelen.

"1. Het milieu wel
mechanisme voor het overbrengen van gegevens van het bovenliggende proces naar het onderliggende proces +"

"2. Er wordt een filter in UNIX-systemen aangeroepen
een programma dat, zonder I/O-omleiding, van het toetsenbord leest en naar de terminal+ schrijft

"3. De term "programmastandaardfoutuitvoer" betekent:
datastroom waarbij standaard diagnostische berichten worden uitgevoerd+
"
"6. De bouw is voltooid
vervanging van de volledige objectnaam door een deel van deze naam+
"
"5. Wat is niet typisch voor de commandotolk?
het converteren van een reguliere expressie naar de overeenkomstige subtekenreeks+

"7. Hoeveel X-servers kunnen er op één computer worden geregistreerd?
elke hoeveelheid+

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

"9. XFree86 wel
juiste naam van het grafische subsysteem gericht op de IBM PC + architectuur"

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

"14. Wat is de reden voor het scheiden van de toegepaste en instrumentele gebieden bij het oplossen van een probleem?
het ontwerp van een hulpmiddel dat een probleem oplost, heeft mogelijk niets te maken met het probleem zelf of met de oplossing ervan
om een ​​hulpmiddel te gebruiken om een ​​probleem op te lossen, hoef je niet te weten hoe het werkt+
dezelfde technologie kan worden gebruikt om oplossingen te creëren voor problemen op verschillende gebieden, vaak niet-overlappend +"

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

"17. Wat wordt niet ondersteund in de vim-editor?
geluidsopdrachten +"

"20. De map /var op een typisch UNIX-systeem wordt gebruikt voor het opslaan
bestanden waarvan de grootte en het aantal vooraf onbekend zijn +

"21. Wat bevindt zich in de map /etc/rc3.d op een Linux-systeem?
symbolische links om scripts van systeemservices te starten +"

"23. Documentatie in de vorm van infopagina's
hypertekst met een strikte structuur die kan worden verkregen uit andere documentatiepresentatieformaten+

"25. Het beginsel van gegarandeerde vaardigheden vereist dat
met de meest algemene vaardigheden in het werken met de machine, kon de gebruiker zijn problemen al oplossen +

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

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

"28. Het nominale onderwerp is
de basis waarop het systeem een ​​beslissing neemt om toegang te verlenen tot een object+

"29. Verticale informatiestromen hebben te maken met
objecten van verschillende mate van betekenis+

30. Hiervoor wordt het subject-subject-model van toegangsrechten gebruikt
beperkingen op de toegangsrechten van één specifiek onderwerp tot één specifiek object+

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

"34. (kies het verkeerde antwoord) Een reguliere reguliere expressie omvat het concept
groepsnummer+

"35. Uitgebreide reguliere expressie omvat het concept
selectie operatie+

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

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

"38. Het ex-hulpprogramma is
regel-voor-regel teksteditor, vergelijkbaar met de vi-editor, altijd uitgevoerd in opdrachtregelmodus +"

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

"41. PID (procesidentificatie) is
aan elk proces+ wordt een uniek nummer toegekend

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

"45. De functies van de besturingsomgeving omvatten
unificatie, scheiding en boekhouding van systeembronnen+

"46. Hoeveel manieren van toegang zijn er in een UNIX-bestandssysteem?
drie: schrijven, lezen en gebruiken+

"48. Het nominale onderwerp in UNIX wordt op unieke wijze bepaald
UID+

"49. De makers van UNIX-systemen verwachtten
voor een goed opgeleide gebruiker die geïnteresseerd is in de ontwikkeling van het systeem+
"
"0. Daemons in een typisch UNIX-systeem
komen overeen met het concept van systeeminhoud van de besturingsomgeving+
"
"51. UNIX-systeeminterface
gebaseerd op tekstdatatransmissie+

"2. Vervanging in de shell is
tijdelijke of permanente lancering van een ander programma in plaats van de opdrachtinterpreter+

"4. Basisopdrachten voor het werken met bestanden:
ls, rm, mv, cp+

"6. Als de huidige map minstens een bestand bevat met de naam ""a"", dan zal het ls-hulpprogramma met het commando ls a*

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

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

"11. Geef een toepassingsgebied aan dat niet typisch is voor projectieve systemen
betaling in de supermarkt+

"12. Een project in een projectief systeem is een reeks gegevens die op unieke wijze beschrijft
alle eigenschappen van het toekomstige systeem die de gebruiker nodig heeft +

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

"14. Wat is een mens-machinesysteem?
een systeem waarin de oplossing van een probleem tot stand komt als resultaat van de interactie tussen mens en machine+

"15. Noem de instrumentele en toegepaste gebieden bij het oplossen van het volgende probleem: het maken van een spoorwegschema
transport en veiligheid – instrumenteel gebied; wiskundige statistiek en wiskundige logica - toegepast+
"
"16. Tekstmarkeringen
gebruikt in opdrachten om naar een tekstlocatie te gaan die vooraf is gedefinieerd door de gebruiker+

18. Is het mogelijk om de functie van het navigeren door hypertextlinks in HTML-formaat te implementeren?
Ja, maar dit zal hoogstwaarschijnlijk het gebruik van externe programma's vereisen om de bewerkte gegevens te analyseren en extra werkbestanden+ te creëren

"19. Standaard UNIX-mappen zijn onderverdeeld
afhankelijk van de manier waarop de opgeslagen bestanden door het systeem en de gebruiker worden gebruikt +"

"20. In de mappen rc1.d, rc2.d, etc. zijn er
symbolische links naar opstartscripts, van twee verschillende typen+

"21. De map /etc op een typisch UNIX-systeem wordt gebruikt voor het opslaan
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 OMSCHRIJVING+

"24. Selecteer het item dat alleen de belangrijkste informatiebronnen over het systeem vermeldt
handleidingen en /usr/share/doc+

"25. (kies het verkeerde antwoord) Het volgen van de principes van het organiseren van procedurele systemen helpt
zelfstandig formuleren en oplossen van problemen+

"6. De dialoog tussen mens en machine in een procedureel systeem wordt meestal op de basis gebouwd
activiteit van de machine die oplossingen+ aanbiedt

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

"32. Een uitgebreide partitie is
Elk ander deel dan het eerste bruikbare deel van de schijf, te beginnen met een schijfpartitietabel+

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

"37. De afkorting van commando's in vi leidt tot het feit dat
de reeks bewerkingsopdrachten kan worden gelezen met hun volledige naam +"

"38. De vi-editor heeft drie modi voor het werken met tekst:
opdrachtregel, opdracht- en invoegmodus+
"
"39. Wanneer u op de "c"-toets drukt in de vi-opdrachtmodus,
wachtend op een verplaatsingscommando, waarna het corresponderende deel van de regel zal worden verwijderd en de overgang naar invoegmodus+ zal plaatsvinden

"40. De terminallijn is
een byte serieel apparaat in /dev dat in- en uitgangsstromen kan converteren en signalen+ kan verzenden

"42. Het signaal is
een bestandssysteemonafhankelijke manier waarop processen kunnen communiceren +"

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

"44. Wat is het verschil tussen tel- en wisselproblemen?
Terwijl de uitwisselingstaak wacht op het einde van de I/O-bewerking, kan de teltaak worden uitgevoerd, zelfs als deze in de wachtrij staat voor uitvoering later +"

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

"46. Wat is volledig geïmplementeerd in UNIX?
vertrouwd onderwerp +"

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

"49. Het moeilijkste om waar te nemen in een UNIX-systeem is

het principe van begrijpelijkheid van de context, aangezien de mogelijkheden van het systeem voortdurend toenemen+
"
"50. De meeste gebruikersinterfacefuncties op Unix-systemen worden overgenomen door
opdrachttolk en bestandssysteem+

"51. Concepten van "systeemhulpprogramma" en "gebruikershulpprogramma" in UNIX

kruisen elkaar door de vermenging van instrumentale en toegepaste gebieden +
"
"3. De term "standaardprogramma-invoer" betekent:

de datastroom waar de standaardwaarde vandaan komt+

4. De opdrachtregelinterface verscheen vanwege

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

het minimaliseren van acties op basisfuncties - zoeken, verwijderen, voltooien, enz.+

"9. X11R6 wel

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

de principes zijn met elkaar verbonden, dus overtreding van elke overtreding schaadt de anderen, en dus het systeem +"
"11. Bij het beheersen van het projectieve systeem zal de gebruiker dat moeten doen


"
“11. Het principe van openheid van informatie vereist dat

er zat voldoende informatie in het systeem om het volledig onder de knie te krijgen+

"15. Noem het gereedschap en het toepassingsgebied bij het oplossen van het volgende probleem: het ontwerpen van een rolstoelcarrosserie

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

"19. Wat doet het mount-commando?
maakt het opgegeven bestandssysteem beschikbaar als een submap in de mappenboom+

"24. Selecteer een item dat alleen de belangrijkste velden in de handleiding vermeldt

BESCHRIJVING en ZIE OOK+"

"26. Een procedure in een procedureel systeem is dat wel

gebruikersactie die leidt tot wijzigingen in objecteigenschappen +"
"27. Selecteer het item dat alleen de principes bevat van het organiseren van procedurele systemen

overlappende procedures en gegarandeerde vaardigheden+
"
"28. Informatiestroom in het geheimhoudingsmodel is dat wel

het significantieniveau van een object+ veranderen
,
"30. Vertrouwde entiteit

kan het systeembeveiligingsbeleid+ schenden
"
"31. De regeling op drie niveaus maakt dit mogelijk

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

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

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

De meeste UNIX-projecten zijn gestructureerde tekst die goed kan worden geparseerd met behulp van een reguliere expressie+

"36. Het contextadres specificeert

reeks regels waarop het overeenkomstige commando wordt toegepast+

eindapparatuur die een stroom invoer- of uitvoergegevens beëindigt+

"46. Is het mogelijk om het bestand van iemand anders uit uw map te verwijderen?

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

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

"
"50. Pakketten in een typisch UNIX-systeem

"1. Bewerking "|"" in shell

scheidt 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 een computer en xterm is een programma+
"

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

"12. Het omgekeerde probleem van een projectief systeem is

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

gebied van probleemformulering en oplossing+
"

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

wiskundige statistiek en financiële activiteit - toegepast veld; webdesign en psychologie – instrumentaal+
"
"16. Vi-editorinstellingen kunnen worden gewijzigd

twee manieren zonder beperkingen +"
"7. Wat wordt niet ondersteund in de vim-editor?
navigatie door hypertextlinks in HTML-formaat (zonder externe links te gebruiken)+
"
"18. Is het mogelijk om een ​​spreadsheetbewerkingsfunctie te implementeren?

ja, maar hiervoor zal hoogstwaarschijnlijk het gebruik van externe programma's nodig zijn om de bewerkte gegevens te converteren+"
"19. Executieniveaus zijn dat wel

bedieningsprofielen van USG-familiesystemen, verschillend in de lijst met uitgevoerde functies+
"
"20. Het belangrijkste nadeel van het "lineaire" bootstrap-schema (het zogenaamde oude BSD-schema, FreeBSD4)

om de volgorde te wijzigen waarin services worden geladen, moet u het startscript bewerken en syntaxisfouten introduceren die ervoor kunnen zorgen dat het systeem niet goed functioneert + "
"21. De map /usr op een typisch UNIX-systeem wordt gebruikt om bestanden op te slaan

de meeste bestanden die nodig zijn voor de normale werking van het systeem+"
"22. Doel van het veld SYNOPSIS:
snelle hulp bij het gebruik van het object+

"
"23. Alle handleidingpagina's

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

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

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

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

"32. Selecteer een item waarvan de subitems overeenkomen met drie opeenvolgende niveaus van opstarten vóór het systeem

apparaatselectie, bootloaderselectie en configuratie, kernelselectie en configuratie +"
"33. Hoeveel standaard primaire partities kunnen worden aangemaakt op de schijf van een IBM-compatibele computer?

vier, als er geen extra secties zijn voorzien, anders - drie +"

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

enkel basic, vooraf aangepast volgens stijl+
"

"37. Schermeditor vi

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

vermenigvuldiger, actie en tekstbeweging+

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

stuur haar het einde-van-bestand-teken (meestal ""^Z"")+

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

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

"49. UNIX-sockets

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

"51. Taken in de UNIX-proceswachtrij

worden uitgevoerd in een volgorde die rekening houdt met de plaats in de wachtrij, maar op een manier die de downtime van het systeem vermindert +"
"3. De term "standaardprogramma-uitvoer" betekent:

datastroom waarbij standaard opname plaatsvindt+
"
"4. In de regel die wordt getypt als reactie op de shell-prompt, komt het eerste woord het vaakst voor
hulpprogramma +"

"8. In de X11 grafische omgeving:

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

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

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

"19. Op UNIX-systemen

Er worden verschillende typen bestandssystemen gebruikt+
"
"20. Welk proces is verbonden aan elke terminal onmiddellijk na voltooiing van het laden?

getty+ programma

"25. Het procedurele systeem is gebaseerd op de eis

vermindering of uitsluiting uit de dialoog tussen mens en machine van concepten die niet tot het toepassingsgebied behoren +"
"26. Het beginsel 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 verbod

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

"37. Het belangrijkste toepassingsgebied van een teksteditor in UNIX
creatie van informatieve en educatieve teksten
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

tekstnavigatieopdrachten+
"

42. De term ‘terminal’ kan betekenen:

een hole-bestand dat tekstgegevens die er doorheen worden verzonden op een speciale manier interpreteert+++
"
"43. Voor het traditionele virtuele geheugenmechanisme is de volgende bewering waar:

elke taak heeft een aaneengesloten adresruimte die niet beschikbaar is voor een andere taak+

"46. Wie voert het commando "chown" het vaakst uit?
Supergebruiker+
"

"49. UNIX-systeeminterface

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

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

kernel - voor bronnen die het systeem zelf nodig heeft, daemons en systeemprogramma's - voor gebruikersbronnen +
"
"1. In welk geval zal de if-instructie in de shell van mening zijn dat aan de voorwaarde is voldaan?

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 schaalprofiel is

script uitgevoerd bij login+

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

"
"7. Het verplaatsen en 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 raam en voert opdrachten uit van de raamgeleider, die bovendien kozijnen en decorateurs tekent."
"7. Het bijzondere van grafische bronnen is dat ze

is mogelijk alleen nodig voor gebruikers met toegang tot grafische I/O+-apparaten

"11. Bij het beheersen van het projectieve systeem zal de gebruiker dat moeten doen

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

openheid van informatie en persoonlijke verantwoordelijkheid +"
"13. Welke gebieden moet een ervaren gebruiker van een projectief systeem kennen?
toegepast en instrumentaal+

"
"14. Van welk type systeem fungeert de gebruiker het vaakst als tussenpersoon tussen de machine en de klant?

Projectief+
"
"15. Bij welk soort mens-machinesystemen moet de gebruiker kennis hebben van het instrumentele domein?

Projectief+
"
"16. Hoeveel vakken heeft de vi-editor?

één naamloos en meerdere benoemd+
"
"17. Heeft het zin om complexe vi-opdrachten op te slaan als tekstcommentaar?

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

"23. Selecteer een item dat alleen de belangrijkste velden in de handleiding vermeldt
NAAM en ZIE OOK+

"25. Het principe van beperkte kennis vereist dat
voor het oplossen van een gebruikersprobleem was het niet nodig om het systeem zelf te bestuderen+

varieert voor verschillende computerarchitecturen+
"
"32. Selecteer een item waarvan de subitems overeenkomen met drie opeenvolgende niveaus van opstarten vóór het systeem
universeel programmaniveau, multifunctioneel programmaniveau; niveau gericht op een specifiek kernel- en moduleformaat
hardwareniveau; universeel softwareniveau; multifunctioneel softwareniveau gericht op een specifiek kernel- en moduleformaat+
BIOS-niveau, kernelniveau, kernel-bootstrapping-niveau
hardwareniveau, BIOS-niveau, universeel softwareniveau"

‘34. Dat zegt de ‘links-lang-regel’
Uit alle overeenkomstige RT-substrings wordt degene geselecteerd die eerder begint, en als er meerdere zijn, de langste ervan +
"
"36. Welke van de lijnen komt overeen met de RF "m(1.3|)+"
m123x m1x3x1x3 m1-3yy1+3 m113113113 myxxz+
"
"37. (kies het verkeerde antwoord) Het ed-hulpprogramma is

interactieve teksteditor met een klein aantal krachtige bewerkingsopdrachten+

"
"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 voor de gelijktijdige uitvoering van meerdere taken, ongeacht het aantal computerprocessors+

"46. Waarom kan "login" een shell starten "namens" elke gebruiker?
het programma ""login"" wordt gestart met superuser-rechten+
"
"23. Documentatie over het UNIX-systeem
moet worden opgemaakt volgens de specifieke kenmerken: algemene informatie en context - in de vorm van mensen, complexe handleidingen - in de vorm van info of html, boeken en studieboeken - in speciale formaten +

"32. De startende virtuele schijf (initrd) is
een mechanisme voor het plaatsen van een bestandssysteem in het geheugen voor het laden en koppelen van kernelmodules tijdens pre-boot+"

"42. (kies het verkeerde antwoord) Hoe kan ik tijdelijk de uitvoer van een programma pauzeren dat te lang is (bijvoorbeeld ""ls -r /"")?
stuur de resterende uitvoer om naar een bestand (meestal "">bestand"")+