GNU/Linux >> Linux の 問題 >  >> Linux

初心者向けのLinuxnameiコマンドチュートリアル(5つの例)

Linuxコマンドラインでは、ディレクトリ、シンボリックリンクなど、いくつかの種類のファイルを操作します。場合によっては、パス内の個々の要素(ファイルの種類、所有者)などについて詳しく知る必要があります。ありがたいことに、組み込みのLinuxコマンドラインユーティリティがあります- nameiと呼ばれます -これにより、この情報を取得できます。

このチュートリアルでは、わかりやすい例を使用して、nameiの基本について説明します。ただし、それを始める前に、ここでのすべての例がUbuntu18.04LTSマシンでテストされていることを言及する価値があります。

Linuxnameiコマンド

Linuxのnameiコマンドは、終点が見つかるまでパス名に従います。その構文は次のとおりです。

namei [options] pathname...

そして、このツールについてのマニュアルページの内容は次のとおりです。

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.

以下は、nameiコマンドがどのように機能するかについての良いアイデアを与えるはずのQ&Aスタイルの例です。

Q1。 nameiの使い方は?

基本的な使用法は非常に簡単です。必要なのは、「namei」の後にコマンドラインパスを実行することだけです。

例:

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

そして、このコマンドが生成した出力は次のとおりです。

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

ツールのマニュアルページには、出力の解釈方法が詳しく説明されています。

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

したがって、nameiコマンドが、指定されたパス内のすべての要素を分解し、それらのタイプについて通知していることがわかります。

Q2。 namei出力を垂直方向に揃える方法は?

これは、-vコマンドラインオプションを使用して実行できます。例:

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

そして、これが出力です:

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

これを前のセクションで示した出力と比較すると、今回は垂直方向の配置があることがわかります。

Q3。 nameiに所有者とグループの情報を表示させる方法は?

これは、-oコマンドラインオプションを使用して実行できます。例:

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

出力は次のとおりです:

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

したがって、各ファイル/ディレクトリの所有権情報が出力に表示されていることがわかります。

Q4。 nameiにロングリスト出力形式を使用させる方法は?

これは、-lコマンドラインオプションを使用して実行できます。

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

出力は次のとおりです:

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

したがって、出力のようなlsコマンドがnameiコマンドによって生成されることがわかります。

冒頭ですでに説明したように、nameiコマンドはデフォルトでシンボリックリンクをたどります。たとえば、私のシステムでは、「link1」はファイル「file1」へのシンボリックリンクであるため、次のように「link1」パスをnameiへの入力として渡しました。

namei /home/himanshu/link1

次に、次の出力が生成されました:

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

したがって、nameiコマンドがファイル'file1'の種類を明確に示していることがわかります。ただし、必要に応じて、ツールがシンボリックリンクをたどらないようにすることができます。これは、-nコマンドラインオプションを使用して実行できます。

namei -n /home/himanshu/link1

この場合の出力は次のとおりです。

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

したがって、この場合、ツールがシンボリックリンクをたどっていなかったことがわかります。

結論

nameiコマンドは、パスにネストされたシンボリックリンク要素の場合に特に役立ちます。ここで、このチュートリアルでは、このツールが提供するコマンドラインオプションの大部分について説明しました。これらの練習が終わったら、ツールのマニュアルページにアクセスして詳細を確認してください。


Linux
  1. 初心者向けのLinuxcdコマンドチュートリアル(8例)

  2. 初心者向けのLinux日付コマンドチュートリアル(8例)

  3. 初心者向けのLinuxホスト名コマンドチュートリアル(5つの例)

  1. 初心者向けのLinux通信コマンドチュートリアル(5例)

  2. 初心者向けのLinuxdfコマンドチュートリアル(8例)

  3. 初心者向けのLinuxduコマンドチュートリアル(10例)

  1. 初心者向けのLinuxechoコマンドチュートリアル(5つの例)

  2. 初心者向けのLinuxenvコマンドチュートリアル(5つの例)

  3. 初心者向けのLinuxサイズのコマンドチュートリアル(6つの例)