in howto

Terminal Tip: ls

meer dan alleen een lijstje

terminal

ls is waarschijnlijk het eerste commando dat je leert in de terminal. Je typt het, je krijgt een lijstje bestandsnamen, en je gaat verder. Maar ls kan veel meer dan dat, en als je begrijpt wat alle opties doen, inclusief de uitvoer van ls -l, werkt de terminal ineens een stuk sneller.

Wat doet ls eigenlijk?

ls leest de inhoud van een map en toont die. Zonder opties zie je alleen de namen, verborgen bestanden niet meegerekend. Met de juiste vlaggen krijg je veel meer informatie.

ls
Documenten  Downloads  foto.jpg  script.sh

Verborgen bestanden zien met -a

Op Linux zijn bestanden en mappen verborgen als hun naam met een punt begint — denk aan .bashrc of .config. Met -a (all) laat je ze zien:

ls -a
.  ..  .bashrc  .config  Documenten  Downloads  foto.jpg  script.sh

De . en .. staan voor de huidige map en de bovenliggende map en die zijn altijd aanwezig. Wil je die weglaten (niet laten topnen), gebruik dan -A (hoofdletter):

ls -A
.bashrc  .config  Documenten  Downloads  foto.jpg  script.sh

Meer details met -l

De meest gebruikte optie is -l (lang formaat). Je krijgt dan één bestand per regel met alle metadata:

ls -l
-rw-r--r-- 1 dexter dexter  2048 jun 15 14:22 foto.jpg
-rwxr-xr-x 1 dexter dexter   512 jun 20 09:10 script.sh
drwxr-xr-x 2 dexter dexter  4096 jun 28 11:45 Documenten

Die eerste kolom ziet er cryptisch uit, maar er zit een vaste structuur in:

-  rwx  r-x  r-x
^   ^    ^    ^
|   |    |    └── rechten voor iedereen (others)
|   |    └─────── rechten voor de groep (group)
|   └──────────── rechten voor de eigenaar (owner)
└──────────────── type: - = bestand, d = map, l = link

De letters betekenen: r = lezen (read), w = schrijven (write), x = uitvoeren (execute). Een streepje - betekent dat die bevoegdheid er niet is.

De overige kolommen:

KolomWat het betekent
1Aantal harde links
dexterEigenaar
dexterGroep
2048Grootte in bytes
jun 15 14:22Datum en tijd van laatste wijziging
foto.jpgNaam

Leesbare bestandsgroottes met -h

Bytes zijn niet altijd handig te lezen. Met -h (human-readable) krijg je KB, MB of GB:

ls -lh
-rw-r--r-- 1 dexter dexter 2,0K jun 15 14:22 foto.jpg
-rw-r--r-- 1 dexter dexter 4,5M jun 22 10:00 backup.tar.gz

De gouden combinatie: -lah

De drie opties samen zijn zo gangbaar dat veel mensen er meteen een alias van maken:

ls -lah

Je ziet alle bestanden (inclusief verborgen), met details en leesbare groottes. Dit is de variant die je het vaakst nodig hebt.

# Zet dit in je ~/.bashrc of ~/.bash_aliases:
alias ll='ls -lah'

Sorteren

Standaard sorteert ls alfabetisch. Twee handige alternatieven:

Op datum, nieuwste eerst:

ls -lt

Handig als je wilt weten welk bestand je net hebt aangemaakt of gewijzigd.

Op bestandsgrootte, grootst eerst:

ls -lS

Handig als je wilt weten welke bestanden de meeste schijfruimte innemen.

Omgekeerde volgorde kan altijd met -r:

ls -ltr   # oudste eerst
ls -lSr   # kleinste eerst

Submappen doorzoeken met -R

Met -R (recursief) doorloopt ls alle submappen:

ls -R ~/Documenten

Voor grotere mapstructuren is find of tree vaak handiger, maar voor een snelle blik werkt -R prima.

Één bestand per regel met -1

Soms wil je de uitvoer verwerken in een script. Met -1 (het cijfer 1) staat elk bestand op een eigen regel:

ls -1
Documenten
Downloads
foto.jpg
script.sh

Kleurcodering

Op de meeste Linux-distributies is kleuring standaard aan voor interactieve terminals. Mappen verschijnen blauw, uitvoerbare bestanden groen, symbolische links lichtblauw. Als dat niet het geval is:

ls --color=auto

En om het altijd aan te zetten:

alias ls='ls --color=auto'

Samenvatting

OptieWat het doet
-aToon verborgen bestanden
-AVerborgen bestanden zonder . en ..
-lLang formaat met rechten, eigenaar, grootte, datum
-hMensleesbare groottes (KB, MB, GB)
-tSorteer op datum, nieuwste eerst
-SSorteer op grootte, grootst eerst
-rKeer de sorteervolgorde om
-RRecursief — ook submappen
-1Één bestand per regel

De combinatie ls -lah dekt de meeste situaties af. Heb je meer nodig? Dan zijn find en tree de volgende stap.

shellterminaltipbeginners

Nog geen reacties

Reactie plaatsen

Reacties worden na moderatie gepubliceerd.