Linux (100 pont)

Az adatok.txt fájlban egy linux operációs rendszert tartalmazó számítógép könyvtárstruktúrájának egy részét modellező adatok vannak.

Minden sor egy mappa. A sor tartalmazza a mappa nevét, méretét bájtokban és almappáinak sorszámát, ami a fájlban elfoglalt helye (sorszáma), egymástól szóközökkel elválasztva. A sorok számozása 0-val kezdődik. Tehát a gyökérmappa (/) a nulladik sorban található.

Pl.:       apparmor.d 23045 46 50 51 52 53 54 55

Írjon programot tree néven, amely megoldja az alábbi feladatokat! 

  • Feltételezheti, hogy a rendelkezésre álló adatok a leírtaknak megfelelnek, a program megírásakor a felhasználó által megadott adatok helyességét, érvényességét nem kell ellenőriznie.
  • A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)! 
  • Ha a felhasználótól kér be adatot, jelenítse meg a képernyőn, hogy milyen értéket vár! Az ékezetmentes kiírás is elfogadott.

  1. Hány mappa található a struktúrában?
  2. Hányszor fordul elő az input mappanév?
  3. Mennyi a struktúrában található állományok összes mérete gigabájtban?
  4. Kérjen be egy elérési utat a felhasználótól \mappa1\mappa2… alakban! Határozza meg és írja ki a megadott mappa méretét!
  5. Helyezze át az adatok.txt fájlban a /home/smici/állatok mappát a /home/kaviar mappába! 
  6. Melyik mappa van a legmélyebben? Ha több ilyet is talál, írja ki az összes elérési útját!
    Legmélyebben az a mappa van, amelyhez a leghosszabb út vezet a gyökérmappából.
  7. Melyik mappaszinten van a legtöbb mappa?
    Egy mappaszinten lévőnek mondjuk azokat a mappákat, amelyek ugyanolyan távolságra vannak a gyökérmappától.
  8. Melyek azok a mappák, amelyek a struktúra közepén helyezkednek el?
    A struktúra közepén elhelyezkedő mappából kiindulva a legtávolabbi almappájuk éppen olyan távolságra van, mint a gyökérmappa.
  9. Melyik 3. szinten lévő mappa teljes mérete a legnagyobb?
    Egy mappa teljes mérete a benne és almappáiban lévő állományok összes mérete.
  10. Készítse el a tree.txt állományt, amely a lenti formában jeleníti meg a könyvtárstruktúrát! A szögletes zárójelben a mappában található fájlok mérete szerepel.
A használandó speciális karakterek kódjai:

Minta a tree.txt állomány tartalmára: 



A feladatot készítette: Schmidt Tibor