Linux-Befehle · 2 min read · Sep 17, 2025

Linux basename Befehl Tutorial für Anfänger (mit Beispielen)

Manchmal, während man an der Kommandozeile arbeitet (insbesondere beim Umgang mit Shell-Skripten), könnte man nur am Dateinamen interessiert sein, aber was einem zur Verfügung steht, ist der vollständige Pfad der Datei. Daher besteht die Anforderung darin, den Verzeichnisteil des Pfades zu entfernen.

Der basename Befehl in Linux ist ein Dienstprogramm, das verwendet wird, um den Basisnamen eines Datei- oder Verzeichnispfades zu extrahieren, indem alle führenden Verzeichnisteile und optionale Suffixe effektiv entfernt werden. Wenn ein vollständiger Pfad angegeben wird, gibt basename nur den Dateinamen oder das letzte Segment des Pfades zurück, was es nützlich für Skripting- und Dateimanipulationsaufgaben macht. Zum Beispiel würde basename für den Pfad /home/user/document.txt document.txt zurückgeben. Darüber hinaus können Benutzer ein Suffix angeben, das entfernt werden soll, wie .txt, sodass nur document übrig bleibt. Dieser Befehl vereinfacht den Umgang mit Dateinamen und Pfaden in Skripten, verbessert die Automatisierung und rationalisiert verschiedene Dateiverwaltungsprozesse.

Dieses Tutorial erklärt die Grundlagen von ‘basename’ anhand leicht verständlicher Beispiele. Aber bevor wir dazu kommen, ist es erwähnenswert, dass alle hier gezeigten Beispiele auf einem Ubuntu 24.04 LTS-Rechner getestet wurden.

Linux basename Befehl erklärt

Der basename Befehl ermöglicht es Ihnen, Komponenten von Dateinamen zu entfernen, die nicht benötigt werden. Folgendes ist die Syntax des Werkzeugs:

basename NAME [SUFFIX]  
basename OPTION... NAME...

Und hier ist, was die Man-Seite darüber sagt:

basename - strip directory and suffix from filenames  
  
Print NAME with any leading directory components removed. If specified, also remove a trailing   
SUFFIX.

Folgendes sind einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon geben sollten, wie der basename Befehl funktioniert.

Q1. Wie funktioniert der basename Befehl?

Standardmäßig gibt der ‘basename’ Befehl, wenn Sie einen vollständigen Pfad zu einer Datei als Eingabe ausführen, den Dateinamen als Ausgabe zurück. Zum Beispiel, als ich den folgenden Befehl ausführte:

basename /home/himanshu/Downloads/analytics.pdf

bekam ich die folgende Ausgabe:

analytics.pdf

Q2. Kann basename mehrere Eingaben verarbeiten?

Ja, das kann es. Aber damit dies geschieht, müssen Sie die -a Kommandozeilenoption verwenden. Zum Beispiel, als ich den folgenden Befehl ausführte:

basename -a /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Und hier ist die Ausgabe, die ich bekam:

analytics.pdf  
test.png

Q3. Wie kann ich basename dazu bringen, die Dateiendung ebenfalls zu entfernen?

Manchmal möchten Sie vielleicht nur den Dateinamen abrufen, aber nicht dessen Erweiterung. Dies kann mit der -s Kommandozeilenoption erfolgen (die erfordert, dass Sie das Suffix als Eingabe übergeben).

Zum Beispiel, der folgende Befehl:

basename -s .pdf /home/himanshu/Downloads/analytics.pdf

produzierte diese Ausgabe:

analytics

Q4. Wie kann ich sicherstellen, dass jede Zeilen-Ausgabe mit NUL endet?

Standardmäßig wird das Newline-Zeichen als Trennzeichen in der Ausgabe verwendet. Sie können jedoch basename zwingen, NUL als Trennzeichen zu verwenden, wenn Sie möchten. Dies kann mit der -z Kommandozeilenoption erfolgen.

Zum Beispiel:

basename -az /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Und hier ist die Ausgabe:

analytics.pdftest.png

Sie sehen hier also nicht das NUL-Zeichen. Sie müssen die Ausgabe in eine Datei umleiten und dann die Datei in einem Editor wie vim öffnen. Hier ist, was vim zeigte:

Fazit

Wie Sie sehen können, ist basename kein sehr funktionsreicher Befehl - seine Optionen sind begrenzt, und die meisten davon wurden hier in diesem Tutorial besprochen. Sobald Sie mit dem Üben dieser fertig sind, gehen Sie zur Man-Seite des Werkzeugs, um mehr darüber zu erfahren.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.