ubuntuusers.de

basename

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Hinweis:

Dieser Artikel beschreibt die alte Implementation des Programms. Ab Ubuntu 24.04 ist auch mit Paket rust-coreutils 🇬🇧 eine neue Implementierung in der Programmiersprache Rust für Ubuntu verfügbar, und ab Ubuntu Version 25.10 wird die Implementierung in Rust als Standard bevorzugt.

Die Implementierung in Rust strebt Funktionsgleichheit mit der alten Implementierung an. Es können aber kleine Abweichungen auftreten. Dies bedeutet, dass das hier Beschriebene von der am eigenen Rechner vorgefundenen Situation abweichen kann.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png Das Programm basename gibt den reinen Dateinamen zurück und schneidet dabei vorangestellte absolute oder relative Pfade ab. Bei Angabe eines Suffix, beispielsweise der Dateiendung, wird auch dieses entfernt.

Installation

 

  • Bis Ubuntu 25.04 ist das Programm im essentiellen Paket coreutils enthalten und deshalb auf jedem System installiert. Diese Variante beruht auf den altbekannten GNU Core Utilities.

  • Ab 25.10 ist das Paket coreutils 🇬🇧 jedoch ein Metapaket, welches alternativ durch gnu-coreutils 🇬🇧 oder rust-coreutils 🇬🇧 oder weitere befriedigt werden kann.

  • Bei 25.10 und 26.04 installiert das Paket coreutils-from-uutils 🇬🇧 beide vorstehend genannten Pakete und aktiviert die rust-coreutils als Vorgabe. Siehe Artikel rust-coreutils zur Umstellung auf die GNU-Utilities.

  • Ab 26.10 soll aber coreutils-from-uutils nur noch die rust-coreutils installieren. Wer dann die alten gnu-coreutils verwenden will, muss coreutils-from-gnu 🇬🇧 manuell installieren.

Anwendung

Das Programm wird über das Terminal aufgerufen[1]:

basename OPTIONen NAME SUFFIX 

Dabei sind OPTIONen und SUFFIX optional und NAME steht für einen beliebigen Dateinamen mit Pfadangabe. Das Programm kennt dabei diese OPTIONen:

Optionen von basename
Option Beschreibung
--help Hilfe anzeigen und beenden.
--version Versionsinformation anzeigen und beenden.
-a
--multiple
Mehrere Argumente werden unterstützt, wobei jedes einzelne als NAME behandelt wird.
-s
--suffix=SUFFIX
Entfernt die angegebene Endung SUFFIX
-z
--zero
Jede Ausgabe wird mit NULL statt Zeilenumbruch beendet.

Das Programm kann in Shell-Skripten sehr hilfreich sein. Möchte man hingegen den vollständigen Pfad erhalten, benötigt man den Befehl dirname.

Beispiele

  • basename /etc/passwd 

    passwd
  • basename ./datei 

    datei
  • basename ~/datei 

    datei
  • basename ../andererUser/Musik/lied.mp3 

    lied.mp3

Dateiendung entfernen

basename datei.txt .txt 
datei

Mehrere Dateien

Werden mit der Option --multiple mehrere Dateien angegeben und soll dabei eine Dateiendung entfernt werden, muss diese mit der Option --suffix= angegeben werden:

basename --suffix=.list --multiple /etc/apt/sources.list.d/*.list 
anyone-ppa-trusty
localrepo

Diese Revision wurde am 25. September 2026 18:02 von Ruth-Wies erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell