Linux namei 命令初学者教程(5 个示例)
在此页
- Linux namei 命令
- Q1。如何使用名称?
- Q2。如何垂直对齐 namei 输出?
- Q3。如何让namei显示所有者和组信息?
- Q4。如何使 namei 使用长列表输出格式?
- Q5。 namei 如何与符号链接一起使用?
- 结论
在 Linux 命令行上,您可以使用多种类型的文件,例如目录、符号链接等。有时,需要更多地了解路径中的各个元素 - 它是什么类型的文件,谁是它的所有者等等。值得庆幸的是,有一个内置的 Linux 命令行实用程序 - 称为 namei - 可以让您获取此信息。
在本教程中,我们将使用一些易于理解的示例来讨论 namei 的基础知识。但在我们开始之前,值得一提的是,这里的所有示例都已经在 Ubuntu 18.04 LTS 机器上进行了测试。
Linux 名称命令
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.
以下是一些 Q&A 风格的示例,可以让您对 namei 命令的工作原理有一个很好的了解。
Q1。如何使用名称?
基本用法相当简单,您所要做的就是执行 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 命令在路径中有嵌套符号链接元素的情况下特别有用。在本教程中,我们讨论了该工具提供的大部分命令行选项。完成这些练习后,请前往工具手册页了解更多信息。