Dit verslag legt in het kort uit wat Linux utilities zijn, hoe ze werken en welke stappen zijn doornomen om ze zelf te programmeren door middel van C++.
Linux utilities zijn een verzameling krachtige programma's die worden gebruikt om het besturingssysteem Linux te beheren. Ze zijn ontworpen om de prestaties, stabiliteit en veiligheid te verbeteren. Met deze tools kunnen taken worden uitgevoerd zoals het beheren van bestanden, het installeren en verwijderen van software, het beheren van netwerken en gebruikersaccounts. Ze zijn gemakkelijk te gebruiken en kunnen worden gebruikt door zowel beginners als gevorderde gebruikers. Ze bieden een krachtige manier om het besturingssysteem Linux te beheren en te onderhouden.
Om linux utilities te kunnen programmeren, moet eerst begrepen worden wat het zijn en wat de mogelijkheden zijn. Op internet staat veel uitleg en tutorials over het gebruik van de linux commando's. Echter is informatie over het zelf programmeren en modificeren ervan in c++ schaars.
Toch is in samenwerking met de docenten en via voorkennis van andere medestudenten, het gelukt om de commando's na te bootsen.
De commando's die zijn gekozen zijn WC en CAT.
WC dat staat voor "word count", doet eigenlijk precies wat het zegt. Het vraagt een tekstbestand aan en leest hoe veel woorden er in het bestand staan en geeft dit als output terug.
Om het zelf programmeren van de commando's mogelijk te maken zijn een aantal dingen nodig. Allereerst een Linux omgeving waar de commando's in getest kunnen worden. Daarnaast een C++ edit programma om de code in te schrijven. Ook is g++ nodig om de code om te zetten naar een linux leesbaar commando.
Zodra de werking van het commando in C++ is herschreven, kan er in de Linux omgeving een g++ commando uitgevoerd worden.
Vervolgens kan het commando worden aangeroepen door middel van de gekozen commandonaam.
Dit zal de code in de C++ file uitvoeren.
Ook kan er tijdens het aanroepen gekozen worden om een opdracht mee te geven. Dit worden "pipes" genoemd. De naam komt van het teken waarmee een pipe wordt aangeroepen "|".
De toepassing die gebruikt is voor de nieuwe WC functie, werkt iets anders dan de originele linux functie. Er zijn een aantal extra toepassingen en output teksten toegevoegd voor gebruiksgemak.
De functie werkt als volgt.
Nadat de functie is aangeroepen, wordt gevraagd welke file uitgelezen moet worden. De gebruiker kan nu het tekstbestand invoeren. Vervolgens worden alle letters, woorden en zinnen geteld en teruggegeven als output.
Naast dat bestaat de optie om als pipe mee te geven of je alleen een van de drie opties wilt ontvangen als output.
Door -l mee te geven krijg je alleen het aantal letters terug.
Door -w mee te geven krijg je alleen het aantal woorden terug.
Door -z mee te geven krijg je alleen het aantal zinnen terug.
Om verder te onderzoeken wat de mogelijkheden van linux utilities zijn, is er nog een extra commando gemaakt die het mogelijk maakt om een tekstbestand aan te maken met een eigen gekozen naam en inhoud. De functie heet createFile en kan worden aangeroepen door de volgende opdracht in linux.
./createfile
Na het aanroepen van de file, wordt gevraagd naar een titel en tekst. Titel staat voor bestandsnaam en tekst voor de inhoud van het bestand. Door middel van de eerste spatie scheid het de twee.
De Cat functie wordt gebruikt om bewerkingen te doen aan voornamelijk text files. De default cat functie print de inhoud van een text bestand in de terminal. zie hieronder een voorbeeld.
Zoals je kan zien wordt de informatie van deze file geprint in de terminal.
In totaal hebben wij 6 functionaliteiten die CAT kan doen in linux nagemaakt.
zoals je aan dit plaatje kan zien wordt er gebruikt gemaakt van 3 verschillende commands met opties. In de eerste wordt de tekst van beide files geprint. De eerste file staat ABC in en in de tweede staat tekst. Vervolgens wordt de command (Test.txt test1.txt >> test3.txt) aangeroept. Deze command zet twee file in één. Vervolgens wordt de tekst van deze file geprint. Dit is het resultaat van de twee files samen.
In deze afbeelding is te zijn hoe de overwrite functie werkt en wat die doet.
Dit is de append functie(file.txt >> file1.txt). Het schrijft de tekst van een andere file bij onder de huidige tekst file.
Bij deze command (file.txt -n) wordt de regelnummer voor de regel uitgeprint.
Om een conclusie te trekken uit dit onderzoeksproject kan gesteld worden dat het gelukt is om Linux utilities toe te passen en na te maken met gebruik van C++. De commando's die gemaakt zijn werken in de Linux omgeving en voeren de taken correct uit.