Linux是一个多样化的平台,可以在它的shell中一次玩很多命令,也可以做其他工作。这些命令有不同的用途和目的。在Linux中工作时,有一个时刻你必须找出并了解一些特定的文件,它的所有者,它的路径,以及一些文件夹之间的内容。其中一个独特而伟大的命令是Linux系统的 "namei "命令。到目前为止,namei命令被用来了解更多关于特定目录的信息,即它的路径、位置和很多其他东西。因此,今天我们将讨论Ubuntu 20.04 Linux shell中的namei命令。所以,让我们有一个新的开始。
你需要先打开你的系统,然后把终端控制台也打开。使用 "Ctrl+Alt+T "来这样做。打开终端后,我们准备利用我们的命令来达到特定目的。你必须知道,为了这些原因,namei命令中使用了许多标志。如果你想了解更多关于namei命令的信息,只要在shell中写下 "namei",你就会看到命令的信息。
简单的命令
namei命令可以在shell中使用,不需要使用任何标志来简单地列出路径值。为此,你需要在shell中定义到特定目的地的路径。你可以从下面的图片中看到,路径已经被分成了几块。d "部分显示了特定路径的所有目录,而"-"部分显示了目标文件。

01: 垂直对齐路径
比方说,你想把在系统主文件夹中发现的某个文件的路径垂直对齐,但你不知道如何做。所以,你需要namei命令来帮助你。你必须使用它的"-v "标志,将其路径从头到尾垂直对齐。你也必须在命令中给出这个文件的路径。在使用这个命令并提供 "new.txt "文件的路径后,我们得到了以下结果。
在第一行,"f: "表示文件的路径被指定在它的前面。"d "代表目录,也就是说,"d "前面的所有名字都是目录。"-"号表示它前面的名字是你需要的文件,即普通文件。f "符号表示这个路径只能指向一些常规文件。
$ namei –v /home/aqsayasin/new.txt

让我们用同样的namei命令对另一个文件进行垂直对齐。所以,我们这次更新了命令中给出的路径,即与之前的路径不同。我们添加了一个在我们系统的下载文件夹中发现的 "read.cc "文件的路径。"-v "标志用于在shell中垂直对齐该文件的路径。你会看到,它将在输出的第一行显示原始路径,在 "f "前面。之后,它将垂直排列所有目录的列表。最后,它将在"-"号前面显示一个文件的名称。
$ namei –v /home/aqsayasin/Downloads/read.cc

02:查找所有者和组
namei命令对于找出其中给出的特定地址的真正所有者和组非常有用。这个所有者和组必须是某个Linux用户,而这个用户目前可能已经登录,也可能没有登录。因此,我们在这里使用name-命令,在shell中使用"-o "标志,来找出下面指令中给出的路径的每一部分的所有者和组。首先,它将在输出中的 "f "前面显示总体地址,说明它是指向某个常规文件的。现在,这个路径总共包含三个目录和一个普通文件。前两个目录的所有者和组都是相同的,即 "root",下一个目录的所有者是用户 "aqsayasin",它也属于 "aqsayasin "组。普通文件也属于用户 "aqsayasin",即这里的所有者和组是 "aqsayasin"。
$ namei –o /home/aqsayasin/new.txt

让我们用同样的namei命令找出Ubuntu 20.04系统中另一个文件 "read.cc "的所有者。我们利用了文件路径的"-o "标志。输出结果显示,前两个目录属于 "root "用户和组。最后两个目录和普通文件 "read.cc "属于当前登录的用户,即aqsayasin,你也可以对这些目录和文件进行修改。

03: 长列表信息
如果你想让你的系统,列出关于特定路径的所有其他信息,你也可以用shell中的namei命令来做。换句话说,你可以在nameei命令的帮助下,在shell中列出某个路径的所有读、写和执行权限。为了这个目的,你必须利用"-l "标志来列出namei命令中的信息和其中提到的路径。在执行带有"-l "命令的namei命令时,我们得到了如下图片所示的结果。这个命令的输出显示了 "drwxr-xr-x "这样的上下文,以及它的所有者和组的信息。字符 "d "表示一个目录的具体位置。前三个字符 "rwx "意味着所有者对这个文件有所有的读、写和执行的权利。r_x "表示该系统的组和其他用户有阅读和执行的权利,但没有写入的权利。这些权限是针对上述所有三个目录的。而文件只有其所有者和组的读写权限,即 "rw-rw-",其他用户只能阅读它,即 "i-"。

我们用namei list命令找到了文件 "read.cc "的另一个路径。这个命令的输出结果与上面的文件 "new.txt "的路径显示相同。这些目录包含相同的权限、所有者和组信息。该文件也包含与 "new.txt "文件之前得到的所有者、组和权限相同。

如果用户只想列出分配给所有者、组和其他用户的权限,他们也可以用namei命令来做。你只需要更新命令中的标志。所以,用"-m "标志替换"-l "来做。在输出中,你可以看到,它只显示了有关权限的信息。

总结
我们的指南包含了在Ubuntu 20.04系统的shell中使用namei命令来实现某些目的的简要描述,如按垂直顺序显示目录、文件和目录的所有者、这些文件和文件夹所属的组、分配给这些所有者、组和用户的权限等等。所有这些命令都很容易在任何Linux发行版中实现。