“Hányféle fájltípus van a Linux/Unixben és melyek ezek?” Ez egy gyakori kérdés minden olyan személynek, aki elkezd Linuxot tanulni. O.K., miért olyan nagyon fontos ismerni a fájltípusokat?
Válasz:
Válasz: Miért olyan fontos ismerni a fájltípusokat? Azért, mert a Linux minden dolgot fájlnak tekint. Amikor valaha is elkezdesz dolgozni a Linux/Unix dobozon, különböző fájltípusokkal kell foglalkoznod(linux/unix), hogy hatékonyan tudd kezelni őket
Hány fájltípus van a Linux/Unixben?
A Unix alapértelmezés szerint csak 3 fájltípussal rendelkezik. Ezek a következők:
Szokásos fájlok
-
Könyvtár fájlok
-
Speciális fájlok(Ebben a kategóriában 5 altípus van.)
A gyakorlatban tehát összesen 7 fájltípus(1+1+5) van a Linux/Unixben. A Solarisban pedig 8 típus van. És az “ls -l” parancs bal szélső részén láthatod a fájltípus jelzését.
Itt vannak ezek a fájltípusok.
-
Reguláris fájl(-)
-
Könyvtár fájlok(d)
Speciális fájlok
- Blokk fájl(b)
- Karakter eszköz fájl(c)
- Nevezett pipafájl vagy csak pipafájl. file(p)
- Szimbolikus link file(l)
- Socket file(s)
Tájékoztatásul még egy fájltípus van, az úgynevezett door file(D), amely a Sun Solarisban van jelen, ahogy azt korábban említettük. A door egy speciális fájl a kliens és a szerver közötti folyamatok közötti kommunikációra (tehát összesen 8 típus a Unix gépeken). A különböző fájltípusokat az alábbi sorrendben fogjuk megismerni minden fájltípusnál.
A fájltípus definíciója és információi
Hogyan hozzunk létre adott fájltípust
Hogyan listázzunk/nézzünk adott fájltípust
Reguláris fájltípusok magyarázata Linuxban
Azok a fájlok, amelyeket az ls -l parancs kimenetén a sor elején “-” betűvel jelölünk. Ezek a fájlok pedig a következők.
1. Olvasható fájl vagy
2. Bináris fájl vagy
3. Képfájlok vagy
4. Tömörített fájlok stb.
Hogyan hozhatunk létre szabályos fájlokat Linux/Unix alatt?
Ans: Használjuk a touch/vi parancsot és az átirányítási operátorokat stb.
Hogyan listázhatjuk a szabályos fájlokat?
ls -l | grep ^-
Példa szabályos fájlok listázására :
-rw-r--r-- 1 krishna krishna 20986522 2010-01-31 13:48 test.wmv
-rw-r--r-- 1 krishna krishna 173448 2010-01-30 21:20 Transformers-Teaser-Wallpaper-310.jpg
-r-xr-xr-x 1 root root 135168 2009-12-12 19:14 VIDEO_TS.VOB
-rw-r--r--r-- 1 krishna krishna 2113536 2009-12-01 13:32 Aditya 365 - Janavule.mp3
-rwxrwxrwxrwx 1 root root 168 2010-02-14 14:12 xyz.sh
Könyvtár fájltípus magyarázata a Linux/Unixben
Az ilyen típusú fájlok a fizikai eszközön tárolt normál fájlokat/mappákat/speciális fájlokat tartalmazzák. És az ilyen típusú fájlok kék színűek lesznek, 2-nél nagyobb vagy egyenlő hivatkozással.
Hogyan listázhatjuk őket a jelenlegi munkakönyvtáramban?
ls -l | grep ^d
Példa a könyvtárak listázására.
drwxr-xr-x 2 surendra surendra 4096 2010-01-19 18:37 bin
drwxr-xr-xr-x 5 surendra surendra 4096 2010-02-15 18:46 Desktop
drwxr-xr-xr-x 2 surendra surendra 4096 2010-01-18 14:36 Documents
drwxr-xr-xr-x 2 surendra surendra 4096 2010-02-13 17:45 Downloads
Hogyan lehet létrehozni őket?
Ans : Használja az mkdir parancsot
Block fájltípus a Linuxban
Ezek a fájlok hardver fájlok, a legtöbbjük a /dev-ben van jelen.
Hogyan hozza létre őket?
Ans : Használja az fdisk parancsot vagy hozzon létre virtuális partíciót.
Hogyan listázhatjuk őket a jelenlegi munkakönyvtáramban?
ls -l | grep ^b
Példa a Block fájlok listázására(hogy láthassa ezeket a fájlokat, a /dev-ben találhatók).
brw-rw---- 1 root disk 8, 1 2010-02-15 09:35 sda1
brw-rw---- 1 root disk 8, 2 2010-02-15 09:35 sda2
brw-rw---- 1 root disk 8, 5 2010-02-15 09:35 sda5
Character device files in Linux
Soros bemeneti vagy kimeneti folyamot biztosít.A termináljaid klasszikus példája az ilyen típusú fájloknak.
Hogyan lehet listázni a karakteres fájlokat a jelenlegi munkakönyvtáramban?
ls -l | grep ^c
Példa a karakteres fájlok listázására(a /dev-ben található)
crw-rw-rw- 1 root tty 5, 0 2010-02-15 16:52 tty
crw--w---- 1 root root root 4, 0 2010-02-15 09:35 tty0
crw------- 1 root root 4, 1 2010-02-15 09:35 tty1
Pipe fájlok Linux/Unixben
A pipe másik neve a “named” pipe, amit néha FIFO-nak is neveznek. A FIFO a “First In, First Out” rövidítése, és arra a tulajdonságra utal, hogy a bejövő bájtok sorrendje ugyanaz, mint a kimenőé. A named pipe “neve” valójában egy fájlnév a fájlrendszeren belül.
Hogyan hozzuk létre őket?
Ans: Használjuk az mkfifo parancsot.
Hogyan listázhatjuk ki a karakteres fájlokat a jelenlegi munkakönyvtáramban?
ls -l | grep ^p
Példa a pipe fájlok listázására
prw-r----- 1 root root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_outfifo
prw-r----- 1 root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_fifo
prw------- 1 syslog syslog 0 2010-02-15 15:38 /var/run/rsyslog/kmsg
szimbolikus linkfájlok Linuxban
Ezek más fájlokhoz kapcsolódó fájlok. Ezek vagy Directory/Regular File. Ennek a fájlnak és a szülőfájloknak az inode-száma megegyezik. Kétféle linkfájl létezik a Linux/Unixben, azaz soft és hard link.
Hogyan hozzuk létre őket?
Ans : használjuk az ln parancsot
Hogyan listázhatjuk a linkelt fájlokat a jelenlegi munkakönyvtáramban?
ls -l | grep ^l
Példa a linkelt fájlok listázására
lrwwxrwxrwx 1 root root root 24 2010-02-15 09:35 sndstat -> /proc/asound/oss/sndstat
lrwxrwxrwxrwx 1 root root 15 2010-02-15 09:35 stderr -> /proc/self/fd/2
lrwxrwxrwxrwx 1 root root root 15 2010-02-15 09:35 stdin -> /proc/self/fd/0
lrwxrwxrwxrwx 1 root root 15 2010-02-15 09:35 stdout -> /proc/self/fd/1
Socket fájlok Linuxban
A socket fájlokat az alkalmazások közötti információ átadására használják kommunikációs céllal
Hogyan kell létrehozni őket?
Ans : A socket fájlt a socket() rendszerhívással hozhatja létre, amely a
Példa C programozásban
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
A socket fájlra a sockfd segítségével hivatkozhat. Ez megegyezik a fájlleíróval, és a read(), write() rendszerhívásokkal olvashatunk és írhatunk a socketből.
Hogyan listázhatjuk a socket fájlokat a jelenlegi munkakönyvtáramban?
ls -l | grep ^s
Példa a socket fájlok listázására.
srw-rw-rw- 1 root root root 0 2010-02-15 09:35 /dev/log
srwxrwxrwxrwx 1 root root 0 2010-02-15 10:07 /var/run/cups/cups.sock
srwxrwxrwxrwx 1 root root 0 2010-02-15 09:35 /var/run/samba/winbindd_privileged/pipe
srwxrwxrwxrwx 1 mysql mysql 0 2010-02-15 09:35 /var/run/mysqld/mysqld.sock
Egy tipp nektek. Hogyan találjuk meg a kívánt fájltípust?
Ans : Használjuk a find parancsot a -type opcióval. Például ha socket fájlt szeretne találni, csak használja az alábbi parancsot. find / -type s Ha linkelt fájlt szeretne találni, akkor hogyan? Find / -type l
Ez az….
.