我的外壳是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
(如果您想修改它们或添加其他别名)。