如何从终端查看文件夹?

bun*_*nty 17 command-line

如何从终端中列出文件夹,我应该使用哪个命令?

Pra*_*weł 27

只列出文件夹尝试: ls -d */


解释

-d

列出目录本身,而不是它们的内容。为了解释这一点,请考虑如果我们键入 会发生什么ls */ls向下一层,进入每个子目录,并按顺序列出每个子目录中的所有文件

来源: man ls

*/

*/在 UNIX 中被称为“glob”。(有关更多详细信息,请参阅维基百科)。但基本上,它的意思是“以正斜杠结尾的任何文件名”。在 UNIX 中,从根本上说,目录实际上只是文件。但是它们被特别命名,以正斜杠结尾,因此操作系统知道它们是目录(或文件夹,在日常用语中)。星号*在技​​术上是一个通配符,代表“任何字符串”。

什么是球?

本段不会专门针对您的问题,但如果您从未阅读过相关内容,那么最好看看。Glob 与正则表达式不同,正如(部分)在正则表达式和 Globbing 有什么区别? 已经有整本关于正则表达式的书,但是 tl;dr 有很多不同的方法来编码模式匹配表达式。

  • 好吧,你可以试试 ls -la | grep ^d 但它更长:) (2认同)

小智 7

由于我是一个非常缺乏经验的用户,我喜欢这个网站。它告诉你所有你想知道的关于 bash 命令的信息,在某些情况下它甚至给你例子。很有用。

在你的情况下:

  • ls 列出文件
  • ls -a 包含隐藏文件
  • ls -l 对于长列表格式
  • ...


nut*_*tty 6

ls -1 -d */
Run Code Online (Sandbox Code Playgroud)

在哪里

-1

每行列出一个目录。


小智 5

如果您希望能够轻松区分文件夹和文件,请使用类似ls -alhF. 我通常定义l为别名,即。我把这条线alias l='ls -alhF'放在我的.bashrc.