PADNAMEN IN UNIX
1. Er zijn in Unix 2 typen padnamen:
| afile |
| adir |
| Relatieve padnamen |
| ./afile |
| ./adir |
| Relatieve padnamen |
| /afile |
| /adir |
| Absolute padnamen |
Een
relatieve padnaam is relatief t.o.v. de
huidige directory.
Voorbeeld:
| $ pwd /home/user1 |
| # Wat is de huidige directory? |
| $ cd adir |
| # Ga naar de directory "adir" relatief
# t.o.v. de huidige directory. |
| $ pwd /home/user1/adir |
| |
Het pad "
./afile" is ook relatief. Zie verder onder 3.
Een
absolute padnaam begint met "
/".
Een absolute padnaam wijst altijd naar de top (/) van de
Unix directory hierarchie.
Er is dus maar
1 "/afile" in het hele systeem.
Voorbeeld:
| $ pwd /home/user1 |
| # Wat is de huidige directory? |
| $ cd /adir |
| # Ga naar de directory "/adir". |
| $ pwd /adir |
| |
2. Bijzondere directories:
| . |
| de huidige directory |
| .. |
| 1 directory omhoog in de hierarchie |
De directory "
." lijkt op het eerste gezicht misschien nutteloos, maar is dat zeker niet!
Voorbeeld:
|
$ cp |
/tmp/afile |
. |
|
# Copieer "/tmp/afile" naar de
# huidige directory. |
In MS-DOS mocht je die "
." weglaten, in Unix niet!
3. Waarom "./acmd"?
De padnamen "afile" en "
./afile" zijn beiden
relatief.
Gebruikt als
argument achter een commando is er geen verschil tussen
beide varianten.
Voorbeeld:
| $ cd |
adir |
# Ga naar de directory "adir" relatief
# t.o.v. de huidige directory. |
| $ cd |
./adir |
# Doet precies hetzelfde. |
Gebruikt als
commando zijn "acmd" en "
./acmd" echter niet hetzelfde!
|
$ acmd |
| # Zoek via $PATH naar programma "acmd". |
|
$ ./acmd |
| # Voer in de huidige directory het
# programma "acmd" uit. |
Let op dat in Unix de huidige directory niet standaard in het
zoekpad meedoet. (Bij MS-DOS wel.)
De huidige directory doet alleen mee, wanneer deze expliciet
in de PATH variabele is opgenomen,
bijv. zo:
| $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games |
# Check: wat is het huidige zoekpad? |
| $ export PATH=$PATH:. |
# Aanpassen PATH variable. |
| $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:. |
# Check: wat is nu het huidige zoekpad? |
(De regel
export PATH=$PATH:. eventueel in "
.profile" of "
.bash_profile" opnemen.)
WAARSCHUWING:
Neem "
."
nooit in PATH op voor user "
root"!
Dit verhoogt de kans op onbedoeld uitvoeren van gebruikers-programma's
tijdens systeembeheertaken (Trojan horses).
Copyright (C) 2003 Integrated Services; tux4u.nl
Author: Ing.J.M.Waldorp
pathnames_nl.html 20030402