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