Dateinamen aus Pfad extrahieren
In einem Shellskript kann es vorkommen, dass man einen vollständigen Pfad zu einer Datei besitzt und man nur den Dateinamen verwenden möchte. Dazu gibt es basename(1). Man übergibt einfach den vollständigen Pfad an basename und kriegt den Dateinamen zurück:
# basename /usr/local/sbin/portsopt
portsopt
Umgekehrt kriegt man mit dirname(1) das Verzeichnis zurück, in dem sich die Datei befindet:
# dirname /usr/local/sbin/portsopt
/usr/local/sbin
Sowohl basename als auch dirname findet man in FreeBSD und OpenBSD im Basissystem.