Tips en Trucs 2020

GNU ls opdracht

De ls opdracht geeft een lijst van bestanden op een POSIX systeem weer. Het is een eenvoudige opdracht, dikwijls onderschat, niet in wat het kan, maar wel in hoe je het optimaal kunt gebruiken.

De ls opdracht behoort tot de top 10 van de meest essentiële opdrachten, want het kan belangrijke informatie over bestanden weergeven. Het vertelt ons wie de eigenaar van een bestand of map is, wanneer een bestand voor het laatst werd gewijzigd en het type bestand. Om nog maar te zwijgen over wat je er allemaal uit kunt afleiden: in welke map werk je, welke objecten vinden we in de buurt en wat kunnen we ermee doen.

GNU of BSD

Voor we naar de verborgen kracht van ls kijken, gaan we na welke ls opdracht we gebruiken. De twee meest populaire versies zijn de GNU versie, die deel uitmaakt van het GNU coreutils pakket, en de BSD versie. In Linux wordt meestal de GNU versie gebruikt, macOS en BSD gebruiken meestal de BSD versie. De verschillende versies werken niet helemaal op dezelfde manier.

Je kunt de versie achterhalen met de opdracht:

dany@pindabook:~> ls --version
ls (GNU coreutils) 8.29
Copyright © 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Geschreven door Richard M. Stallman en David MacKenzie.

Indien dit, zoals hierboven, informatie toont over GNU coreutils, werk je met de GNU versie. Bij een foutmelding, gebruik je waarschijnlijk de BSD versie (voer de opdracht man ls | head uit om dit na te gaan).

Onderzoek ook eens welke standaard opties jouw distributie gebruikt. Dit kan je eenvoudig opvragen door de alias opdracht uit te voeren:

dany@pindabook:~> alias
alias +='pushd .'
alias -- -='popd'
alias ..='cd ..'
alias ...='cd ../..'
alias aumix='padsp aumix'
alias beep='echo -en "\007"'
alias cd..='cd ..'
alias dir='ls -l'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias ip='ip --color=auto'
alias l='ls -alF'
alias la='ls -la'
alias ll='ls -l'
alias ls='_ls'
alias ls-l='ls -l'
alias md='mkdir -p'
alias o='less'
alias rd='rmdir'
alias rehash='hash -r'
alias sox='padsp sox'
alias timidity='timidity -Oe'
alias unmount='echo "Error: Try the command: umount" 1>&2; false'
alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'
dany@pindabook:~> alias | grep ls
alias dir='ls -l'
alias l='ls -alF'
alias la='ls -la'
alias ll='ls -l'
alias ls='_ls'
alias ls-l='ls -l'
alias unmount='echo "Error: Try the command: umount" 1>&2; false'
alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'

De eerste opdracht toont alle opdracht koppelingen (aliassen), terwijl in de tweede opdracht alle koppelingen waarin ls in voorkomt worden weergegeven (gefilterd door grep). Door de distributie ingestelde aanpassingen worden in openSUSE opgeslagen in /etc/profile.d/alias.bash en gelden voor alle gebruikers. Persoonlijke aanpassingen worden dikwijls opgeslagen in $HOME/.bashrc, $HOME/.bash_aliases, $HOME/.profile of $HOME/.alias (openSUSE).

De door distributies aangeboden voorinstellingen zijn handig, maar zorgen er ook voor dat ls bij elke distributie standaard de lijst anders weergeeft. Wil je niet de alias, maar de oorspronkelijke ls opdracht zonder de vooringestelde opties uitvoeren, gebruik dan voor de ls opdracht een backslash (escape):

ls

Type aanduiding

Standaard toont ls alle bestanden in kolommen (aantal afhankelijk van de terminalbreedte).

dany@pindabook:~> ls
Afbeeldingen  datums.txt              Documenten      konsole.txt  openSUSE-Leap-15.2-NET-x86_64.iso.sha256  Video's
bin           distros_gesorteerd.txt  Downloads       Muziek       Sjablonen
Bureaublad    distros.txt             du-rapport.txt  Openbaar     substring.sh

Interessant, maar alle bestanden lijken op elkaar, zonder informatie over wat een map of een bestand is. Gebruik de -F (--classify) om na de bestandsnaam indicators die het bestandstype verduidelijken te plaatsen:

dany@pindabook:~> ls -F
Afbeeldingen@  datums.txt              Documenten@     konsole.txt  openSUSE-Leap-15.2-NET-x86_64.iso.sha256  Video's@
bin/           distros_gesorteerd.txt  Downloads/      Muziek@      Sjablonen@
Bureaublad/    distros.txt             du-rapport.txt  Openbaar@    substring.sh

Een eenvoudiger versie krijg je met de optie -p (--indicator-style=slash), waarbij enkel de mappen een indicator na de naam krijgen:

dany@pindabook:~> ls -p
Afbeeldingen  datums.txt              Documenten      konsole.txt  openSUSE-Leap-15.2-NET-x86_64.iso.sha256  Video's
bin/          distros_gesorteerd.txt  Downloads/      Muziek       Sjablonen
Bureaublad/   distros.txt             du-rapport.txt  Openbaar     substring.sh

Detaillijst

Een detaillijst opvragen met ls wordt zoveel gebruikt dat veel distributies daarvoor een koppeling (alias) met de naam ll aanmaken. De detaillijst (long list) toont veel belangrijke bestandskenmerken, zoals rechten, gebruiker, groep, grootte en datum laatste wijziging:

dany@pindabook:~> ls -l
totaal 40
lrwxrwxrwx 1 dany users   33  3 jul 20:55 Afbeeldingen -> /usr/home/Documents/Afbeeldingen/
drwxr-xr-x 2 dany users 4096 16 okt 16:18 bin
drwxr-xr-x 2 dany users 4096  3 jul 20:36 Bureaublad
-rw-r--r-- 1 dany users  123  1 sep 18:16 datums.txt
-rw-r--r-- 1 dany users   63 22 aug 14:17 distros_gesorteerd.txt
-rw-r--r-- 1 dany users   83 22 aug 14:46 distros.txt
lrwxrwxrwx 1 dany users   20  3 jul 20:55 Documenten -> /usr/home/Documents/
drwxr-xr-x 2 dany users 4096  4 dec 16:02 Downloads
-rw-r--r-- 1 dany users  458 31 okt 11:01 du-rapport.txt
-rw-r--r-- 1 dany users  289 13 nov 16:45 konsole.txt
lrwxrwxrwx 1 dany users   27  3 jul 20:55 Muziek -> /usr/home/Documents/Muziek/
lrwxrwxrwx 1 dany users   29  3 jul 20:55 Openbaar -> /usr/home/Documents/Openbaar/
-rw-r--r-- 1 dany users  628  2 jul 17:19 openSUSE-Leap-15.2-NET-x86_64.iso.sha256
lrwxrwxrwx 1 dany users   30  3 jul 20:56 Sjablonen -> /usr/home/Documents/Sjablonen/
-rw-r--r-- 1 dany users  147 27 nov 17:56 substring.sh
lrwxrwxrwx 1 dany users   28  3 jul 20:56 Video's -> /usr/home/Documents/Video's/

Als je de bestandsgrootte niet in bytes, maar in een voor mensen beter leesbare vorm wilt, voeg je de optie -h (--human) toe:

dany@pindabook:~> ls -l -h
totaal 40K
lrwxrwxrwx 1 dany users   33  3 jul 20:55 Afbeeldingen -> /usr/home/Documents/Afbeeldingen/
drwxr-xr-x 2 dany users 4,0K 16 okt 16:18 bin
drwxr-xr-x 2 dany users 4,0K  3 jul 20:36 Bureaublad
-rw-r--r-- 1 dany users  123  1 sep 18:16 datums.txt
-rw-r--r-- 1 dany users   63 22 aug 14:17 distros_gesorteerd.txt
-rw-r--r-- 1 dany users   83 22 aug 14:46 distros.txt
lrwxrwxrwx 1 dany users   20  3 jul 20:55 Documenten -> /usr/home/Documents/
drwxr-xr-x 2 dany users 4,0K  4 dec 16:02 Downloads
-rw-r--r-- 1 dany users  458 31 okt 11:01 du-rapport.txt
-rw-r--r-- 1 dany users  289 13 nov 16:45 konsole.txt
lrwxrwxrwx 1 dany users   27  3 jul 20:55 Muziek -> /usr/home/Documents/Muziek/
lrwxrwxrwx 1 dany users   29  3 jul 20:55 Openbaar -> /usr/home/Documents/Openbaar/
-rw-r--r-- 1 dany users  628  2 jul 17:19 openSUSE-Leap-15.2-NET-x86_64.iso.sha256
lrwxrwxrwx 1 dany users   30  3 jul 20:56 Sjablonen -> /usr/home/Documents/Sjablonen/
-rw-r--r-- 1 dany users  147 27 nov 17:56 substring.sh
lrwxrwxrwx 1 dany users   28  3 jul 20:56 Video's -> /usr/home/Documents/Video's/

Je kunt de informatie in verband met de gebruiker weglaten met de optie -g of de groep weglaten met de optie -o:

dany@pindabook:~> ls -o
totaal 40
lrwxrwxrwx 1 dany   33  3 jul 20:55 Afbeeldingen -> /usr/home/Documents/Afbeeldingen/
drwxr-xr-x 2 dany 4096 16 okt 16:18 bin
drwxr-xr-x 2 dany 4096  3 jul 20:36 Bureaublad
-rw-r--r-- 1 dany  123  1 sep 18:16 datums.txt
-rw-r--r-- 1 dany   63 22 aug 14:17 distros_gesorteerd.txt
-rw-r--r-- 1 dany   83 22 aug 14:46 distros.txt
lrwxrwxrwx 1 dany   20  3 jul 20:55 Documenten -> /usr/home/Documents/
drwxr-xr-x 2 dany 4096  4 dec 16:02 Downloads
-rw-r--r-- 1 dany  458 31 okt 11:01 du-rapport.txt
-rw-r--r-- 1 dany  289 13 nov 16:45 konsole.txt
lrwxrwxrwx 1 dany   27  3 jul 20:55 Muziek -> /usr/home/Documents/Muziek/
lrwxrwxrwx 1 dany   29  3 jul 20:55 Openbaar -> /usr/home/Documents/Openbaar/
-rw-r--r-- 1 dany  628  2 jul 17:19 openSUSE-Leap-15.2-NET-x86_64.iso.sha256
lrwxrwxrwx 1 dany   30  3 jul 20:56 Sjablonen -> /usr/home/Documents/Sjablonen/
-rw-r--r-- 1 dany  147 27 nov 17:56 substring.sh
lrwxrwxrwx 1 dany   28  3 jul 20:56 Video's -> /usr/home/Documents/Video's/

Combineer beide opties om zowel de gebruiker als de groep weg te laten.

Tijd en datum weergave

De namen van maanden zijn moeilijk te sorteren. Je kunt de tijd en datum weergave aanpassen met de --time-style optie gevolgd door een formaat:

Je kunt een eigen formaat opgeven door gebruik te maken van een formaatopmaak van de date opdracht.

dany@pindabook:~> ls -l --time-style full-iso
totaal 40
lrwxrwxrwx 1 dany users   33 2020-07-03 20:55:18.000000000 +0200 Afbeeldingen -> /usr/home/Documents/Afbeeldingen/
drwxr-xr-x 2 dany users 4096 2020-10-16 16:18:33.856536647 +0200 bin
drwxr-xr-x 2 dany users 4096 2020-07-03 20:36:21.000000000 +0200 Bureaublad
-rw-r--r-- 1 dany users  123 2020-09-01 18:16:45.669762144 +0200 datums.txt
-rw-r--r-- 1 dany users   63 2020-08-22 14:17:26.918543606 +0200 distros_gesorteerd.txt
-rw-r--r-- 1 dany users   83 2020-08-22 14:46:20.177759033 +0200 distros.txt
lrwxrwxrwx 1 dany users   20 2020-07-03 20:55:03.000000000 +0200 Documenten -> /usr/home/Documents/
drwxr-xr-x 2 dany users 4096 2020-12-04 16:02:51.922742773 +0100 Downloads
-rw-r--r-- 1 dany users  458 2020-10-31 11:01:20.423428134 +0100 du-rapport.txt
-rw-r--r-- 1 dany users  289 2020-11-13 16:45:19.684459832 +0100 konsole.txt
lrwxrwxrwx 1 dany users   27 2020-07-03 20:55:31.000000000 +0200 Muziek -> /usr/home/Documents/Muziek/
lrwxrwxrwx 1 dany users   29 2020-07-03 20:55:49.000000000 +0200 Openbaar -> /usr/home/Documents/Openbaar/
-rw-r--r-- 1 dany users  628 2020-07-02 17:19:12.000000000 +0200 openSUSE-Leap-15.2-NET-x86_64.iso.sha256
lrwxrwxrwx 1 dany users   30 2020-07-03 20:56:05.000000000 +0200 Sjablonen -> /usr/home/Documents/Sjablonen/
-rw-r--r-- 1 dany users  147 2020-11-27 17:56:44.784526494 +0100 substring.sh
lrwxrwxrwx 1 dany users   28 2020-07-03 20:56:20.000000000 +0200 Video's -> /usr/home/Documents/Video's/

Chronologische sorteren

Standaard sorteert de ls opdracht alfabetisch. Met de -t optie wordt chronologisch gesorteerd, met het meest recente bovenaan.

dany@pindabook:~> mkdir test
dany@pindabook:~> cd test
dany@pindabook:~/test> touch foo bar baz
dany@pindabook:~/test> touch foo
dany@pindabook:~/test> ls
bar  baz  foo
dany@pindabook:~/test> ls -t
foo  bar  baz

De eerste opdracht maakt een map aan, die we met de tweede opdracht openen. Daarna maken we met de touch opdracht drie bestanden aan. Met de tweede touch opdracht openen we het bestand foo en slaan dit terug op (snelle aanpassing). De eerste ls opdracht toont ons de alfabetische rangschikking, terwijl de tweede de bestanden chronologisch rangschikt.

Sorteren en groeperen op bestandsextensie

Om bestanden alfabetich te sorteren op bestandsextensie, gebruik je de optie -X:

dany@pindabook:~> ls
Afbeeldingen  datums.txt              Documenten      konsole.txt  openSUSE-Leap-15.2-NET-x86_64.iso.sha256  test
bin           distros_gesorteerd.txt  Downloads       Muziek       Sjablonen                                 Video's
Bureaublad    distros.txt             du-rapport.txt  Openbaar     substring.sh
dany@pindabook:~> ls -X
Afbeeldingen  Documenten  Openbaar   Video's                                   datums.txt              du-rapport.txt
bin           Downloads   Sjablonen  substring.sh                              distros_gesorteerd.txt  konsole.txt
Bureaublad    Muziek      test       openSUSE-Leap-15.2-NET-x86_64.iso.sha256  distros.txt

Uitvoerformaat

Standaard gebruikt ls spaties om bestandsnamen te scheiden, om de resultaten van een ls opdracht verder te verwerken, zijn andere scheidingstekens soms handiger. Om de bestandsnamen met komma's (csv) te scheiden, gebruik je de optie -m:

dany@pindabook:~/test> ls -m
bar, baz, foo

Om elk bestand op een nieuwe regel te plaatsen, gebruik je de optie -1 (1 kolom):

dany@pindabook:~/test> ls -1
bar
baz
foo
dany@pindabook:~/test> cd ..
dany@pindabook:~> rm -r test/

De voorlaatste opdracht verlaat de map. De laatste opdracht verwijdert de map test.

Alles weergeven zonder de rommel

Niet alle mapitems zijn altijd interessant. Zo stellen de tekens . en .. respectievelijk de huidige en bovenliggende map weer. Bij het navigeren in de mappenstructuur in een terminal weet je waarschijnlijk al dat elke map met . naar zichzelf wijst en met .. naar de bovenliggende oudermap. Als je bij de ls opdracht de optie -a (--all) gebruikt om alles te bekijken (inclusief verborgen bestanden waarvan de naam begint met een punt) wordt ook . en .. weergegeven:

dany@pindabook:~> ls -a
.               .cache                  .esd_auth    .kde4              Openbaar                                  .urlview
..              .config                 .fishsrv.pl  konsole.txt        openSUSE-Leap-15.2-NET-x86_64.iso.sha256  Video's
Afbeeldingen    datums.txt              .fonts       .languagetool.cfg  .pinda                                    .wget-hsts
.audacity-data  distros_gesorteerd.txt  .gnome       .local             .pki                                      .Xauthority
.bash_history   distros.txt             .gnupg       .mixxx             .profile                                  .xim.template
.bashrc         Documenten              .gtkrc-2.0   .mozilla           .rubberband.wisdom.d                      .xinitrc.template
bin             Downloads               .i18n        .muttrc            Sjablonen                                 .y2control
.bluefish       du-rapport.txt          .inputrc     Muziek             .ssh                                      .y2log
Bureaublad      .emacs                  .java        .nanorc            substring.sh                              .y2usersettings

Met de -A (--almost-all) optie toont ls alles uitgezonderd de . en .. items.

dany@pindabook:~> ls -A
Afbeeldingen            distros.txt     .i18n              .nanorc                                   Video's
.audacity-data          Documenten      .inputrc           Openbaar                                  .wget-hsts
.bash_history           Downloads       .java              openSUSE-Leap-15.2-NET-x86_64.iso.sha256  .Xauthority
.bashrc                 du-rapport.txt  .kde4              .pinda                                    .xim.template
bin                     .emacs          konsole.txt        .pki                                      .xinitrc.template
.bluefish               .esd_auth       .languagetool.cfg  .profile                                  .y2control
Bureaublad              .fishsrv.pl     .local             .rubberband.wisdom.d                      .y2log
.cache                  .fonts          .mixxx             Sjablonen                                 .y2usersettings
.config                 .gnome          .mozilla           .ssh
datums.txt              .gnupg          .muttrc            substring.sh
distros_gesorteerd.txt  .gtkrc-2.0      Muziek             .urlview

Veel Unix opdrachten hebben een traditie om back-up bestanden aan te maken. Deze kan je herkennen aan het ~ teken dat achter de bestandsnaam wordt geplaatst. Eerst maken we het bestand maanden.txt aan met daarin de maanden van het jaar. Met de teksteditor nano open je daarna het bestand maanden.txt.

dany@pindabook:~> locale mon > maanden.txt
dany@pindabook:~> nano -B maanden.txt

Na een aanpassing (of niet) sla je het bestand terug op met de sneltoets Ctrl+s en verlaat je nano met de sneltoets Ctrl+x. Met de -B (--ignore-backups) optie worden de back-up bestanden niet weergegeven:

dany@pindabook:~> ls
Afbeeldingen  datums.txt              Documenten      konsole.txt   Muziek                                    Sjablonen
bin           distros_gesorteerd.txt  Downloads       maanden.txt   Openbaar                                  substring.sh
Bureaublad    distros.txt             du-rapport.txt  maanden.txt~  openSUSE-Leap-15.2-NET-x86_64.iso.sha256  Video's
dany@pindabook:~> ls -B
Afbeeldingen  datums.txt              Documenten      konsole.txt  Openbaar                                  substring.sh
bin           distros_gesorteerd.txt  Downloads       maanden.txt  openSUSE-Leap-15.2-NET-x86_64.iso.sha256  Video's
Bureaublad    distros.txt             du-rapport.txt  Muziek       Sjablonen

Vanzelfsprekend bestaat het back-up bestand nog, maar werd het uit de resultaten gefilterd. Niet alle opdrachten plaatsen echter een ~ op het einde van naam van het back-up bestand. Zo gebruikt GNU Emacs een hekje (hash) in het begin en op het einde van de naam. Of wat denk je van de klassieker .bak. Om het even welk patroon gebruikt wordt, met de --hide optie kan je elk patroon filteren. Eerst maken we een back-up met de cp (copy) opdracht.

dany@pindabook:~> cp maanden.txt maanden.txt.bak
dany@pindabook:~> ls
Afbeeldingen  distros_gesorteerd.txt  du-rapport.txt  maanden.txt.bak                           Sjablonen
bin           distros.txt             konsole.txt     Muziek                                    substring.sh
Bureaublad    Documenten              maanden.txt     Openbaar                                  Video's
datums.txt    Downloads               maanden.txt~    openSUSE-Leap-15.2-NET-x86_64.iso.sha256
dany@pindabook:~> ls --hide="*.bak"
Afbeeldingen  datums.txt              Documenten      konsole.txt   Muziek                                    Sjablonen
bin           distros_gesorteerd.txt  Downloads       maanden.txt   Openbaar                                  substring.sh
Bureaublad    distros.txt             du-rapport.txt  maanden.txt~  openSUSE-Leap-15.2-NET-x86_64.iso.sha256  Video's

Recursief mappen doorlopen

De ls opdracht gaat standaard geen mappen openen om de inhoud ervan weer te geven. Dit gebeurd wel met de -R (--recursive) optie:

dany@pindabook:~> ls -F Muziek/DLNA/
Celadon Candy - Celadonia/  Marcin Szczepankiewicz - Moonlight Piano/
dany@pindabook:~> ls -R Muziek/DLNA/
Muziek/DLNA/:
Celadon Candy - Celadonia  Marcin Szczepankiewicz - Moonlight Piano

Muziek/DLNA/Celadon Candy - Celadonia:
01 - Celadon Candy - Irritant.ogg     05 - Celadon Candy - Snakes.ogg      09 - Celadon Candy - Sweet.ogg     playlist.m3u
02 - Celadon Candy - Libertines.ogg   06 - Celadon Candy - Celadonia.ogg   10 - Celadon Candy - Apostacy.ogg
03 - Celadon Candy - Broken.ogg       07 - Celadon Candy - Socialist.ogg   Celadon Candy - Celadonia.jpg
04 - Celadon Candy - Undercutter.ogg  08 - Celadon Candy - 1JuneDemo_.ogg  License.txt

Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano:
01 - Marcin Szczepankiewicz - Moonlight Serenade.mp3  04 - Marcin Szczepankiewicz - Chattanooga Choo-Choo.mp3  playlist.m3u
02 - Marcin Szczepankiewicz - My Blue Heaven.mp3      License.txt
03 - Marcin Szczepankiewicz - At Last.mp3             Marcin Szczepankiewicz - Moonlight Piano.jpg

Opties permanent gebruiken

De ls opdracht is waarschijnlijk de meest gebruikte terminal opdracht. Hoewel het handig is om veel opties te hebben, is de beknoptheid van ls de grote troef: twee karakters en Enter en klaar. Toch heeft iedereen zijn eigen optie wensen. De oplossing is om een koppeling (alias) te bouwen om ls uit te breiden met jouw standaard opties. Een voorbeeld:

dany@pindabook:~> alias ls
alias ls='_ls'
dany@pindabook:~> ls
Afbeeldingen  distros_gesorteerd.txt  du-rapport.txt  maanden.txt.bak                           Sjablonen
bin           distros.txt             konsole.txt     Muziek                                    substring.sh
Bureaublad    Documenten              maanden.txt     Openbaar                                  Video's
datums.txt    Downloads               maanden.txt~    openSUSE-Leap-15.2-NET-x86_64.iso.sha256
dany@pindabook:~> alias ls='ls -A -F -B --human --color'
dany@pindabook:~> ls
 Afbeeldingen@            distros.txt      .i18n               .muttrc                                    substring.sh
 .audacity-data/          Documenten@      .inputrc            Muziek@                                    .urlview
 .bash_history            Downloads/       .java/              .nanorc                                   "Video's"@
 .bashrc                  du-rapport.txt   .kde4/              Openbaar@                                  .wget-hsts
 bin/                     .emacs           konsole.txt         openSUSE-Leap-15.2-NET-x86_64.iso.sha256   .Xauthority
 .bluefish/               .esd_auth        .languagetool.cfg   .pinda/                                    .xim.template
 Bureaublad/              .fishsrv.pl      .local/             .pki/                                      .xinitrc.template*
 .cache/                  .fonts/          maanden.txt         .profile                                   .y2control/
 .config/                 .gnome/          maanden.txt.bak     .rubberband.wisdom.d                       .y2log
 datums.txt               .gnupg/          .mixxx/             Sjablonen@                                 .y2usersettings
 distros_gesorteerd.txt   .gtkrc-2.0       .mozilla/           .ssh/

De eerste opdracht toont de huidige door jouw distributie ingestelde ls koppeling. Handig om weten om na een aanpassing deze te herstellen. De ls opdracht toont de uitwerking van de ls distributie alias. Bij de tweede alias opdracht bepaal ik zelf welke standaard opties ls moet gebruiken en zie je het resultaat in de daaropvolgende ls opdracht.

Ben je tevreden over het resultaat, dan kan je jouw alias opdracht opnemen in een bash script dat bij het starten van bash (jouw terminal) wordt uitgevoerd. Dit is meestal in het bestand .bash_aliases (let op de punt vooraan) (in openSUSE Leap 15.2 in het bestand .alias). Indien dit bestand nog niet bestaat, maak je het aan. Wil je terugkeren naar de oorspronkelijke opties, verwijder dan jouw alias opdrachtregel uit het .alias bestand. Na het herstarten van de terminal is alles terug zoals het was.

En verder

De ls opdracht heeft veel opties, waarvan een deel niche opties zijn of afhankelijk zijn van de gebruikte terminal. Raadpleeg info ls en/of man ls en/of ls --help om alle opties met uitleg weer te geven.

Ls is een mooi voorbeeld van een opdracht die maar één taak heeft, maar deze zeer goed uitvoert. Ls geeft een lijst met bestanden weer en de vele opties laten je toe om de manier waarop deze lijst wordt weergegeven zelf te bepalen.