Meer over de inhoud van bestanden

Begin en eind

Het cat commando is niet altijd even handig. Hele lange bestanden rollen bijvoorbeeld in hun geheel over het scherm, terwijl je misschien enkel geïnteresseerd bent in de eerste paar lijnen. Als dat het geval is, gebruik je het head (hoofd) commando:

Handeling met de muis.

ubuntu@ubuntu:~$ head /usr/share/doc/zip/WHATSNEW
WhatsNew file for Zip 2.31

(See Changes for details)

New things in Zip 2.31

- Crypt now part of source distribution (see Readme.cr)
- Bug fixes:
  - Debian patch 001 - Converted quoted strings
  - Debian patch 002 - Makefile changes
ubuntu@ubuntu:~$ 

Standaard worden de eerste tien lijnen van een bestand getoond. Lees in de documentatie hoe je bijvoorbeeld enkel de eerste lijn van een bestand kan weergeven.

Het tail (staart) commando doet net het omgekeerde en toont enkel de tien laatste lijnen van een bestand. Dit is handig voor gebruik met de zogenaamde logfiles, waarin informatie opgeslagen wordt over wat er gebeurd is op je systeem. Gewoonlijk raadpleeg je deze bestanden, die zich in /var/log bevinden, als er iets fout gaat op je systeem, of als je meer informatie nodig hebt over wat er gebeurd is. In zo'n gevallen ben je doorgaans niet op zoek naar wat er enkele dagen geleden of een week eerder gebeurd is, maar wel naar wat er zonet gebeurde. Gezien deze logbestanden sequentieel geschreven worden, zal de informatie over de recentste gebeurtenissen zich in de laatste paar lijnen van de logbestanden bevinden. De logbestanden worden makkelijk een paar duizend lijnen lang. Een opdracht als tail is dan bijzonder handig. Check bijvoorbeeld eens /var/log/messages, /var/log/syslog of /var/log/daemon.log.

Ook interessant is de -f optie follow bij tail, waarmee je de laatste lijnen blijft zien, ook als er veranderingen optreden terwijl je aan het kijken bent.

[Belangrijk]Probeer eens:

Start dit commando:

tail -f /var/log/messages

Trek nu achteraan je computer de toetsenbordstekker uit, en steek hem weer in. Je ziet onmiddellijk dat het systeem merkt dat er een nieuw apparaat is. Het is echter een apparaat waarvoor de driver al geladen is, dus er is geen verdere aktie nodig.

Breek af met Ctrl+C.

Het tail commando kan ook handig zijn voor softwareontwikkelaars die logbestanden van programma's moeten analyseren.

Tekst zoeken in een bestand

Het programma grep is eenvoudig maar zeer krachtig voor het filteren van lijnen output die een bepaalde string (= zoekwoord) bevatten. Er zijn letterlijk duizenden toepassingen die van het grep commando gebruik maken.

Vrijwel alle UNIX systemen hebben een on-line woordenboek. Op onze Ubuntu bevindt het zich in /usr/share/dict/words. Standaard staat daar een Engels woordenboek, een Brits woordenboek en een Amerikaans woordenboek.

[Opmerking]Ook in het Nederlands

Je kan van het Internet ook een Nederlands woordenboek downloaden. De woordenboeken worden bijvoorbeeld gebruikt door programma's die spellingscontroles doen.

Om grep te demonstreren, zullen we het woordenboek gebruiken.

Handeling met de muis.

ubuntu@ubuntu:~$ grep story /usr/share/dict/words
clerestory
clerestory's
history
history's
prehistory
prehistory's
story
story's
storybook
storybook's
storybooks
storyteller
storyteller's
storytellers

Het woordenboek is slechts een bestand dat per lijn een woord bevat. Wat we doen in bovenstaand voorbeeld is alle lijnen van dat bestand tonen, waarin ergens de string “story” voorkomt. Dit commando heeft, zoals de meeste, weer een hele reeks opties. De meest gebruikte zijn -i, om hoofdletterongevoelig te zoeken, en -v om juist die lijnen die de zoekstring niet bevatten op het scherm te zetten.

[Belangrijk]Lijnen tellen

Lees man grep. Wat is de optie om te tellen hoeveel keer een string in een bestand voorkomt?

Om de output van bijvoorbeeld locate en find te filteren, zodat die korter wordt, zullen we er dikwijls een grep commando aanbreien. Hoe dat gaat, zien we in Deel 2.

Andere bestandsformaten

We weten nu al redelijk veel over de omgang met tekstbestanden. Maar wat als we andere bestandsformaten willen bekijken? Linux werkt inderdaad niet enkel met tekstbestanden, je kan ook filmpjes kijken, Office-bestanden openen, muziek beluisteren en nog veel meer. De volgende tabel geeft een overzicht van de bestandsformaten en programma's waarmee je ze kan openen.

Tabel 3.1. Bestandsformaten en bijhorende toepassingen

Type bestandTypische suffixApplicatie
Archieven.zip, .tar, .gz, .tgzArchive Manager (File Roller)
Audio CD's CD Player, Totem Media Player
Beelden.gif, .png, .jpg, .jpeg, .bmpBewerken: Gimp, bekijken: ImageMagick, gThumb
Filmpjes.mov, .mp4Totem Media Player
Hyper Text Markup Language (HTML, webpagina's).htm, .html, .asp, phpMozilla Firefox
Mail Evolution
Muziekbestanden.wav, .au, .mp3Totem Media Player
Office presentaties.ppt, .sxi, .odpOpenOffice.org
Office rekenbladen.sxc, .xls, .odcOpenOffice.org
Office tekstdocumenten.doc, .sxw, .odt, .rtf, .txtOpenOffice.org
Portable Document Format (PDF).pdfxpdf
PostScript (PS).psgv

Noteer dat de suffix niet noodzakelijk is. In geval van twijfel: gebruik het file commando!