为初学者解释的 Linux dirname 命令(4 个示例)
在此页
- Linux 目录名命令
- Q1。 dirname 命令如何工作?
- Q2。它可以处理多个输入吗?
- Q3。如果文件名也是它的绝对名称怎么办?
- Q4。如何在输出行中用 NUL 替换换行符?
- 结论
你是 Linux 新用户吗?您的工作涉及 shell 脚本吗?如果您对这两个问题的回答都是肯定的,那么您可能会对此处讨论的工具感兴趣。该工具的名称是 dirname,它主要用于需要从绝对文件名中删除最后一个组件的情况。
在本教程中,我们将讨论目录名的基础知识以及如何使用它。但在我们这样做之前,值得分享的是,这里提到的所有示例/说明都已经在 Ubuntu 22.04 LTS 上进行了测试。
Linux目录名命令
以下是 dirname 命令的通用语法:
dirname [OPTION] NAME...
以下是工具手册页对其的描述:
Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains
no /'s, output '.' (meaning the current directory).
以下问答式示例将使您更好地了解如何使用该工具。要切换到新目录,请使用 cd 命令。
Q1。 dirname 命令如何工作?
该工具的基本用法非常简单——只需写入命令名称,然后是文件的绝对名称。在输出中,您将获得完整的目录树,文件名除外。
这是一个例子:

Q2。它可以处理多个输入吗?
是的当然。您需要做的就是一个接一个地传递绝对文件名。下面的例子应该很清楚地说明这一点:

Q3.如果文件名也是它的绝对名称怎么办?
如果输入只是一个文件名(不是绝对文件名,完整的目录树),那么输出中会产生一个点 (.)。

如果您再次查看该命令的手册页描述(开头提到),那里清楚地提到了这种行为。
Q4.如何在输出行中用 NUL 替换换行符?
默认情况下,输出中的行以换行符分隔,如上面的Q&A 2 所示。但是,如果需要,您可以使用 NUL 字符分隔输出行。为此,请使用 -z 命令行选项。
下面是此命令行选项的屏幕截图:

观察输出行不再由换行符分隔。
结论
dirname 命令可能不像其他一些 Linux 命令那样功能丰富,但可以说它是一个可以在使用 shell 脚本时节省时间的好工具。我们在这里讨论的几乎是该工具提供的所有内容。如果您有任何疑问或疑问,请在下方发表评论。