Linux namei Command Tutorial voor Beginners (5 voorbeelden)

Op de Linux commandoregel werk je met verschillende soorten bestanden, bijvoorbeeld mappen, symbolische koppelingen, en dat soort dingen. Soms is het nodig om meer te weten over afzonderlijke elementen in een pad – welk type bestand het is, wie de eigenaar is, en meer. Gelukkig is er een ingebouwd Linux commandoregel hulpprogramma – genaamd namei – waarmee je deze informatie kunt opvragen.

In deze handleiding zullen we de basis van namei bespreken aan de hand van enkele gemakkelijk te begrijpen voorbeelden. Maar voor we daarmee beginnen, is het de moeite waard te vermelden dat alle voorbeelden hier getest zijn op een Ubuntu 18.04 LTS machine.

Linux namei commando

Het namei commando in Linux volgt een padnaam tot een eindpunt wordt gevonden. Hieronder volgt de syntaxis ervan:

namei [options] pathname...

En hier is wat de man pagina over dit hulpmiddel zegt:

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.

Hieronder volgen enkele vraag-antwoord-achtige voorbeelden die je een goed idee moeten geven over hoe het namei commando werkt.

Q1. Hoe gebruik je namei?

Het basisgebruik is vrij eenvoudig, alles wat je hoeft te doen is ‘namei’ uit te voeren, gevolgd door een opdrachtregelpad.

Bijvoorbeeld:

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

En hier is de uitvoer die dit commando opleverde:

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

De man pagina van het gereedschap beschrijft in detail hoe je de uitvoer moet interpreteren.

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

Je ziet dus dat het namei commando alle elementen in het pad dat we eraan gaven uitsplitste en ons informeerde over hun type.

Q2. Hoe kun je de uitvoer van namei verticaal uitlijnen?

Dit kun je doen door de -v commandoregel optie te gebruiken. Bijvoorbeeld:

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

En hier is de uitvoer:

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

Als je dit vergelijkt met de uitvoer in de vorige paragraaf, zie je dat er deze keer een verticale uitlijning is.

Q3. Hoe kan ik namei eigenaars- en groepsinformatie laten tonen?

Dit kan met de -o commandoregel optie. Bijvoorbeeld:

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

Hier is de uitvoer:

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

Zo zie je dat eigendomsinformatie voor elk bestand/directory in de uitvoer wordt getoond.

Q4. Hoe kan ik namei het uitvoerformaat long listing laten gebruiken?

Dit kan met de -l commandoregeloptie.

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

Hier zie je de uitvoer:

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

Zo zie je dat een lscommando achtige uitvoer wordt geproduceerd door het namei commando.

Q5. Hoe werkt namei met symbolische links?

Zoals in het begin al uitgelegd, volgt het namei commando standaard een symbolische link. Bijvoorbeeld, op mijn systeem is ‘link1’ een symbolische link naar een bestand ‘file1’, dus gaf ik ‘link1’ pad als invoer aan namei door op de volgende manier:

namei /home/himanshu/link1

Dan werd de volgende uitvoer geproduceerd:

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

Je ziet dus dat het namei commando duidelijk liet zien wat voor soort bestand ‘file1’ is. Als je wilt, kun je het gereedschap echter dwingen geen symbolische links te volgen, iets wat je kunt doen door de -n commandolijnoptie te gebruiken.

namei -n /home/himanshu/link1

Hier is de uitvoer in dit geval:

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

Je ziet dus dat het gereedschap in dit geval geen symbolische link volgde.

Conclusie

Het namei commando is bijzonder nuttig in het geval van geneste symbolische link elementen in pad. Hier, in deze zelfstudie, hebben we het merendeel van de commandoregel opties die dit gereedschap biedt besproken. Als je klaar bent met deze te oefenen, ga dan naar de manpagina van het gereedschapom er meer over te weten te komen.