Ga naar hoofdinhoud

2.1 Bestanden lezen

Hier bouw je op verder: Paden en cd

Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.

Met cat zet je de inhoud van een bestand op het scherm:

cat notities.txt
Huiswerk: Linux 1.3 afmaken
Boodschappen: brood en kaas
Niet vergeten: een back-up maken

Achter cat mag elk staan, ook een absoluut: cat /etc/hostname werkt vanuit elke map. Welke soort Linux deze computer draait, staat in /etc/os-release; cat /etc/os-release laat zien dat het is.

Terminal laden...

Een stuk van een bestand​

Een logbestand van een is al snel duizenden regels lang. Dan wil je niet alles zien:

CommandoWat je ziet
head bestandde eerste tien regels
tail bestandde laatste tien regels
head -n 3 bestandde eerste drie regels
wc -l bestandhoeveel regels er zijn

Heeft een bestand minder dan tien regels, dan laten head en tail alles zien. Probeer ze op /var/log/syslog, het logboek van de hele computer: dat is langer.

Voorspel​

In /var/log/auth.log zet de computer elke poging om in te loggen onderaan erbij. Wat geeft tail -n 1 /var/log/auth.log, denk je: de oudste poging, of de nieuwste?

Klik hier als je het hebt geprobeerd
Mar 26 10:15:05 oefenpc sshd[1234]: Accepted password for admin from 192.168.1.100

De nieuwste: wat er het laatst bij kwam, staat onderaan. Het is een gelukte poging (Accepted). Met cat zie je de drie mislukte pogingen erboven, binnen vier seconden vanaf hetzelfde adres. Een beheerder die dit leest, weet genoeg: iemand heeft het wachtwoord van admin geraden.

Opdracht 2.1.a: wie woont hier?​

In /etc/passwd staat elke gebruiker van de computer op een eigen regel.

  1. Hoeveel gebruikers zijn er?
  2. Wat is de laatste gebruiker, en wat is zijn ?
Terminal laden...
Klik hier voor een tip

Elke gebruiker is één regel, dus tellen kan met wc. Een regel bestaat uit stukken met een dubbele punt ertussen; de thuismap is het een-na-laatste stuk.

Klik hier voor het antwoord
wc -l /etc/passwd
tail -n 1 /etc/passwd
7 /etc/passwd
student:x:1000:1000:student:/home/student:/bin/bash

Er zijn zeven gebruikers. De laatste ben jij, student, met thuismap /home/student. De meeste andere gebruikers zijn geen mensen maar programma's, zoals www-data, de gebruiker van de webserver.

Er gaat iets mis​

Is a directory​

cat: /etc: Is a directory

Oorzaak: je probeert een map te lezen. cat leest alleen bestanden.

Oplossing: gebruik ls voor een map en cat voor een bestand erin.

# FOUT
cat /etc

# GOED
ls /etc
cat /etc/hostname

Permission denied​

cat: /etc/shadow: Permission denied

Oorzaak: het bestand bestaat, maar jij mag het niet lezen. In /etc/shadow staan de wachtwoorden van alle gebruikers, als hash (een waaruit je het wachtwoord niet terugrekent), en die zijn alleen voor de beheerder.

Oplossing: geen; dit is de bedoeling. Waarom jij het niet mag en wie wel, leer je in 4.1 Van wie is dit?.

Door naar 2.2 Maken en schrijven.