如何在 Linux 中每行输出一个文件名?


有很多 Linux 实用程序命令可以打印当前目录中所有文件和文件夹的列表。最常用的命令是 **ls** 和 **find** 命令。

让我们探索一个简单的例子,我们将使用 **ls** 命令列出特定目录中存在的所有文件和文件夹。

命令

ls

输出

api      cluster   docs LICENSE Makefile.generated_files pkg
staging  vendor
build    cmd       go.mod LICENSES _output plugin

在 Ubuntu 上,我们以上述格式获得输出,其中所有文件和文件夹的名称都这样写。

为了逐行打印仅包含文件名的单行输出,我们需要使用 ls 命令的某个标志或附加另一个命令。

第一个允许我们每行输出一个文件名的命令如下所示。

命令

ls | tr “” “

在上述命令中,我们使用了 **tr** 命令,该命令用于删除或转换字符。

输出

api
build
CHANGELOG
CHANGELOG.md
cluster
cmd
code-of-conduct.md
CONTRIBUTING.md
docs
go.mod
go.sum
hack
LICENSE
LICENSES
...

我们可以使用的另一个命令如下所示。

命令

ls -a | cat

输出

api
build
CHANGELOG
CHANGELOG.md
cluster
cmd
code-of-conduct.md
CONTRIBUTING.md
docs
go.mod
go.sum
hack
LICENSE
LICENSES
...

还有一个命令可以逐行打印文件名。

命令

ls -1

输出

api
build
CHANGELOG
CHANGELOG.md
cluster
cmd
code-of-conduct.md
CONTRIBUTING.md
docs
go.mod
go.sum
hack
LICENSE
LICENSES
...

更新于: 2021年7月29日

3K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告