如何从终端内列出文件夹,我应该使用哪个命令?
答案1
仅列出文件夹尝试:ls -d */
解释
-d
列出目录本身,而不是其内容。为了解释这一点,请考虑如果我们输入
ls */
. 会发生什么情况ls
,它会向下一层,进入每个子目录,并按顺序列出每个子目录中的所有文件
来源:man ls
*/
*/
在 UNIX 中被称为“glob”。(参见维基百科了解详细信息)。但基本上,它的意思是“任何以斜杠结尾的文件名”。在 UNIX 中,目录实际上只是文件。但它们被特别命名为以斜杠结尾,以便操作系统知道它们是目录(或文件夹,用日常用语来说)。而星号在*
技术上是一个通配符,代表“任何字符串”。
什么是 glob?
本段不专门涉及你的这个问题,但如果你从未读过这篇文章,那最好看看。通配符与正则表达式不同,部分解释如下正则表达式和通配符之间有什么区别? 已经有很多关于正则表达式的书籍,但 tl;dr 有很多不同的方法可以对模式匹配表达式进行编码。
答案2
因为我是一个非常缺乏经验的用户,所以我喜欢这网站。它告诉你所有你想知道的关于 bash 命令的信息,在某些情况下它甚至给你提供示例。非常有用。
就你的情况而言:
ls
列出文件ls -a
包含隐藏文件ls -l
长列表格式- ...
答案3
ls -1 -d */
在哪里
-1
每行列出一个目录。
答案4
ls -al | grep ^d
包括隐藏文件 '-a' grep ^d 获取以 'd' 开头的目录,当名称以点目录开头时,表示目录是隐藏的
要递归列出,请参见此
find ./ -type d | less
./ ..................... means starts find in current folder
-type .................. indicates the type to be searched
d ...................... means directory
| ...................... redirects the command
less ................... enables paging using the keyboard arrows and leave with q