Når du navigerer i Linux-filsystemet, vil du helt sikkert støde på forskellige filtyper. De mest anvendte og indlysende filtyper er almindelige filer og mapper. Linux-operativsystemet har dog mere at byde på med hensyn til filtyper, da det også indeholder yderligere 5 filtyper. Denne korte artikel vil hjælpe dig med at genkende alle de 7 forskellige filtyper i Linux-operativsystemet.
Identificering af Linux-filtyper
Der er kun 1 kommando du behøver at kende, som vil hjælpe dig med at identificere og kategorisere alle de 7 forskellige filtyper, der findes i Linux-systemet.
$ ls -ld <filnavn>
Her er et eksempel på et output af ovenstående kommando:
$ ls -ld /etc/services
-rw-r-r--r-- 1 root root 19281 14. februar 2012 /etc/services
ls kommando vil vise filtypen som et kodet symbol, der findes som det første tegn i filtilladelsesdelen. I dette tilfælde er det “-“, hvilket betyder “almindelig fil”. Det er vigtigt at påpege, at Linux-filtyper ikke må forveksles med filudvidelser. Lad os se på en kort oversigt over alle de syv forskellige typer af Linux-filtyper og ls kommando-identifikatorer:
- – : almindelig fil
- d : mappe
- c : karakterenhedsfil
- b : block device file
- s : local socket file
- p : named pipe
- l : symbolic link
UAF Geophysical Institute, søger en erfaren Linux Systems Analyst til at slutte sig til deres team af analytikere og ingeniører inden for forskningscyberinfrastruktur. LOKALITET: Fairbanks, Alaska, USA
ANSØG NU
Regulær fil
Den regulære fil er en af de mest almindelige filtyper, der findes på Linux-systemet. Den regulerer alle forskellige filer som f.eks. tekstfiler, billeder, binære filer, delte biblioteker osv. Du kan oprette en regulær fil med touch-kommandoen:
$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-r-r-- 1 lubos lubos lubos 0 Jan 10 12:52 linuxcareer.com
Det første tegn i ls-kommandoen, i dette tilfælde “-“, angiver identifikationskoden for den regulære fil. Hvis du vil fjerne en almindelig fil, kan du bruge kommandoen rm:
$ rm linuxcareer.com
$
Katalog
Katalog er den næstmest almindelige filtype, der findes i Linux. Katalog kan oprettes med kommandoen mkdir:
$ mkdir FileTypes
$ ls -ld FileTypes/
drwxrwxr-x 2 lubos lubos 4096 Jan 10 13:14 FileTypes/
Som forklaret tidligere kan kataloger identificeres ved hjælp af “d”-symbolet fra ls-kommandoens output. For at fjerne en tom mappe skal du bruge kommandoen rmdir.
$ rmdir FileTypes
Når du forsøger at fjerne en mappe med kommandoen rmdir, som indeholder yderligere filer, får du en fejlmeddelelse:
rmdir: failed to remove `FileTypes/': Directory not empty
I dette tilfælde skal du bruge en kommando:
$ rm -r FileTypes/
Karakterenhed
Karakter- og blokkenhedsfiler gør det muligt for brugere og programmer at kommunikere med hardwareperiferienheder. For eksempel:
$ ls -ld /dev/vmmon
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon
I dette tilfælde er tegnenheden vmware-modulenheden.
Blokkenhed
Blokkenheder svarer til tegnenheder. De styrer for det meste hardware som harddiske, hukommelse osv.
$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda
Local domain sockets
Local domain sockets bruges til kommunikation mellem processer. Generelt bruges de af tjenester som X-vinduer, syslog osv.
$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log
Sockets kan oprettes ved socket-systemopkald og fjernes ved hjælp af kommandoerne unlink eller rm.
Named Pipes
Som lokale sockets giver named pipes mulighed for kommunikation mellem to lokale processer. De kan oprettes med mknod-kommandoen og fjernes med rm-kommandoen.
Symboliske links
Med symbolske links kan en administrator tildele en fil eller mappe flere identiteter. Symbolsk link kan opfattes som en pegepind til en originalfil. Der findes to typer af symbolske links:
- hårde links
- softlinks
Skellen mellem hårde og bløde links er, at bløde links bruger filnavnet som reference, mens hårde links bruger direkte reference til den originale fil. Desuden kan hårde links ikke krydse filsystemer og partitioner. For at oprette symbolsk blødt link kan vi bruge kommandoen ln -s:
$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1
For at fjerne symbolsk link kan vi bruge kommandoen unlink eller rm.
Konklusion
Som systemadministrator vil du for det meste arbejde med almindelige filer, mapper blok og tegn enheder. Som softwareudvikler vil du også arbejde med lokale sockets og named pipes.