web-dev-qa-db-ja.com

lsに末尾のスラッシュを付けてディレクトリを一覧表示するにはどうすればよいですか?

私のシェルはbashです。 lsの出力を取得して、末尾にスラッシュがあるディレクトリを表示するにはどうすればよいですか? lstcshを実行すると、目的の出力が得られます。引数を使用せずにこれをbashで発生させるにはどうすればよいですか?

例えば。

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

最も単純な解決策(コメントで@don_crisstiによって既に指定されている)は次のとおりです。

ls -p

次のようにして、同様の効果を得ることができます。

ls -F

しかし、それは他のいくつかの指標も同様に追加します:

ファイルの種類を示す文字を各ファイル名に追加します。また、実行可能な通常のファイルの場合は、*を追加します。ファイルタイプインジケータは、ディレクトリは/、シンボリックリンクは@、FIFOは|、ソケットは=、ドアは>、通常は何もありません。ファイル。


もちろん、コマンドラインでエイリアスls execute ls -pを作成できます。

alias ls='ls -p'

これは一時的なものであり、unalias lsで消去できます。
おそらくtcshにはアクティブなエイリアスが設定されています。

~/.bashrcまたは~/.bash_aliasesにコマンドを配置することで実行できます。

12
user79743

-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
2
Michael Durrant

どちらか

   ls --classify

または:

   ls --indicator-style=slash

説明

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

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

他の回答は多かれ少なかれこれをカバーしていますが、私はスタックオーバーフローの回答でBSDスタイルの短いオプションよりもGNUスタイルの長いオプションを好んでいます。

0