“Hvor mange filtyper er der i Linux/Unix, og hvad er de?” Dette er et almindeligt spørgsmål til enhver person, der begynder at lære Linux. O.K., hvorfor er det så vigtigt at kende filtyper?

Svar: Det skyldes, at Linux betragter alle ting som en fil. Når du begynder at arbejde på en Linux/Unix-boks, skal du håndtere forskellige filtyper (linux/unix) for effektivt at administrere dem

Hvor mange filtyper er der i Linux/Unix?

Som standard har Unix kun 3 filtyper. De er:

Regulære filer

  1. Katalogfiler

  2. Speciale filer(Denne kategori har 5 undertyper i sig.)

Så i praksis har vi i alt 7 typer (1+1+5) filer i Linux/Unix. Og i Solaris har vi 8 typer. Og du kan se filtypebetegnelsen længst til venstre i kommandoen “ls -l”.

Her er disse filtyper.

  1. Regulær fil(-) 
  2. Katalogfiler(d) 

Særlige filer

  1. Blockfil(b)
  2. Karakterenhedsfil(c)
  3. Navnet pipe-fil eller bare en pipe file(p)
  4. Symbolsk link file(l)
  5. Socket file(s)

Til din information er der endnu en filtype kaldet door file(D), som findes i Sun Solaris som tidligere nævnt. En dør er en særlig fil til kommunikation mellem processer mellem en klient og en server (i alt 8 typer i Unix-maskiner). Vi vil lære om forskellige filtyper som nedenstående sekvens for hver filtype.

Definition og oplysninger om filtypen
Sådan oprettes en bestemt filtype
Sådan liste/se en bestemt filtype

Regulær filtype forklaret i Linux

Dette er de filer, der er angivet med “-” i ls -l-kommandoens output i starten af linjen. Og disse filer er.

1. Læsbar fil eller
2. En binær fil eller
3. Billedfiler eller
4. Komprimerede filer osv.

Hvordan opretter man almindelige filer i Linux/Unix?
Ans: Brug touch/vi-kommandoen og omdirigeringsoperatorer osv.

Hvordan kan vi liste regulære filer?

ls -l | grep ^- 

Eksempel på liste over regulære filer :

-rw-r--r-- 1 krishna krishna krishna 20986522 2010-01-31 13:48 test.wmv
-rw-r--r--r-- 1 krishna krishna krishna 173448 2010-01-30 21:20 Transformers-Teaser-Wallpaper-310.jpg
-r-xr-xr-xr-x 1 root root 135168 2009-12-12-12 19:14 VIDEO_TS.VOB
-rw-r-r--r--r-- 1 krishna krishna krishna 2113536 2009-12-01 13:32 Aditya 365 - Janavule.mp3
-rwxrwxrwxrwx 1 root root 168 2010-02-14 14:12 xyz.sh

Katalog filtype forklaret i Linux/Unix

Denne filtype indeholder almindelige filer/mapper/specielle filer, der er gemt på en fysisk enhed. Og denne type filer vil være i blå i farve med link større end eller lig med 2.

Hvordan kan vi liste dem i min nuværende arbejdsmappe? 
ls -l | grep ^d

Eksempel på oplistning af mapper.

drwxr-xr-x 2 surendra surendra surendra 4096 2010-01-19 18:37 bin
drwxr-xr-xr-x 5 surendra 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

Hvordan opretter man dem?
Ans : Brug mkdir kommandoen

Block filtype i Linux

Disse filer er hardwarefiler de fleste af dem er til stede i /dev.

Hvordan opretter man dem?
Ans : Brug kommandoen fdisk eller opret virtuel partition.

Hvordan kan vi liste dem i min nuværende arbejdskatalog?

ls -l | grep ^b

Eksempel på liste over blokfiler (for at du kan se disse filer, er de placeret i /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

Karakterenhedsfiler i Linux

Giver en seriel strøm af input eller output.Dine terminaler er et klassisk eksempel på denne type filer.

Hvordan kan vi liste karakterfiler i min nuværende arbejdsmappe?

ls -l | grep ^c

Eksempel på liste over karakterfiler(placeret i /dev)

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

Pipe-filer i Linux/Unix

Den anden betegnelse for pipe er en “navngiven” pipe, som nogle gange kaldes en FIFO. FIFO står for “First In, First Out” og henviser til den egenskab, at rækkefølgen af de bytes, der går ind, er den samme som de bytes, der kommer ud. “Navnet” på et navngivet pipe er faktisk et filnavn i filsystemet.

Hvordan oprettes de?
Ans: Brug kommandoen mkfifo.

Hvordan kan vi liste tegnfiler i min nuværende arbejdskatalog?

ls -l | grep ^p

Eksempel på liste over pipe-filer

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

symbolske linkfiler i Linux

Dette er linkfiler til andre filer. De er enten Directory/Regular File. Inode-nummeret for denne fil og dens overordnede filer er det samme. Der findes to typer linkfiler i Linux/Unix, nemlig soft- og hardlink.

Hvordan oprettes de?
Ans : brug kommandoen ln

Hvordan kan vi liste linkede filer i min nuværende arbejdsmappe?

ls -l | grep ^l

Eksempel på liste over linkede filer
lrwxrwxrwx 1 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 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-filer i Linux

En socket-fil bruges til at overføre oplysninger mellem programmer til kommunikationsformål

Hvordan oprettes de?
Ans : Du kan oprette en socket-fil ved hjælp af socket() systemopkaldet, der er tilgængeligt under

Eksempel i C-programmering

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

Du kan henvise til denne socket-fil ved hjælp af sockfd. Dette er det samme som filbeskrivelsen, og du kan bruge read(), write() systemkald til at læse og skrive fra socket.

Hvordan kan vi liste socketfiler i min nuværende arbejdskatalog?

ls -l | grep ^s

Eksempel på liste over socketfiler.

srw-rw-rw- 1 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
srwxrwxrwxrwxrwx 1 mysql mysql 0 2010-02-15 09:35 /var/run/mysqld/mysqld.sock

Et tip til jer. Hvordan finder du den ønskede filtype?

Ans : Brug find-kommandoen med -type-indstillingen. Hvis du f.eks. ønsker at finde socket-fil, skal du blot bruge nedenstående kommando. find / -type s Hvis du ønsker at finde linket fil, hvordan? Find / -type l

Det er….

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg