Ubuntu: Linux voor mensen/Aan de slag/Bestandstype
Soorten bestanden
Gedurende deze kleine rondleiding zijn we niet enkel zwarte, blauwe en groene bestandsnamen tegengekomen. Er zijn veel meer verschillende bestanden dan enkel mappen en gewone bestanden. Omdat men in UNIX geprobeerd heeft om alle verschillende soorten objecten van een besturingssysteem voor te stellen als bestanden, zodat ze op een eenvormige manier behandeld kunnen worden, zijn er meer types bestanden dan men op het eerste zicht zou denken. De belangrijkste zijn:
- mappen: bestanden die andere bestanden of mappen bevatten.
- Speciale bestanden: het mechanisme dat gebruikt wordt voor input en output. De meeste van deze bestanden bevinden zich in /dev.
- Links: een systeem gebruikt om een bestand op meerdere plaatsen in het systeem zichtbaar te maken.
- (Domein) sockets: een bestandstype voor netwerkcommunicatie tussen processen onderling.
- Named pipes: een bestandstype voor communicatie tussen processen zonder dat die gebruik maken van netwerksemantiek.
Bestandstype achterhalen met het ls commando
[bewerken]Er zijn verschillende mogelijkheden om het type bestand te weten te komen:
Suffixen
[bewerken]Door gebruik te maken van het commando ls -F: elke bestandsnaam wordt dan gevolgd door een symbool, behalve gewone bestanden, die hebben geen suffix (achtervoegsel). De betekenis van die symbolen is als volgt:
Suffix schema voor ls
Karakter Bestandstype / map * uitvoerbaar bestand, bv. een programma of een script @ link = socket | named pipe
Links en uitvoerbare bestanden zullen we later behandelen, sockets en pipes komen soms voor in de man pagina's (zie de paragraaf “Hulp”) maar zijn veelal een zaak van systeembeheerders en programmeurs.
Kleurenschema
[bewerken]Door gebruik te maken van het ls commando zonder opties, al dan niet met een bestandsnaam als argument, waarmee je via kleurcodes meer informatie krijgt:
Standaard ls kleurenschema
Kleur Bestandstype blauw mappen rood gecompresseerde archieven zwart tekstbestanden rose afbeeldingen cyaan links geel randapparaten of devices groen uitvoerbare bestanden knipperend rood gebroken links
Deze types van bestanden zullen later nog aan bod komen.
Lange lijst
[bewerken]Door ls -l uit te voeren, al dan niet met een bestandsnaam als argument. Zo krijg je een lijn per bestand te zien. Het eerste karakter van de lijn stelt het bestandstype voor:
Bestandstypes in een lange lijst
Symbool Betekenis - gewoon bestand d map (directory) l link c speciaal bestand s socket p named pipe b blokapparaat c karakterapparaat
Het file commando
[bewerken]Om nog meer details te weten te komen, gebruik je het file commando. Het geeft informatie over de aard en het formaat van bestanden. Enkele voorbeelden:
ubuntu@ubuntu:~$ file Desktop Desktop: directory ubuntu@ubuntu:~$ file /etc/profile /etc/profile: ASCII English text ubuntu@ubuntu:~$ file /dev/input/mouse0 /dev/input/mouse0: character special (13/32) ubuntu@ubuntu:~$ file /usr/share/doc/cdrecord/changelog.Debian.gz /usr/share/doc/cdrecord/changelog.Debian.gz: gzip compressed data, was "changelog.Debian", from Unix, max compression ubuntu@ubuntu:~$ cd /usr/share/pixmaps ubuntu@ubuntu:/usr/share/pixmaps$ file gnome-logo-large.png gnome-logo-large.png: PNG image data, 198 x 225, 8-bit colormap, non-interlaced ubuntu@ubuntu:/usr/share/pixmaps$ cd ubuntu@ubuntu:~$ file /bin/ls /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped ubuntu@ubuntu:~$ file /usr/share/doc/bzip2/manual_1.html /usr/share/doc/bzip2/manual_1.html: HTML document text
[Waarschuwing] Hoofdlettergevoeligheid
Let er in bovenstaand voorbeeld op dat je rekening moet houden met de hoofdlettergevoeligheid van het systeem: “Desktop” is niet hetzelfde als “desktop”!
Je zal later wel merken dat file nog veel meer bestandstypes herkent, incluis bestanden die je normaliter typisch enkel op een MS Windows systeem terugvindt. In tegenstelling tot Windows gaat file kijken in de eerste paar bytes van een bestand om het bestandstype te achterhalen, en niet naar de suffix. Je mag dan ook de namen voor je bestanden vrij kiezen. Let er wel op dat UNIX, en dus ook Linux, hoofdlettergevoelig is. Bijgevolg kunnen file, File, FILE, fILE en filE vijf verschillende bestanden zijn. [Opmerking] Debian
In het vierde voorbeeld was er in de output van het file commando sprake van Debian. Dit is de Linuxdistributie waarvan Ubuntu afgeleid is. Hier en daar zal je nog referenties naar dit systeem tegenkomen.