MarianNoaghea / Linux-File-System

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Summary:
I implemented a file system in C using Linked Lists, every Directory has 2 lists, 1 for subdirectories and 1 for files.
The comands avaible: ls, mkdir, rmdir, cd, touch, rm, cat, tree.

Sistemul de fisiere este gandit in felul urmator: directorul de baza este root
de acesta avand 2 liste: una de fisiere si una de directoare, directoarele sunt 
de acelasi tip ca si rootul si la randul lor au 2 liste, si asa mai departe.
Fiecare linie citita de la tastatura este "maruntita" in cuvinte cu ajutorul
strtok apoi pusa intr-un vector de cuvinte, fiecare element din vector fiind
un argument in functie, uneori adresa vectorului este argument.
Pentru functiile touch si mkdir fiecare element din lista a fost introdus
in ordine alfabetica. Pentru ls s-au folosit doua functii de afisare a celor 2
liste(in ordinea ceruta). {entru pwd s-a parcurs ierarhia dinspre directorul
curent inspre root, s-a salvat fiecare element intr-un vector de cuvinte apoi
s-au afisat in ordine inversa.Pentru tree s-a afisat si s-a inaintat in ierarhia
directoarelor intr-un mod recursiv, tinandu-se cont la fiecare pas de cate ori 
s-a inaintat. Pentru rmdir si rm forma este una asemanatoare, totusi din cauza 
diferentelor de forma a celor 2 stringuri de nume, a fost nevoie de o abordare 
diferita pentru fiecare dintre acestea.

About


Languages

Language:C 99.4%Language:Makefile 0.6%