如何在 Linux 上使用 find 命令仅获取文件名?
linuxoperating systemopen source更新于 2026/2/14 23:37:17
Linux find 语句是最广泛使用的语句之一,它允许我们遍历文件层次结构。它主要用于查找特定文件或目录,我们也可以附加其他不同的 Linux 语句或标志来增强功能或执行复杂的操作。
让我们来探索一个 find 语句的示例,以便更好地理解它。
在下面显示的 Linux 代码中,我尝试在"下载"文件夹中搜索文件,为此我使用了 find 语句。
find sample.sh
输出
sample.sh
请注意,如果 find 命令能够找到文件,它将仅打印文件名;如果找不到,它将不返回任何内容,终端进程将终止。
现在我们知道了 find 语句的工作原理,让我们来探讨一下只想获取文件名称的情况。文件,而不是其附带的所有内容。
如果您正在使用 GNU 终端,那么下面显示的命令将帮助您实现这一点。
只需将命令写入您的 GNU 终端即可
find ./ -type f -printf "%f
"
输出
immukul@192 ~ % find ./ -type f -printf "%f
" Applications C: emp1 Desktop Documents Downloads Exercism IdeaProjects Library MEGAsync MEGAsync Downloads Movies Music Pictures Public PycharmProjects
需要注意的是,如果您使用的不是 GNU 终端,可能会出现错误,提示未找到 -printf。在这种情况下,您可以使用 Bash 脚本来实现相同的输出。
考虑下面的脚本代码 −
for file in **; do echo ${file##*/}; done
只需将上述代码保存到以 .sh 扩展名结尾的文件中,然后使用以下命令授予文件权限 −
chmod 777 out.sh
最后,使用以下命令执行 Shell 脚本 −
./out.sh
输出
immukul@192 ~ % ./out.sh Applications C: emp1 Desktop Documents Downloads Exercism IdeaProjects Library MEGAsync MEGAsync Downloads Movies Music Pictures Public PycharmProjects
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

