meer dan alleen een lijstje

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.
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
-aOp 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
-lDe 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:
| Kolom | Wat het betekent |
|---|---|
1 | Aantal harde links |
dexter | Eigenaar |
dexter | Groep |
2048 | Grootte in bytes |
jun 15 14:22 | Datum en tijd van laatste wijziging |
foto.jpg | Naam |
-hBytes 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
-lahDe 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'
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
-RMet -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.
-1Soms 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
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'
| Optie | Wat het doet |
|---|---|
-a | Toon verborgen bestanden |
-A | Verborgen bestanden zonder . en .. |
-l | Lang formaat met rechten, eigenaar, grootte, datum |
-h | Mensleesbare groottes (KB, MB, GB) |
-t | Sorteer op datum, nieuwste eerst |
-S | Sorteer op grootte, grootst eerst |
-r | Keer de sorteervolgorde om |
-R | Recursief — 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.
Nog geen reacties
Reactie plaatsen