Linux是一个多样化的平台,可以一次在其 shell 中使用大量命令,还可以执行其他工作。这些命令具有不同的用途和目的。在 Linux 中工作时,你需要找出并了解一些特定文件、其所有者、路径以及某些文件夹之间的内容。其中一个独特而伟大的命令就是 Linux 系统的“namei”命令。到目前为止,namei命令用于了解有关特定目录的更多信息,如路径、位置等。因此,今天我们将讨论 Ubuntu 20.04 Linux shell 中的 namei 命令。
终端打开后,我们准备将命令用于特定目的。由于这些原因,你必须知道 namei 命令在其中使用了许多标志。如果你想了解有关 namei 命令的更多信息,只需在 shell 中输入“namei”,你就会看到命令信息。
namei命令通常可以用在出现权限问题时,它可以用于任何 UNIX 文件,如符号链接、文件、目录等。使用namei可以列出路径中所有成分的信息,包含符号链接。通过参数可以显示出包括权限、所有者和所属组等信息。
简单命令:
namei 命令可以在 shell 中使用,而无需在其中使用任何标志来简单地列出路径值。为此,你需要在 shell 中定义特定目标的路径。你可以从下图中看到路径已被分成块。“d”部分显示特定路径的所有目录,而“-”部分显示目标文件。
linuxmi@linuxmi:~$ namei /home/linuxmi/linuxmi.txt
01:垂直对齐路径
比方说,你想垂直对齐在系统主文件夹中找到的特定文件的路径,但你不知道该怎么做。因此,你需要 namei 命令来获得帮助。你必须将它与“-v”标志一起使用,以使其路径从头到尾垂直对齐。你还必须在命令中提供此文件的路径。通过提供“linuxmi.txt”文件的路径使用此命令后,我们得到了以下结果。
在第一行,“f:”表示文件的路径在其前面指定。“d”代表目录,即表示“d”前面的所有名称都是目录。“-”号表示前面的名字是你需要的文件,即普通文件。“f”符号表示该路径只能指向某个常规文件。
linuxmi@linuxmi:~$ namei -v /home/linuxmi/linuxmi.txt
让我们使用相同的 namei 命令垂直对齐另一个文件。因此,我们这次更新了命令中给出的路径,即与上一次不同。我们在系统的“下载”文件夹中添加了“linuxmi.cc”文件的路径。“-v”标志用于垂直对齐shell中此文件的路径。你会看到它将在“f”前面的第一行输出显示原始路径。之后,它将垂直对齐所有目录的列表。最后,它会在“-”号前面显示文件名。
linuxmi@linuxmi:~$ namei -v /home/linuxmi/Download/linuxmi.cc
02:查找所有者和组
namei 命令对于找出其中给出的特定地址的真正所有者和组非常有用。该所有者和组必须是当前可能登录或未登录的某个 Linux 用户。因此,我们在这里使用带有“-o”标志的 name- 命令来找出每个部分的所有者和组以下说明中给出的路径。首先,它将在“f”前面的输出中显示总体地址,说明它正在指向某个常规文件。现在,此路径总共包含三个目录和 1 个常规文件。前两个目录的所有者和组相同,即“root” 下一个目录的所有者是用户“linuxmi”,也属于“linuxmi”组。常规文件也属于用户“linuxmi”,即这里的所有者和组是“linuxmi”。
linuxmi@linuxmi:~$ namei -o /home/linuxmi/linuxmi.txt
让我们在 Ubuntu 20.04 系统中使用相同的 namei 命令找出另一个文件“linuxmi.cc”的所有者。我们在文件路径中使用了“-o”标志。输出显示前两个目录属于“root”用户和组。最后两个目录和常规文件“linuxmi.cc”属于当前登录的用户,即 linuxmi,你也可以对这些目录和文件进行更改。
linuxmi@linuxmi:~$ namei -o /home/linuxmi/Download/linuxmi.cc
03:长列表信息
如果你要列出有关特定路径的所有其他信息,也可以使用 shell 中的 namei 命令来完成。也就是说,你可以通过 namei 命令列出 shell 中某个路径的所有读、写、执行权限。为此,你必须使用“-l”标志来列出 namei 命令中的信息以及其中提到的路径。使用“-l”标志执行 namei 命令后,我们得到了下图中所示的结果。该命令的输出显示了诸如“drwxr-xr-x”之类的上下文及其所有者和组信息。字符“d”表示目录的具体位置。前三个“rwx”字符表示所有者拥有对该文件的读、写和执行的所有权限。“r_x”表示本系统的组和其他用户有读取和执行的权限,但没有写入权限。这些权限适用于所有三个提到的目录。而文件只获得了它的所有者和组的读写权限,即“rw-rw-”,其他用户只能读取它。即,“i—”。
linuxmi@linuxmi:~$ namei -l /home/linuxmi/linuxmi.txt
我们已经使用 namei list 命令获取文件“linuxmi.cc”的另一个路径。此命令的输出显示与上述文件“linuxmi.txt”路径相同的输出。这些目录包含相同的权限、所有者和组信息。该文件还包含与之前的“linuxmi.txt”文件相同的所有者、组和权限。
linuxmi@linuxmi:~$ namei -l /home/linuxmi/Download/linuxmi.cc
如果用户只想列出分配给所有者、组和其他用户的权限,也可以使用 namei 命令来实现。你只需更新命令中的标志。因此,将“-l”替换为“-m”标志即可。在输出中,你可以看到它仅显示有关权限的信息。
linuxmi@linuxmi:~$ namei -m /home/linuxmi/linuxmi.txt
结论:
本文简要介绍了如何在 Ubuntu 20.04 系统 shell 中使用 namei 命令来实现某些目的,如按垂直顺序显示目录、文件和目录的所有者、这些文件和文件夹所属的组、分配给这些所有者、组和用户的权限,所有这些命令在任何Linux发行版中都很容易实现。