最後にドットディレクトリ、次にドットファイルでディレクトリをリストします。

最後にドットディレクトリ、次にドットファイルでディレクトリをリストします。

lsそのオプションがあることは承知しています--group-directories-firstが、それはまさに私が達成したいことではありません。

出力は次のようになります: (名前のASCでソート)

  • ディレクトリ
  • 隠しディレクトリ
  • 隠しファイル

答え1

GNU の場合ls(ファイル リストをソートしないように-U指示するオプションはGNU 拡張機能です):ls

ls -lUd -- *(/) .*(/) .*(^/)

しかし問題は、これらのグロブのいずれかが一致しない場合、コマンドがキャンセルされることです。そのため、次のようにすることができます。

myls() (
  setopt cshnullglob
  ls -lUd -- *(/) .*(/) .*(^/)
)

これはcsh、コマンド内に何かに展開される glob が少なくとも 1 つある限り、一致しない glob が何も展開されないという動作をエミュレートします。

zshglob は と を展開することはないので...これら 2 つが含まれることは決してないことに注意してください。

関連情報