A Linux fájlrendszerében navigálva biztosan találkozik különböző fájltípusokkal. A leggyakrabban használt és legnyilvánvalóbb fájltípusok a hagyományos fájlok és könyvtárak. A Linux operációs rendszer azonban többet is kínál a fájltípusok tekintetében, mivel további 5 fájltípust is tartalmaz. Ez a rövid cikk segít felismerni mind a 7 különböző fájltípust a Linux operációs rendszeren belül.
Linux fájltípusok azonosítása
Mindössze 1 parancsot kell ismernie, amely segít azonosítani és kategorizálni a Linux rendszerben található mind a hét különböző fájltípust.
$ ls -ld <fájlnév>
Íme egy példa a fenti parancs kimenetére.
$ ls -ld /etc/services
-rw-r--r-- 1 root root root 19281 2012. február 14. /etc/services
ls parancs a fájl típusát a fájl engedélyezési részének első karaktereként található kódolt jelként mutatja. Ebben az esetben ez a “-“, ami “regular file”-t jelent. Fontos kiemelni, hogy a Linux fájltípusok nem tévesztendők össze a fájlkiterjesztésekkel. Nézzük meg egy rövid összefoglalót a hét különböző típusú Linux fájltípusról és az ls parancs azonosítóiról:
- – : regular file
- d : directory
- c : character device file
- b : block device file
- s : local socket file
- p : named pipe
- l : symbolic link
A UAF Geofizikai Intézet, tapasztalt Linux rendszerelemzőt keres a kutatási kiberinfrastruktúra elemzőkből és mérnökökből álló csapatukba. HELYZET: Fairbanks, Alaszka, USA
JELENTKEZÉS
Reguláris fájl
A reguláris fájl a Linux rendszerben található leggyakoribb fájltípus. Ez szabályozza az összes különböző fájlt, például us szöveges fájlokat, képeket, bináris fájlokat, megosztott könyvtárakat stb. Egy reguláris fájlt a touch paranccsal hozhatunk létre:
$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-r-- 1 lubos lubos 0 Jan 10 12:52 linuxcareer.com
Az ls parancs első karaktere, jelen esetben a “-“, a reguláris fájl azonosítóját jelöli. A szabályos fájl eltávolításához az rm parancsot használhatjuk:
$ rm linuxcareer.com
$
Könyvtár
A könyvtár a második leggyakoribb fájltípus, amely a Linuxban megtalálható. A könyvtárat az mkdir paranccsal hozhatjuk létre:
$ mkdir FileTypes
$ ls -ld FileTypes/
drwxrwxr-x 2 lubos lubos 4096 Jan 10 13:14 FileTypes/
Mint korábban már kifejtettük, a könyvtárat az ls parancs kimenetén a “d” szimbólummal azonosíthatjuk. Az üres könyvtár eltávolításához használja az rmdir parancsot.
$ rmdir FileTypes
Ha az rmdir paranccsal olyan könyvtárat próbálunk eltávolítani, amely további fájlokat tartalmaz, hibaüzenetet kapunk:
rmdir: failed to remove `FileTypes/': Directory not empty
Ebben az esetben egy parancsot kell használnunk:
$ rm -r FileTypes/
Charakter eszköz
A karakter és blokk eszköz fájlok lehetővé teszik a felhasználók és programok számára a hardveres perifériás eszközökkel való kommunikációt. Például:
$ ls -ld /dev/vmmon
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon
Ez esetben a karaktereszköz a vmware moduleszköz.
Blokkeszköz
A blokkeszközök hasonlóak a karaktereszközökhöz. Többnyire hardvereket szabályoznak, mint a merevlemezek, memória stb.
$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda
Lokális tartományi aljzatok
A helyi tartományi aljzatok a folyamatok közötti kommunikációra szolgálnak. Általában olyan szolgáltatások használják őket, mint az X ablakok, syslog stb.
$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log
A socket rendszerhívással hozhatók létre, és az unlink vagy rm parancsokkal távolíthatók el.
Named Pipes
A Local sockets-hez hasonlóan a named pipes is két helyi folyamat közötti kommunikációt tesz lehetővé. Az mknod paranccsal hozhatók létre, és az rm paranccsal távolíthatók el.
Szimbolikus linkek
A szimbolikus linkekkel a rendszergazda egy fájlhoz vagy könyvtárhoz több identitást is rendelhet. A szimbolikus linket úgy is felfoghatjuk, mint egy eredeti fájlra mutató mutatót. A szimbolikus linkeknek két típusa van:
- kemény linkek
- lágy linkek
A különbség a kemény és lágy linkek között az, hogy a lágy linkek a fájl nevét használják hivatkozásként, míg a kemény linkek közvetlenül az eredeti fájlra hivatkoznak. Továbbá a kemény hivatkozások nem tudnak áthaladni a fájlrendszereken és partíciókon. Szimbolikus lágy link létrehozásához az ln -s parancsot használhatjuk:
$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1
A szimbolikus link eltávolításához az unlink vagy az rm parancsot használhatjuk.
Következtetés
Rendszergazdaként többnyire hagyományos fájlokkal, könyvtárak blokkjaival és karakteres eszközökkel fog dolgozni. Szoftverfejlesztőként helyi aljzatokkal és named pipes-ekkel is fogsz dolgozni.