Linux教程系列:namei 用法,獨(dú)特而偉大的 Linu
Linux是一個(gè)多樣化的平臺(tái),可以一次在其 shell 中使用大量命令,還可以執(zhí)行其他工作。這些命令具有不同的用途和目的。在 Linux 中工作時(shí),你需要找出并了解一些特定文件、其所有者、路徑以及某些文件夾之間的內(nèi)容。其中一個(gè)獨(dú)特而偉大的命令就是 Linux 系統(tǒng)的“namei”命令。到目前為止,namei命令用于了解有關(guān)特定目錄的更多信息,如路徑、位置等。因此,今天我們將討論 Ubuntu 20.04 Linux shell 中的 namei 命令。
終端打開后,我們準(zhǔn)備將命令用于特定目的。由于這些原因,你必須知道 namei 命令在其中使用了許多標(biāo)志。如果你想了解有關(guān) namei 命令的更多信息,只需在 shell 中輸入“namei”,你就會(huì)看到命令信息。
namei命令通??梢杂迷诔霈F(xiàn)權(quán)限問題時(shí),它可以用于任何 UNIX 文件,如符號(hào)鏈接、文件、目錄等。使用namei可以列出路徑中所有成分的信息,包含符號(hào)鏈接。通過參數(shù)可以顯示出包括權(quán)限、所有者和所屬組等信息。
簡(jiǎn)單命令:
namei 命令可以在 shell 中使用,而無需在其中使用任何標(biāo)志來簡(jiǎn)單地列出路徑值。為此,你需要在 shell 中定義特定目標(biāo)的路徑。你可以從下圖中看到路徑已被分成塊?!癲”部分顯示特定路徑的所有目錄,而“-”部分顯示目標(biāo)文件。
linuxmi@linuxmi:~$ namei /home/linuxmi/linuxmi.txt
01:垂直對(duì)齊路徑
比方說,你想垂直對(duì)齊在系統(tǒng)主文件夾中找到的特定文件的路徑,但你不知道該怎么做。因此,你需要 namei 命令來獲得幫助。你必須將它與“-v”標(biāo)志一起使用,以使其路徑從頭到尾垂直對(duì)齊。你還必須在命令中提供此文件的路徑。通過提供“l(fā)inuxmi.txt”文件的路徑使用此命令后,我們得到了以下結(jié)果。
在第一行,“f:”表示文件的路徑在其前面指定。“d”代表目錄,即表示“d”前面的所有名稱都是目錄?!?”號(hào)表示前面的名字是你需要的文件,即普通文件?!癴”符號(hào)表示該路徑只能指向某個(gè)常規(guī)文件。
linuxmi@linuxmi:~$ namei -v /home/linuxmi/linuxmi.txt
讓我們使用相同的 namei 命令垂直對(duì)齊另一個(gè)文件。因此,我們這次更新了命令中給出的路徑,即與上一次不同。我們?cè)谙到y(tǒng)的“下載”文件夾中添加了“l(fā)inuxmi.cc”文件的路徑。“-v”標(biāo)志用于垂直對(duì)齊shell中此文件的路徑。你會(huì)看到它將在“f”前面的第一行輸出顯示原始路徑。之后,它將垂直對(duì)齊所有目錄的列表。最后,它會(huì)在“-”號(hào)前面顯示文件名。
linuxmi@linuxmi:~$ namei -v /home/linuxmi/Download/linuxmi.cc
02:查找所有者和組
namei 命令對(duì)于找出其中給出的特定地址的真正所有者和組非常有用。該所有者和組必須是當(dāng)前可能登錄或未登錄的某個(gè) Linux 用戶。因此,我們?cè)谶@里使用帶有“-o”標(biāo)志的 name- 命令來找出每個(gè)部分的所有者和組以下說明中給出的路徑。首先,它將在“f”前面的輸出中顯示總體地址,說明它正在指向某個(gè)常規(guī)文件。現(xiàn)在,此路徑總共包含三個(gè)目錄和 1 個(gè)常規(guī)文件。前兩個(gè)目錄的所有者和組相同,即“root” 下一個(gè)目錄的所有者是用戶“l(fā)inuxmi”,也屬于“l(fā)inuxmi”組。常規(guī)文件也屬于用戶“l(fā)inuxmi”,即這里的所有者和組是“l(fā)inuxmi”。
linuxmi@linuxmi:~$ namei -o /home/linuxmi/linuxmi.txt
讓我們?cè)?Ubuntu 20.04 系統(tǒng)中使用相同的 namei 命令找出另一個(gè)文件“l(fā)inuxmi.cc”的所有者。我們?cè)谖募窂街惺褂昧恕?o”標(biāo)志。輸出顯示前兩個(gè)目錄屬于“root”用戶和組。最后兩個(gè)目錄和常規(guī)文件“l(fā)inuxmi.cc”屬于當(dāng)前登錄的用戶,即 linuxmi,你也可以對(duì)這些目錄和文件進(jìn)行更改。
linuxmi@linuxmi:~$ namei -o /home/linuxmi/Download/linuxmi.cc
03:長(zhǎng)列表信息
如果你要列出有關(guān)特定路徑的所有其他信息,也可以使用 shell 中的 namei 命令來完成。也就是說,你可以通過 namei 命令列出 shell 中某個(gè)路徑的所有讀、寫、執(zhí)行權(quán)限。為此,你必須使用“-l”標(biāo)志來列出 namei 命令中的信息以及其中提到的路徑。使用“-l”標(biāo)志執(zhí)行 namei 命令后,我們得到了下圖中所示的結(jié)果。該命令的輸出顯示了諸如“drwxr-xr-x”之類的上下文及其所有者和組信息。字符“d”表示目錄的具體位置。前三個(gè)“rwx”字符表示所有者擁有對(duì)該文件的讀、寫和執(zhí)行的所有權(quán)限?!皉_x”表示本系統(tǒng)的組和其他用戶有讀取和執(zhí)行的權(quán)限,但沒有寫入權(quán)限。這些權(quán)限適用于所有三個(gè)提到的目錄。而文件只獲得了它的所有者和組的讀寫權(quán)限,即“rw-rw-”,其他用戶只能讀取它。即,“i—”。
linuxmi@linuxmi:~$ namei -l /home/linuxmi/linuxmi.txt
我們已經(jīng)使用 namei list 命令獲取文件“l(fā)inuxmi.cc”的另一個(gè)路徑。此命令的輸出顯示與上述文件“l(fā)inuxmi.txt”路徑相同的輸出。這些目錄包含相同的權(quán)限、所有者和組信息。該文件還包含與之前的“l(fā)inuxmi.txt”文件相同的所有者、組和權(quán)限。
linuxmi@linuxmi:~$ namei -l /home/linuxmi/Download/linuxmi.cc
如果用戶只想列出分配給所有者、組和其他用戶的權(quán)限,也可以使用 namei 命令來實(shí)現(xiàn)。你只需更新命令中的標(biāo)志。因此,將“-l”替換為“-m”標(biāo)志即可。在輸出中,你可以看到它僅顯示有關(guān)權(quán)限的信息。
linuxmi@linuxmi:~$ namei -m /home/linuxmi/linuxmi.txt
結(jié)論:
本文簡(jiǎn)要介紹了如何在 Ubuntu 20.04 系統(tǒng) shell 中使用 namei 命令來實(shí)現(xiàn)某些目的,如按垂直順序顯示目錄、文件和目錄的所有者、這些文件和文件夾所屬的組、分配給這些所有者、組和用戶的權(quán)限,所有這些命令在任何Linux發(fā)行版中都很容易實(shí)現(xiàn)。