44

我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件。

所以如果我有:

./test.log
./test2.log
./directory
./directory/file2

我想要一个返回的命令: ./test.log ./test2.log ,仅此而已。

4

7 回答 7

74

如果你想要test.log, test2.log,file2然后:

find . -type f

如果你不想要file2那么:

find . -maxdepth 1 -type f
于 2009-08-19T15:22:28.173 回答
20

如果您还需要列出符号链接、管道、设备文件和文件系统的其他特定元素,您应该使用:

find -maxdepth 1 -not -type d

这将列出除目录之外的所有内容。

于 2015-12-27T13:07:52.607 回答
3

使用 find 很简单:

find . -maxdepth 1 -type f
于 2009-08-19T15:22:54.850 回答
0
find . -type f
于 2009-08-19T15:22:03.120 回答
0
find /some/directory -type f
于 2009-08-19T15:23:21.387 回答
0
$ find . -type f -print

每个文件将在其自己的行上。您必须位于要搜索的目录中。

于 2009-08-19T15:24:19.403 回答
-1

另一种选择

ls -ltr | grep ^d
于 2009-12-07T11:11:37.833 回答