A könyvtárrendszer koncepcióját aligha kell bemutatni az olvasónak: a unixos rendszerek mintájára jelent meg ez a dos/windows-vonalon is (a legelső dos-változatokat követően).
Bár az eltelt fél évszázad nem hagyta érintetlenül, egy unix/linux-rendszer könyvtárszerkezete a mai napig ugyanazon elvek szerint épül föl.
Részlet(ek) a szerző gépéről:
/ ├──bin ├──boot ├──cdrom ├──dev ├──etc ├──home │ ├──lost+found │ └──tux │ └──public_html │ └──txt │ ├──mp │ └──pp ├──lost+found ├──media ├──mnt ├──opt ├──proc ├──root ├──run ├──sbin ├──snap ├──srv ├──sys ├──tmp ├──usr └──var
Ahogyan az ábrán is látható, a gyökérkönyvtár jele / (perjel); ahogyan az ábrán nem látható, a felhasználó saját könyvtárának jele ~ (hullámvonal) – (gondolatjel, de ez csak gyenge vicc volt) ez jelenik viszont meg a promptbeli : (kettőspont) után, innen indul ki az aktuális könyvtárat megadó útvonal:
tux@madas:~/public_html/txt/mp$
Ha a prompt nem mutatná (vagy valamilyen okból kifolyólag nem használhatnánk a promptbeli információt), akkor a pwd parancs segítségével állapíthatjuk meg, melyik könyvtár az aktuális:
tux@madas:~/public_html/txt/mp$ pwd /home/tux/public_html/txt/mp tux@madas:~/public_html/txt/mp$
Ahogyan a dos/windows esetén is megszoktuk, az útvonalmegadásban a könyvtárak között határoló jelként jelenik meg a /.
Ugyancsak ismerős lehet a szülőkönyvtár jeleként használt .. (két pont): a cd parancs után ennek segítségével léphetünk egy szinttel följebb:
tux@madas:~/public_html/txt/mp$ cd .. tux@madas:~/public_html/txt$
A relatív útvonal mindig az éppen aktuális könyvárhoz viszonyít:
tux@madas:~/public_html/txt$ cd pp tux@madas:~/public_html/txt/pp$
Abszolút útvonalmegadás esetén (is) jelentősen felgyorsíthatja a munkát a Tab billentyű használata:
tux@madas:~/public_html/txt/pp$ cd /home/tux/public_html/txt/mp/ tux@madas:~/public_html/txt/mp$
A könyvtárszerkezet alakítására való az mkdir, illetve az rmdir parancs. Az előzővel könyvtárakat hozhatunk létre, az utóbbiaval törölhetjük azokat. Értelemszerűen mindkettő után használható relatív, illetve abszolút útvonal:
tux@madas:~/public_html/txt/mp$ mkdir ez_nem_kell tux@madas:~/public_html/txt/mp$ mkdir /home/tux/public_html/txt/mp/ez_sem_kell tux@madas:~/public_html/txt/mp$ rmdir /home/tux/public_html/txt/mp/ez_nem_kell/ ez_sem_kell/ tux@madas:~/public_html/txt/mp$
(Az útvonalak utolsó helyén szereplő könyvtár neve után nem kell kitenni a /-et, az az állománynév-kiegészítéshez használt Tab billentyű hatására jelent meg.)
Az előző bekezdésben nem véletlenül szerepel az állománynév kifejezés. A unix-alapú rendszerekben ez a fogalom sokkal általánosabb, mint megszokhattuk: nem csupán a könyvtárakat, hanem például a hardvereszközöket is (speciális) állományként kezelhetjük (illetve kell kezelnünk).
Ha az ls parancsot a -a (-a, mint all) opcióval adjuk ki, akkor a korábbiakhoz képest három újszerű állományt is láthatunk:
tux@madas:~/public_html/txt/mp$ ls -a . itv_html.txt pp162.txT ppp11.txT ppp45.txT ppr08.txT ppr64.txT ppu.txt ppv.txt r_szj.py.20171103 .. ksh_hnk_1913 pp170.txT ppp12.txT ppp46.txT ppr10.txT ppr70.txT ppu.txT ppv.txT szbw_chck.ods 1b1bff.html ksh_hnk_1913.txt pp171.txT ppp13.txT ppp47.txT ppr12.txT ppr.txt ppv00.txT ppw00.txT szbw.html 1b1bff.txt ksh_hnk_1913.txT pp172.txT ppp14.txT ppp48.txT ppr14.txT ppr.txT ppv02.txT ppw02.txT szbw.txt 1.html miu-1012.py pp181.txT ppp15.txT ppp49.txT ppr16.txT pp.sh ppv04.txT ppw04.txT temp 20010224.txt miu-1019a.py ppbg.txT ppp20.txT ppp50.txT ppr18.txT ppt.txT ppv06.txT ppw06.txT v02.py 2.html miu-1019bb.py ppbq.txT ppp21.txT ppp51.txT ppr50.txT pp.txT ppv08.txT ppw08.txT v04.py 4.html miu-1019b.py ppd.txT ppp25.txT ppp98.txT ppr51.txT ppu00.txT ppv10.txT ppw10.txT v06.py 5.html miu-1026.py pp.html ppp26.txT ppp99.txT ppr52.txT ppu10.txT ppv20.txT ppw20.txT vmg_2017_prob.py 6.html pfppt.txT pph.txT ppp27.txT ppp.txt ppr53.txT ppu12.txT ppv22.txT ppw22.txT foot pp150.txT ppm.txt ppp30.txT ppp.txT ppr54.txT ppu14.txT ppv24.txT ppw.txt head pp151.txT ppm.txT ppp31.txT ppr00.txT ppr60.txT ppu20.txT ppv26.txT ppw.txT itiiee.txt pp152.txT ppp01.txT ppp32.txT ppr02.txT ppr61.txT .#ppu22.txT ppv28.txT r01.py itiitr.txt pp160.txT ppp02.txT ppp40.txT ppr04.txT ppr62.txT ppu22.txT ppv30.txT r02.py itv_html.html pp161.txT ppp10.txT ppp41.txT ppr06.txT ppr63.txT ppu24.txT ppv32.txT r_szj.py
Ha egy állomány neve ponttal kezdődik, akkor azt a rendszer rejtett állományként kezeli. Ezen belül kettőnek különleges szerepe van:
tux@madas:~/public_html/txt/mp$ file . .. .: directory ..: directory tux@madas:~/public_html/txt/mp$
Ahogyan a cd parancs kapcsán említettük, a .. a szülőkönyvtár jele; a . az aktuális könyvtáré.
Megerősíti a mondottakat az ls -al parancs kimenete (összevontuk a –rövid– -a és -l opciókat):
tux@madas:~/public_html/txt/mp$ ls -al összesen 1408 drwxr-x--- 2 tux www-data 4096 okt 31 19:14 . drwxr-x--- 8 tux www-data 4096 szept 24 2017 .. lrwxrwxrwx 1 tux www-data 10 szept 23 2012 1b1bff.html -> 1b1bff.txt -rw-r----- 1 tux www-data 1155 febr 10 2015 1b1bff.txt -rw-r----- 1 tux www-data 44990 szept 12 2015 1.html -rw-r----- 1 tux www-data 2326 febr 8 2015 20010224.txt -rw-r----- 1 tux www-data 46805 szept 12 2015 2.html -rw-r----- 1 tux www-data 8540 szept 12 2015 4.html … tux@madas:~/public_html/txt/mp$