“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

  1. Könyvtár fájlok

  2. 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.

  1. Reguláris fájl(-) 
  2. Könyvtár fájlok(d) 

Speciális fájlok

  1. Blokk fájl(b)
  2. Karakter eszköz fájl(c)
  3. Nevezett pipafájl vagy csak pipafájl. file(p)
  4. Szimbolikus link file(l)
  5. 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….

.

admin

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

lg