“Hoeveel bestandstypen zijn er in Linux/Unix en welke zijn dat?” Dit is een veelgestelde vraag aan iedereen die Linux begint te leren. Waarom is het zo belangrijk om bestandstypen te kennen?

Antwoord: Dit komt omdat Linux elk ding als een bestand beschouwt. Wanneer u begint te werken op Linux / Unix box moet je omgaan met verschillende bestandstypen (Linux / Unix) om ze effectief te beheren

Hoeveel soorten bestanden zijn er in Linux / Unix?

Standaard Unix hebben slechts 3 soorten bestanden. Dat zijn…

Reguliere bestanden

  1. Directory bestanden

  2. Speciale bestanden (Deze categorie heeft 5 subtypes.)

Dus in de praktijk hebben we in Linux/Unix in totaal 7 bestandstypes (1+1+5). En in Solaris hebben we 8 types. En u kunt de bestandstype aanduiding zien in het meest linkse deel van “ls -l” commando.

Hier zijn deze bestandstypes.

  1. Regulier bestand(-) 
  2. Directory files(d) 

Special files

  1. Block file(b)
  2. Character device file(c)
  3. Named pipe file of gewoon een pipe file(p)
  4. Symbolic link file(l)
  5. Socket file(s)

Voor uw informatie is er nog een bestandstype genaamd door file(D) welke aanwezig is in Sun Solaris zoals eerder vermeld. Een door is een speciaal bestand voor inter-proces communicatie tussen een client en server (dus in totaal 8 types in Unix machines). We zullen meer leren over de verschillende bestandstypes in de onderstaande volgorde.

Definitie en informatie van het bestandstype
Hoe maak je een bepaald bestandstype
Hoe maak je een lijst/bekijk je een bepaald bestandstype

Regulier bestandstype uitgelegd in Linux

Dit zijn de bestanden die worden aangeduid met “-” in ls -l commando-uitvoer aan het begin van de regel. En deze bestanden zijn.

1. Leesbaar bestand of
2. Een binair bestand of
3. Beeldbestanden of
4. Gecomprimeerde bestanden enz.

Hoe maak je gewone bestanden in Linux/Unix?
Ans: Gebruik touch/vi commando en redirection operators etc.

Hoe kunnen we een lijst van reguliere bestanden maken?

ls -l | grep ^- 

Voorbeeld opsomming van reguliere bestanden :

-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 135168 2009-12-12 19:14 VIDEO_TS.VOB
-rw-r--r-- 1 krishna krishna 2113536 2009-12-01 13:32 Aditya 365 - Janavule.mp3
-rwxrwxrwx 1 root 168 2010-02-14 14:12 xyz.sh

Directory bestandstype uitgelegd in Linux/Unix

Dit type bestanden bevat reguliere bestanden/mappen/speciale bestanden die zijn opgeslagen op een fysiek apparaat. En dit type bestanden zal in blauw van kleur zijn met een link groter dan of gelijk aan 2.

Hoe kunnen we ze in mijn huidige werkmap opnoemen? 
ls -l | grep ^d

Voorbeeld lijst van mappen.

drwxr-xr-x 2 surendra surendra 4096 2010-01-19 18:37 bin
drwxr-xr-x 5 surendra surendra 4096 2010-02-15 18:46 Desktop
drwxr-xr-x 2 surendra surendra 4096 2010-01-18 14:36 Documents
drwxr-xr-x 2 surendra surendra 4096 2010-02-13 17:45 Downloads

Hoe maak je ze aan?
Ans : Gebruik mkdir commando

Block bestandstype in Linux

Deze bestanden zijn hardware bestanden de meeste zijn aanwezig in /dev.

Hoe maak je ze aan?
Ans : Gebruik fdisk commando of maak virtuele partitie.

Hoe kunnen we ze in mijn huidige werkdirectory in een lijst zetten?

ls -l | grep ^b

Voorbeeld lijst van Blok bestanden (voor u om deze bestanden te zien, ze staan in /dev).

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

Voorziet in een seriële stroom van input of output.Uw terminals zijn een klassiek voorbeeld voor dit soort bestanden.

Hoe kunnen we een lijst van karakter bestanden in mijn huidige werkmap?

ls -l | grep ^c

Voorbeeld opsomming van karakterbestanden (die zich in /dev bevinden)

crw-rw-rw- 1 root tty 5, 0 2010-02-15 16:52 tty
crw--w---- 1 root 4, 0 2010-02-15 09:35 tty0
crw------- 1 root root 4, 1 2010-02-15 09:35 tty1

Pipe bestanden in Linux/Unix

De andere naam van pipe is een “named” pipe, die soms een FIFO wordt genoemd. FIFO staat voor “First In, First Out” en verwijst naar de eigenschap dat de volgorde van bytes die erin gaan, dezelfde is als die eruit komen. De “naam” van een named pipe is in feite een bestandsnaam binnen het bestandssysteem.

Hoe maak je ze?
Ans: gebruik het commando mkfifo.

Hoe kunnen we een lijst maken van karakterbestanden in mijn huidige werkdirectory?

ls -l | grep ^p

Voorbeeld lijst van pipe bestanden

prw-r----- 1 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

symbolische link bestanden in Linux

Dit zijn gelinkte bestanden naar andere bestanden. Ze zijn ofwel Directory/Regulier bestand. Het inode nummer voor dit bestand en zijn bovenliggende bestanden zijn hetzelfde. Er zijn twee soorten koppelingsbestanden beschikbaar in Linux/Unix, namelijk soft- en hardlinks.

Hoe maak je ze?
Ans : gebruik ln commando

Hoe kunnen we een lijst maken van gekoppelde bestanden in mijn huidige werkdirectory?

ls -l | grep ^l

Een voorbeeld van een lijst met gekoppelde bestanden
lrwxrwxrwx 1 root root 24 2010-02-15 09:35 sndstat -> /proc/asound/oss/sndstat
lrwxrwxrwx 1 root 15 2010-02-15 09:35 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root 15 2010-02-15 09:35 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stdout -> /proc/self/fd/1

Socket-bestanden in Linux

Een socket-bestand wordt gebruikt om informatie door te geven tussen applicaties voor communicatiedoeleinden

Hoe maak je ze aan?
Ans : U kunt een socket-bestand maken met behulp van de systeemaanroep socket() die beschikbaar is onder

Voorbeeld in C-programmering

int sockfd = socket(AF_INET, SOCK_STREAM, 0);

U kunt naar dit socket-bestand verwijzen met behulp van de sockfd. Dit is hetzelfde als de file descriptor, en je kunt read(), write() system calls gebruiken om te lezen en te schrijven van de socket.

Hoe kunnen we een lijst maken van Socket bestanden in mijn huidige werkdirectory?

ls -l | grep ^s

Voorbeeld lijst van socket bestanden.

srw-rw-rw- 1 root root 0 2010-02-15 09:35 /dev/log

srwxrwxrwx 1 root root 0 2010-02-15 10:07 /var/run/cups/cups.sock
srwxrwxrwx 1 root root 0 2010-02-15 09:35 /var/run/samba/winbindd_privileged/pipe
srwxrwxrwx 1 mysql mysql 0 2010-02-15 09:35 /var/run/mysqld/mysqld.sock

Een tip voor jullie. Hoe vind je het gewenste bestandstype?

Ans : Gebruik het commando find met de optie -type. Als je bijvoorbeeld een socket-bestand wilt vinden, gebruik je gewoon onderstaande opdracht. find / -type s Als je een gekoppeld bestand wilt vinden, hoe doe je dat dan? Zoeken / -type l

Dat is het….

admin

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

lg