Ga naar inhoud

Het pwd commando

Controleren of pwd aanwezig is

Het pwd-commando (β€œprint working directory”) is een van de meest gebruikte commando’s in Linux en staat bijna altijd standaard op je systeem geΓ―nstalleerd.
Het maakt deel uit van het pakket GNU coreutils, dat ook commando’s bevat zoals cp, mv, ls, en rm.

Wil je controleren of pwd aanwezig is, dan kun je de versie opvragen:

pwd --version
Voorbeeldoutput
pwd (GNU coreutils) 9.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.

βš™οΈ Installeren van pwd

Het commando pwd maakt deel uit van het pakket GNU coreutils.
Daarom is het op vrijwel alle Linux-distributies standaard geΓ―nstalleerd, inclusief Debian en Ubuntu.
Alleen in uitzonderlijke gevallen (zoals zeer minimale systemen of custom builds) moet je het handmatig installeren.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install coreutils

Voorbeeldoutput
pwd (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.

Hieronder vind je enkele veelgebruikte combinaties van het pwd-commando:

  • pwd β†’ Toon de huidige werkdirectory
Voorbeeld gebruik van pwd

Commando:

pwd
Voorbeeldoutput:
/home/gebruiker/project

  • pwd -L β†’ Toon het pad zoals het door de shell is gevolgd (logisch pad, inclusief eventuele symlinks)
Voorbeeld gebruik van pwd -L

Commando:

cd /tmp && ln -s /var/log logs && cd logs && pwd -L
Voorbeeldoutput:
/tmp/logs

  • pwd -P β†’ Toon het fysieke pad (zonder symlinks, echte directory op schijf)
Voorbeeld gebruik van pwd -P

Commando:

cd /tmp/logs && pwd -P
Voorbeeldoutput:
/var/log

Het pwd-commando heeft relatief weinig opties.
De belangrijkste zijn al genoemd (-L en -P).
Voor scripting wordt vaak pwd -P gebruikt om altijd het echte pad te krijgen.

Het pwd-commando zelf kent geen configuratie.
Wel kun je via je shell (bijvoorbeeld Bash of Zsh) bepalen welk pad getoond wordt.

1. Bash configuratie

Standaard gebruikt Bash pwd in logische modus (-L).
Je kunt dit gedrag aanpassen met:

set -o physical
Hiermee wordt altijd het fysieke pad (-P) gebruikt.

2. Alias maken

Als je liever altijd het fysieke pad wilt:

alias pwd='pwd -P'

Logging van het pwd-commando

Het pwd-commando schrijft zelf geen logbestanden weg.
Wil je gebruik van pwd monitoren, dan kan dat met auditd.

Voorbeeld auditd regel

sudo auditctl -w /bin/pwd -p x -k pwd_monitor
  • -w /bin/pwd β†’ bewaak het bestand /bin/pwd
  • -p x β†’ log bij uitvoeren
  • -k pwd_monitor β†’ tag voor herkenning

Logs bekijken:

ausearch -k pwd_monitor

Of rechtstreeks in:

less /var/log/audit/audit.log

Coreutils en het pwd-commando

Het pwd-commando maakt deel uit van coreutils.
Je kunt pwd dus niet apart updaten, alleen het hele pakket.

sudo apt update
sudo apt install --only-upgrade coreutils

Verwijderen van pwd

Het pwd-commando is een fundamenteel onderdeel van Linux.
Het verwijderen kan scripts of shellfunctionaliteit breken.
Gebruik liever een alias als je het wilt beperken.

Voorbeeld alias om pwd te blokkeren:

alias pwd='echo "pwd is uitgeschakeld"'

Permissies aanpassen:

sudo chmod 700 /bin/pwd
(Alleen root kan het uitvoeren)

πŸ“– Handleiding

De ingebouwde handleiding van Linux-commando’s is altijd beschikbaar via man.
Voor pwd:

man pwd
Voorbeeld
PWD(1)                      User Commands                     PWD(1)

NAME
       pwd - print name of current/working directory

SYNOPSIS
       pwd [OPTION]...

DESCRIPTION
       Print the full filename of the current working directory.