Wanneer u door het Linux-bestandssysteem navigeert, zult u zeker verschillende bestandstypen tegenkomen. De meest gebruikte en voor de hand liggende bestandstypen zijn gewone bestanden en mappen. Het Linux besturingssysteem heeft echter meer te bieden op het gebied van bestandstypen, aangezien het ook nog 5 andere bestandstypen bevat. Dit korte artikel zal u helpen om alle 7 verschillende bestandstypen binnen het Linux besturingssysteem te herkennen.
Herkennen van Linux bestandstypen
Er is slechts 1 commando dat u moet kennen, waarmee u alle zeven verschillende bestandstypen die op het Linux systeem te vinden zijn, kunt identificeren en categoriseren.
$ ls -ld <bestandsnaam>
Hier volgt een voorbeeld van de uitvoer van bovenstaand commando.
$ ls -ld /etc/services
-rw-r--r-- 1 root root 19281 Feb 14 2012 /etc/services
ls commando zal het bestandstype tonen als een gecodeerd symbool dat gevonden wordt als het eerste karakter van het bestandstoestemmingsdeel. In dit geval is dat “-“, wat “regular file” betekent. Het is belangrijk om erop te wijzen dat Linux bestandstypen niet verward moeten worden met bestandsextensies. Laten we eens kijken naar een korte samenvatting van de zeven verschillende Linux bestandstypen en de identificaties van de ls commando’s:
- – : regular file
- d : directory
- c : character device file
- b : block device file
- s : local socket file
- p : named pipe
- l : symbolic link
Het geofysisch instituut van de UAF is op zoek naar een ervaren Linux-systeemanalist om hun team van cyberinfrastructuuranalisten en -ingenieurs voor onderzoek te versterken. LOCATIE: Fairbanks, Alaska, USA
APPLY NOW
Regulier bestand
Het reguliere bestand is een veelvoorkomend bestandstype dat op het Linux-systeem voorkomt. Het regelt alle verschillende bestanden, zoals tekstbestanden, afbeeldingen, binaire bestanden, gedeelde bibliotheken, enz. U kunt een regulier bestand maken met het commando touch:
$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-r-- 1 lubos lubos 0 Jan 10 12:52 linuxcareer.com
Het eerste teken van het ls commando, in dit geval “-“, geeft de identificatiecode van het reguliere bestand aan. Om een regulier bestand te verwijderen kunt u het rm commando gebruiken:
$ rm linuxcareer.com
$
Directory
Directory is het op een na meest voorkomende bestandstype dat in Linux wordt gevonden. Een directory kan worden aangemaakt met het mkdir commando:
$ mkdir FileTypes
$ ls -ld FileTypes/
drwxrwxr-x 2 lubos lubos 4096 Jan 10 13:14 FileTypes/
Zoals eerder uitgelegd, kan een directory worden herkend aan het “d” symbool in de uitvoer van het ls commando. Om een lege directory te verwijderen, gebruikt u het commando rmdir.
$ rmdir FileTypes
Wanneer u met het commando rmdir een directory probeert te verwijderen die extra bestanden bevat, krijgt u een foutmelding:
rmdir: failed to remove `FileTypes/': Directory not empty
In dit geval moet u een commando gebruiken:
$ rm -r FileTypes/
Character device
Character en block device bestanden stellen gebruikers en programma’s in staat om te communiceren met hardware perifere apparaten. Bijvoorbeeld:
$ ls -ld /dev/vmmon
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon
In dit geval is het character device het vmware module device.
Block Device
Block devices zijn vergelijkbaar met character devices. Ze regelen meestal hardware zoals harde schijven, geheugen, enz.
$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda
Local domain sockets
Local domain sockets worden gebruikt voor communicatie tussen processen. Over het algemeen worden ze gebruikt door diensten zoals X windows, syslog en etc.
$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log
Sockets kunnen worden aangemaakt door de socket system call en verwijderd door de unlink of rm commando’s.
Named Pipes
Gelijk aan Local sockets, staan named pipes communicatie toe tussen twee lokale processen. Ze kunnen worden aangemaakt met het mknod commando en verwijderd met het rm commando.
Symbolische koppelingen
Met symbolische koppelingen kan een beheerder aan een bestand of directory meerdere identiteiten toekennen. Een symbolische koppeling kan worden opgevat als een verwijzing naar een oorspronkelijk bestand. Er zijn twee soorten symbolische koppelingen:
- hard links
- soft links
Het verschil tussen hard en soft links is dat soft links de bestandsnaam als referentie gebruiken en hard links een directe verwijzing naar het originele bestand hebben. Bovendien kunnen hard links bestandssystemen en partities niet doorkruisen. Om een symbolische soft link te maken kunnen we gebruik maken van het ln -s commando:
$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1
Om een symbolische link te verwijderen kunnen we gebruik maken van het unlink of rm commando.
Conclusie
Als systeembeheerder werk je meestal met gewone bestanden, directories blokken en character devices. Als software ontwikkelaar werk je ook met local sockets en named pipes.