如何让 ls 列出带有尾随正斜杠的目录?

如何让 ls 列出带有尾随正斜杠的目录?

我的外壳是bash.如何获取ls带有尾随正斜杠的显示目录的输出?当我ls这样做时,tcsh它会给出所需的输出。我怎样才能在不使用任何参数的情况下发生这种情况bash

例如。

bin/
lib/
src/
file1.txt
file2.txt

答案1

最简单的解决方案(正如@don_crissti 在评论中给出的)是:

ls -p

您可以通过以下方式获得类似的效果:

ls -F

但这也会增加一些其他指标:

将一个字符附加到每个文件名以指示文件类型。此外,对于可执行的常规文件,请附加*.文件类型指示符/适用于目录、@符号链接、 |FIFO、=套接字、>门,而对于常规文件则没有任何指示符。


当然,您可以使用别名使字符串在命令行上ls执行:ls -p

alias ls='ls -p'

这是暂时的,可以用 删除unalias ls
可能您tcsh有一个有效的别名。

您可以通过将命令放入~/.bashrc或 来完成此操作~/.bash_aliases

答案2

您可以使用-F,例如

$ /bin/ls -F
-/                                 diesel_folks                 grub                     presidents             user_mailer/
0/                                 dmStaffing/                  HJJJH/                   prime_scenarios   
...
# I'm using /bin/ls to make sure I run my system ls 
# (I actually have it aliased to add options automatically normally)
#
# Just read about your no argument requirement
# So you too could alias it, i.e.

alias ls='ls -F'

# Put it in your `.bashrc` or `.bash_aliases` file

答案3

任何一个

   ls --classify

或者:

   ls --indicator-style=slash

解释

   -F, --classify
          append indicator (one of */=>@|) to entries

   -p, --indicator-style=slash
          append / indicator to directories

其他答案或多或少涵盖了这一点,但在 Stack Overflow 答案中,我更喜欢 GNU 风格的长选项而不是 BSD 风格的短选项,因为它们更不言自明且易于学习/“可记忆”/“可内在化”。

答案4

在许多系统(例如 Ubuntu)上,您可以使用该l命令。默认情况下,它显示所有带有正斜杠的目录。它实际上是ls -CF(您可以通过运行找到)的别名alias。这些类型的别名通常定义在~/.bashrc(如果您想修改它们或添加其他别名)。

相关内容