GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux namei Command Tutorial für Anfänger (5 Beispiele)

Auf der Linux-Befehlszeile arbeiten Sie mit verschiedenen Dateitypen, beispielsweise Verzeichnissen, symbolischen Links und ähnlichen Dingen. Manchmal ist es erforderlich, mehr über einzelne Elemente in einem Pfad zu wissen – um welchen Dateityp es sich handelt, wer sein Besitzer ist und mehr. Glücklicherweise gibt es ein eingebautes Linux-Befehlszeilendienstprogramm namens namei - damit können Sie diese Informationen abrufen.

In diesem Tutorial werden wir die Grundlagen von namei anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir damit beginnen, ist es erwähnenswert, dass alle Beispiele hier auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.

Linux namei-Befehl

Der Namei-Befehl in Linux folgt einem Pfadnamen, bis ein Endpunkt gefunden wird. Es folgt die Syntax:

namei [options] pathname...

Und hier ist, was die Manpage über dieses Tool sagt:

namei  interprets  its  arguments as pathnames to any type of Unix file
       (symlinks, files, directories, and so forth).  namei then follows  each
       pathname  until  an  endpoint  is  found (a file, a directory, a device
       node, etc).  If it finds a symbolic link, it shows the link, and starts
       following it, indenting the output to show the context.

       This  program is useful for finding "too many levels of symbolic links"
       problems.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Namei-Befehl funktioniert.

Q1. Wie benutzt man namei?

Die grundlegende Verwendung ist ziemlich einfach, alles, was Sie tun müssen, ist, 'namei' auszuführen, gefolgt von einem Befehlszeilenpfad.

Zum Beispiel:

namei -v /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png

Und hier ist die Ausgabe dieses Befehls:

f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
 d /
 d home
 d himanshu
 d Downloads
 d HTF-review
 d Nodejs-Docker
 - 1.png

Die Manpage des Tools beschreibt detailliert, wie die Ausgabe zu interpretieren ist.

For each line of output, namei uses the following characters to identify the file type found:

          f: = the pathname currently being resolved
           d = directory
           l = symbolic link (both the link and its contents are output)
           s = socket
           b = block device
           c = character device
           p = FIFO (named pipe)
           - = regular file
           ? = an error of some kind

Sie können also sehen, dass der namei-Befehl alle Elemente im Pfad, den wir ihm übergeben haben, aufgeschlüsselt hat und uns über ihren Typ informiert.

Q2. Wie wird die Namei-Ausgabe vertikal ausgerichtet?

Dies können Sie mit der Befehlszeilenoption -v tun. Zum Beispiel:

namei -v /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png

Und hier ist die Ausgabe:

f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
d /
d home
d himanshu
d Downloads
d HTF-review
d Nodejs-Docker
- 1.png

Wenn Sie dies mit der im vorherigen Abschnitt gezeigten Ausgabe vergleichen, werden Sie feststellen, dass es diesmal eine vertikale Ausrichtung gibt.

Q3. Wie kann ich Namei veranlassen, Eigentümer- und Gruppeninformationen anzuzeigen?

Dies kann mit der Befehlszeilenoption -o erfolgen. Zum Beispiel:

namei -o /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png

Hier ist die Ausgabe:

f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
 d root     root     /
 d root     root     home
 d himanshu himanshu himanshu
 d himanshu himanshu Downloads
 d himanshu himanshu HTF-review
 d himanshu himanshu Nodejs-Docker
 - himanshu himanshu 1.png

So können Sie sehen, dass Eigentumsinformationen für jede Datei/jedes Verzeichnis in der Ausgabe angezeigt werden.

Q4. Wie bringt man namei dazu, das Ausgabeformat für lange Listen zu verwenden?

Dies kann mit der Befehlszeilenoption -l erfolgen.

namei -l /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png

Hier ist die Ausgabe:

f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
drwxr-xr-x root     root     /
drwxr-xr-x root     root     home
drwxr-xr-x himanshu himanshu himanshu
drwxr-xr-x himanshu himanshu Downloads
drwxr-xr-x himanshu himanshu HTF-review
drwxr-xr-x himanshu himanshu Nodejs-Docker
-rw-rw-r-- himanshu himanshu 1.png

Sie können also sehen, dass eine ls-Befehlsähnliche Ausgabe vom namei-Befehl erzeugt wird.

Wie bereits eingangs erklärt, folgt der Namei-Befehl standardmäßig einem symbolischen Link. Auf meinem System ist „link1“ beispielsweise ein symbolischer Link zu einer Datei „file1“, also habe ich den Pfad „link1“ als Eingabe an namei auf folgende Weise übergeben:

namei /home/himanshu/link1

Dann wurde die folgende Ausgabe erzeugt:

f: /home/himanshu/link1
 d /
 d home
 d himanshu
 l link1 -> file1
   - file1

Sie können also sehen, dass der Namei-Befehl deutlich zeigt, um welche Art von Datei es sich bei ‚Datei1‘ handelt. Wenn Sie möchten, können Sie das Tool jedoch zwingen, symbolischen Links nicht zu folgen, was Sie mit der Befehlszeilenoption -n tun können.

namei -n /home/himanshu/link1

Hier ist die Ausgabe in diesem Fall:

f: /home/himanshu/link1
 d /
 d home
 d himanshu
 l link1 -> file1

Sie können also sehen, dass das Tool in diesem Fall dem symbolischen Link nicht gefolgt ist.

Schlussfolgerung

Der Namei-Befehl ist besonders nützlich bei verschachtelten symbolischen Link-Elementen im Pfad. Hier, in diesem Tutorial, haben wir die meisten Befehlszeilenoptionen besprochen, die dieses Tool bietet. Wenn Sie mit dem Üben fertig sind, gehen Sie zur Manpage des Tools, um mehr darüber zu erfahren.


Linux
  1. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  2. Linux-Kommando-Tutorial für Anfänger (5 Beispiele)

  3. Linux-df-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. Linux-Hostname-Befehls-Tutorial für Anfänger (5 Beispiele)

Linux Who Command Tutorial für Anfänger (8 Beispiele)

Linux nl Command Tutorial für Anfänger (7 Beispiele)

Linux-nm-Befehls-Tutorial für Anfänger (10 Beispiele)

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)