2009-08-19 136 views
23

我正在尋找一種方法來列出目錄中的所有文件,不包括目錄本身以及這些子目錄中的文件。找到目錄中的所有文件不是目錄本身

所以,如果我有:

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

我想返回的命令:./test.log ./test2.log而已。

回答

42

如果你想test.logtest2.logfile2則:

find . -type f 

如果你不想file2不那麼:使用find

find . -maxdepth 1 -type f 
0
find . -type f 
+0

你說得對,誤解了這個問題。約翰·庫格曼發佈了一個更完整的答案。 – amrox 2009-08-19 15:38:48

3

也很簡單:

find . -maxdepth 1 -type f 
0
find /some/directory -type f 
+0

錯誤,這是遞歸的(file2不能包含) – dfa 2009-08-19 16:02:34

0
$ find . -type f -print 

每個文件將在它自己的行上。您必須位於您要搜索的目錄中。

+0

錯誤,這是遞歸的(file2不能包含) – dfa 2009-08-19 16:03:53

-1

還有一個選項

ls -ltr | grep ^d 
5

如果需要符號鏈接,管道,設備的文件和文件系統的其他特定元素被過於上市,你應該使用:

find -maxdepth 1 -not -type d 

這將列出一切目錄除外。

相關問題