alias ls='LC_COLLATE=C ls --group-directories-first'
ちょっと説明
GitHubやBitBucketのディレクトリ表示(POSIXのソート順)に慣れてくると、自分の環境のls
コマンドの表示結果との違いに となることがあります。たとえばこういうのは、
$ ls -al
total 66464
drwxr-xr-x 18 ubuntu ubuntu 4096 Mar 10 10:12 .
drwxr-xr-x 3 root root 4096 Feb 1 19:03 ..
drwxrwxr-x 8 ubuntu ubuntu 4096 Mar 1 08:52 Apps
-rw-rw-r-- 1 ubuntu ubuntu 148 Feb 23 11:29 .bash_aliases
-rw------- 1 ubuntu ubuntu 51385 Mar 10 10:15 .bash_history
-rw-r--r-- 1 ubuntu ubuntu 220 Apr 9 2014 .bash_logout
-rw-r--r-- 1 ubuntu ubuntu 3867 Mar 10 10:12 .bashrc
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 24 12:57 bin
drwx------ 2 ubuntu ubuntu 4096 Feb 1 19:03 .cache
drwx------ 3 ubuntu ubuntu 4096 Feb 2 07:02 .config
-rw-rw-r-- 1 ubuntu ubuntu 340 Feb 9 10:51 Dockerfile
drwxrwxr-x 6 ubuntu ubuntu 4096 Mar 4 15:37 Downloads
-rw-rw-r-- 1 ubuntu ubuntu 719 Mar 3 09:36 .functions
-rw-rw-r-- 1 ubuntu ubuntu 83 Feb 5 14:17 .gitconfig
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 22 13:29 go
-rw-r--r-- 1 ubuntu ubuntu 1065 Feb 18 18:15 .profile
drwxrwxr-x 14 ubuntu ubuntu 4096 Mar 4 10:07 Projects
-rw-rw-r-- 1 ubuntu ubuntu 75 Feb 2 17:06 .selected_editor
drwx------ 2 ubuntu ubuntu 4096 Feb 1 23:42 .ssh
drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 6 10:49 tmp
-rw-rw-r-- 1 ubuntu ubuntu 257 Feb 18 18:39 .tmux.conf
-rw-rw-r-- 1 ubuntu ubuntu 54 Feb 17 09:13 tmux-client-5500.log
drwxr-xr-x 2 ubuntu ubuntu 4096 Mar 3 16:52 .vim
-rw------- 1 ubuntu ubuntu 17049 Mar 10 10:12 .viminfo
-rw------- 1 ubuntu ubuntu 61 Feb 12 23:32 .Xauthority
- ディレクトリ->ファイル
- 大文字->小文字
- 隠しファイル(ドットファイル)->通常ファイル
の順に並べて欲しいわけです。こんなふうに。
$ ls -al
total 65M
drwxr-xr-x 18 ubuntu ubuntu 4.0K Mar 10 10:12 .
drwxr-xr-x 3 root root 4.0K Feb 1 19:03 ..
drwx------ 2 ubuntu ubuntu 4.0K Feb 1 19:03 .cache
drwx------ 3 ubuntu ubuntu 4.0K Feb 2 07:02 .config
drwx------ 2 ubuntu ubuntu 4.0K Feb 1 23:42 .ssh
drwxr-xr-x 2 ubuntu ubuntu 4.0K Mar 3 16:52 .vim
drwxrwxr-x 8 ubuntu ubuntu 4.0K Mar 1 08:52 Apps
drwxrwxr-x 6 ubuntu ubuntu 4.0K Mar 4 15:37 Downloads
drwxrwxr-x 14 ubuntu ubuntu 4.0K Mar 4 10:07 Projects
drwxrwxr-x 2 ubuntu ubuntu 4.0K Feb 24 12:57 bin
drwxrwxr-x 3 ubuntu ubuntu 4.0K Feb 22 13:29 go
drwxrwxr-x 4 ubuntu ubuntu 4.0K Feb 6 10:49 tmp
-rw------- 1 ubuntu ubuntu 61 Feb 12 23:32 .Xauthority
-rw-rw-r-- 1 ubuntu ubuntu 148 Feb 23 11:29 .bash_aliases
-rw------- 1 ubuntu ubuntu 51K Mar 10 10:12 .bash_history
-rw-r--r-- 1 ubuntu ubuntu 220 Apr 9 2014 .bash_logout
-rw-r--r-- 1 ubuntu ubuntu 3.8K Mar 10 10:12 .bashrc
-rw-rw-r-- 1 ubuntu ubuntu 719 Mar 3 09:36 .functions
-rw-rw-r-- 1 ubuntu ubuntu 83 Feb 5 14:17 .gitconfig
-rw-r--r-- 1 ubuntu ubuntu 1.1K Feb 18 18:15 .profile
-rw-rw-r-- 1 ubuntu ubuntu 75 Feb 2 17:06 .selected_editor
-rw-rw-r-- 1 ubuntu ubuntu 257 Feb 18 18:39 .tmux.conf
-rw------- 1 ubuntu ubuntu 17K Mar 10 10:12 .viminfo
-rw-rw-r-- 1 ubuntu ubuntu 340 Feb 9 10:51 Dockerfile
-rw-rw-r-- 1 ubuntu ubuntu 54 Feb 17 09:13 tmux-client-5500.log
冒頭に書いたエイリアスでも十分ですが、見た目にも優しくなるので自分は以下のようなエイリアスを設定しています。
alias ls='LC_COLLATE=C ls --color=auto --human-readable --group-directories-first'
Macの方は
--group-directories-first
オプションはGNU Coreutilsのls
コマンド限定のオプションなので、
brew install coreutils
alias ls='LC_COLLATE=C /usr/local/bin/gls --group-directories-first'
などとしてみるとよさそうです(未検証)。