Linux dirname Befehl für Anfänger erklärt (4 Beispiele)

Sind Sie ein neuer Linux-Anwender? Handelt es sich bei Ihrer Arbeit um Shell-Skripting? Wenn Ihre Antwort auf diese beiden Fragen ja ist, wird Sie das Tool, das wir hier diskutieren werden, wahrscheinlich interessieren. Der Name des Tools ist dirname, und es wird hauptsächlich in Situationen verwendet, in denen man die letzte Komponente aus einem absoluten Dateinamen entfernen muss.

In diesem Tutorial werden wir die Grundlagen von dirname besprechen und wie du es verwenden kannst. Aber bevor wir das tun, lohnt es sich zu teilen, dass alle hier erwähnten Beispiele/Anweisungen auf Ubuntu 16.04 LTS getestet wurden.

Linux-Dirname Befehl

Es folgt die allgemeine Syntax des Befehls dirname:

dirname [OPTION] NAME...

So beschreibt es die Man Page des Tools:

Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains 
no  /'s,  output  '.'  (meaning  the  current directory).

Die folgenden Q&A-Beispiele geben Ihnen eine bessere Vorstellung davon, wie das Tool eingesetzt werden kann.

Q1. Wie funktioniert der Befehl dirname?

Die grundlegende Verwendung des Tools ist sehr einfach – schreiben Sie einfach den Befehlsnamen, gefolgt vom absoluten Namen einer Datei. In der Ausgabe erhalten Sie den kompletten Verzeichnisbaum, mit Ausnahme des Namens der Datei.

Hier ist ein Beispiel:

So funktioniert der Befehl dirname

Q2. Kann es mehrere Eingaben verarbeiten?

Ja, natürlich. Alles, was Sie tun müssen, ist, die absoluten Dateinamen nacheinander zu übergeben. Das folgende Beispiel soll dies deutlich machen:

Kann es mehrere Eingaben verarbeiten?

Q3. Was, wenn der Name der Datei auch der absolute Name ist?

Wenn die Eingabe nur ein Dateiname ist (nicht der absolute, komplett mit Verzeichnisbaum), dann wird in der Ausgabe ein Punkt (.) erzeugt.

Was ist, wenn der Name der Datei auch der absolute Name ist?

Wenn Sie sich die Manpage-Beschreibung des Befehls noch einmal ansehen (am Anfang erwähnt), wird dieses Verhalten dort deutlich erwähnt.

Q4. Wie ersetzt man Newline durch NUL in den Ausgangszeilen?

Standardmäßig sind die Zeilen in der Ausgabe durch Zeilenumbrüche getrennt, wie aus dem obigen Q&A 2 ersichtlich. Wenn Sie es jedoch wünschen, können Sie die Ausgabezeilen stattdessen durch NUL-Zeichen trennen lassen. Verwenden Sie dazu die Kommandozeilenoption -z.

Hier ist ein Screenshot dieser Kommandozeilenoption in Aktion:

Wie man Newline durch NUL in Ausgabezeilen ersetzt

Beachten Sie, dass die Ausgabelinien nicht mehr durch Newline getrennt waren.

Fazit

Der Befehl dirname ist vielleicht nicht so funktionsreich wie einige der anderen Linux-Befehle, aber es wäre nicht falsch zu sagen, dass es ein geschicktes Tool ist, das Ihnen bei der Arbeit mit Shell-Skripten den Tag retten kann. Was auch immer wir hier besprochen haben, ist so ziemlich alles, was das Tool bietet. Falls Sie Zweifel oder Fragen haben, hinterlassen Sie unten einen Kommentar.

Das könnte Dich auch interessieren …