Fájlok: könyvtár- és fájlkezelő parancsok 1.
2010. July 20. - 20:30 | szerző: jonci

Ebben a cikkben a könyvtárkezelő parancsokat fogjuk megismerkedni. A legtöbb programnál nem ismertetjük az összes paramétert, elég csak a legfontosabbakat ismerni az alapok elsajátításakor. Kezdő felhasználót talán el is riaszthatja a paraméterek sorolása oldalakon keresztül. A legfontosabbakat átvesszük, a többi paraméter megtekinthető a program man oldalán.

Aktuális (munka)könyvtár kiíratása – pwd

A pwd parancs kiírja az aktuális könyvtár teljes nevét elérési úttal:

$ pwd
/home/jonci
$

Könyvtárnév kiíratása útvonalból – dirname

Egy adott könyvtár vagy fájl elérési útvonalából kiírja az elemhez vezető útvonalat:

$ dirname /home/jonci/proba.png
/home/jonci
$ dirname /home/jonci/
/home
$

Ha a fájlnév csak önmagában áll (elérési út nélkül), akkor a visszaadott érték az aktuális könyvtár jele lesz, azaz egy “.” (pont) karaktert:

$ dirname proba.png
.
$

Könyvtárváltás – cd

A kívánt könyvtárba a cd parancs segítségével léphetünk. A célkönyvtárat megadhatjuk mind relatív:

$ pwd
/home/jonci
$ cd temp
$ pwd
/home/jonci/temp
$

mind abszolút hivatkozással:

$ pwd
/tmp
$ cd /home/jonci/temp
$ pwd
/home/jonci/temp
$

Egy szinttel feljebb a “..” könyvtárba való “belépéssel” mehetünk:

$ pwd
/home/jonci/temp
$ cd ..
$ pwd
/home/jonci
$

Az előbbi két parancsmegadást kombinálhatjuk is:

$ pwd
/home/jonci/temp
$ cd ../akarmi
$ pwd
/home/jonci/akarmi
$

FIGYELEM! Az MS-DOS-ban elfogadott “cd..” parancs itt hibát fog eredményezni, ugyanis “cd..” nevű parancs nem létezik. A “..” paraméter, így nem írható egybe a paranccsal.

A felhasználó saját home könyvtárára (/home/<felhasználónév>) a “~” (tilde, hullámjel) jellel lehet hivatkozni. Másik felhasználó home könyvtárát a “~felhasznalónév” rövidítéssel érhetjük el:

$ cd ~/ize
$ pwd
/home/jonci/ize
$ cd ~pedro/bigyo
$ pwd
/home/pedro/bigyo
$

Könnyítésképp’, ha a felhasználó a saját könyvtárába szeretne átlépni (bárhol is legyen), csak ki kell adnia a cd parancsot:

$ pwd
/tmp
$ cd
$ pwd
/home/jonci
$

Könyvtárszerkezet megjelenítése fastruktúrában – tree

A tree segítségével tudjuk megjeleníteni fastruktúrában az aktuális könyvtárból kiinduló könyvtárszerkezetet fájlokkal együtt:

$ pwd
/home/jonci/
$ tree
.
|-- a
|   |-- b
|-- c
|   `-- d
|       `-- proba2
`-- proba1

4 directories, 2 files
$

Megadható az “-L” paraméterrel, hogy milyen mélységig menjen bele a könyvtárakba, a “-d” kapcsolóval letilthatjuk a fájlok megjelenítését:

$ tree -L 1 -d
.
|-- a
`-- c

2 directories
$

Könyvtárak tartalmának listázása – ls, dir, vdir

Az ls, dir és vdir ugyanazt hajtja végre, csak a megjelenítés formázásában térnek el, így csak az ls parancsot írjuk mindenhol. Egy vagy több könyvtár tartalmát listáztathatjuk ki, miközben a megjelenítést különböző paraméterekkel befolyásolhatjuk. A paraméterek mellett azt is meg lehet adni, hogy mely könyvtár tartamát jelenítse meg, ha nem adunk meg könyvtárat vagy fájlt, akkor az aktuális könyvtár tartalmát listázza ki. Alapesetben az ls egy elég egyszerű megjelenítést használ:

$ ls
a  c  proba
$

Kérhetjük a “-1” (egyes) kapcsolóval, hogy ne sorba rendezve, hanem oszlopba rendezve listázza a tartalmat:

$ ls –1
a
c
proba
$

Ha a rejtett fájlokat is meg akarjuk jeleníttetni, akkor a “-A” kapcsolót is meg kell adni:

$ ls –1A
a
c
proba
.proba2
$

De ha a két könyvtár-mutatót is látni szeretnénk, akkor a “-a” paramétert kell átadni:

$ ls –1a
.
..
a
c
proba
.proba2
$

FIGYELEM! Mint látható, az ls parancs elfogadja, ha a paramétereket egybe írjuk, azonban nem mindegyik program “eszi” meg így a paramétereit. A programok man oldalán győződhetünk meg eme tulajdonságáról, vagy a “programnév – -help” paranccsal (esetleg “programnév -h”)

Egy másik hasznos paramétere az “-l” kapcsoló. Ezzel kérhetjük a long format-féle (bővített forma) kiírást, ami a következőképpen néz ki:

$ ls –la /home/jonci
drwxr-xr-x    3 jonci    jonci          72 2009-08-03 11:06 a
drwxr-xr-x    3 jonci    jonci          72 2009-08-03 10:36 c
-rw-r--r--    1 jonci    jonci           0 2009-08-03 10:55 proba
-rw-r--r--    1 jonci    jonci           0 2009-08-03 12:21 .proba2
$

Vegyük sorra, mit is jelentenek a különböző oszlopok:

Első oszlop tovább szegmentálódik. A legelső karakter tartalmazza az állomány típusát: b, c, s, p, l, d, – (bővebben lásd: Fájlok: fájltípusok). A maradék 9 karakter 3 darab 3-as karaktercsoportból tevődik össze, amik a jogokat ábrázolják (lásd: Fájlok: jogosultságok). Az első csoport a tulajdonosra, a második csoport a csoporttulajdonosra, a harmadik csoport a többi felhasználóra vonatkozó jogokat ábrázolja.

Második oszlop a kemény csatolások (hard link) száma, egy fájlhoz minimum 1-es szám tartozik, amikor eléri a 0-as számot, akkor törlődik a fájl. Könyvtárnál a szám minimum 2-es (bővebben: Fájlok: speciális fájlok létrehozása (blokk, karakter, cső).

Harmadik oszlopban szerepel a fájl tulajdonosa.

Negyedik oszlopban jelenik meg a fájl tulajdonoscsoportja.

Ötödik oszlopban láthatjuk az állomány helyelfoglalását.

Hatodik és hetedik oszlopban szerepel a fájl létrehozási dátuma és időpontja.

Nyolcadik oszlop pedig az állomány nevét tartalmazza.

Ha a “-d” kapcsolót is átadjuk, akkor nem a könyvtár tartalmát kapjuk, hanem a könyvtárról kapunk információt:

$ ls -lda /home/jonci
drwxr-xr-x   68 jonci    jonci        4.0k 2009-08-03 11:28 /home/jonci
$

Meg kell említenünk még a “-R” paramétert, amivel rekurzívan kérhetjük egy könyvtár tartalmát, azaz ha egy könyvtáron belül létezik egy másik könyvtár, akkor annak a tartalmát is megjeleníti a képernyőn:

$ ls -lR c
c:
total 512
drwxr-xr-x    2 linux    linux          72 2009-08-03 10:51 d

c/d:
total 0
-rw-r--r--    1 linux    linux           0 2009-08-03 10:51 proba2
$

Könyvtár létrehozása – mkdir

Az mkdir létrehozza a megadott nevű könyvtárakat, de alapesetben csak egy mélységű könyvtárat tud létrehozni:

$ mkdir a/b
mkdir: nem lehet a következő könyvtárat létrehozni: `a/b': Nincs 
                                                   ilyen fájl vagy könyvtár
$ mkdir a
$ mkdir a/b
$

Azonban a “-p” kapcsolóval utasíthatjuk arra, hogy hozza létre a szükséges könyvtárakat a célkönyvtár létrehozásához:

$ mkdir c/d
mkdir: nem lehet a következő könyvtárat létrehozni: `c/d': Nincs 
                                                   ilyen fájl vagy könyvtár
$ mkdir -p c/d
$ tree
.
|-- a
|   |-- b
`-- c
    `-- d

4 directories
$

Üres könyvtár törlése – rmdir

Az rmdir eltávolít minden megadott üres könyvtárat. Ha bármelyik könyvtár argumentum nem egy létező üres könyvtárra utal, az hibának minősül:

$ tree
.
|-- a
|   |-- b
`-- c
    `-- d

4 directories
$ rmdir a
rmdir: "a" eltávolítása meghiúsult: A könyvtár nem üres
$ rmdir a/b
$ rmdir a
$

A törlési folyamatot egy lépésben is elvégezhetjük, ha megadjuk a “–p” paramétert:

$ rmdir -p a/b
$

Kérhető a program arra, hogy akkor se adjon hibaüzenetet, amikor nem sikerült a törlés:

$ tree
.
`-- c
    `-- d

2 directories
$ rmdir c
rmdir: "c" eltávolítása meghiúsult: A könyvtár nem üres
$ rmdir --ignore-fail-on-non-empty c
$ tree
.
`-- c
`-- d

2 directories
$
Email This Post Email This Post Print This Post Print This Post
 
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

2 válasz a “Fájlok: könyvtár- és fájlkezelő parancsok 1.” cikkhez

  1. -mono- says:

    Szia,

    Örülök, hogy rátaláltam a blogodra.
    Hasznosnak tartom, linkeltelek is az ajánlott oldalak közé.
    http://pctamogatas.blogspot.com/

    További jól használható bejegyzéseket, témákat!:)

    -mono-

  2. jonci says:

    Örülök, hogy van haszna 🙂

Szólj hozzá a -mono- cikkhez!