意外と忘れる「lsコマンド」でのファイルソートと隠しファイル表示

割とよく使うけどよく忘れるlsコマンドでのオプション

・隠しファイル表示

・ファイルのソート(「作成日時」「最終参照日時」「最終ステータス変更日時」)

をメモがてらに書いていきます。

スポンサーリンク

今回の環境

例として適当に「pry-rails」というGemのディレクトリ内を使用します。
当該ディレクトリ内に新しく「exmaple.rb」という空ファイルを生成した状態

まずは普通に -l を付けて詳細情報を見るとこんな感じ(並び順はファイル名の降順)

$ ls -l
total 48
-rw-r--r--   1 user  staff    94  6  4 18:16 Gemfile
-rw-r--r--   1 user  staff  1059  6  4 18:16 LICENCE
-rw-r--r--   1 user  staff  1037  6  4 18:16 Rakefile
-rw-r--r--   1 user  staff  3609  6  4 18:16 Readme.md
-rw-r--r--   1 user  staff     0  6  4 18:46 example.rb
drwxr-xr-x   4 user  staff   128  6  4 18:16 lib
-rw-r--r--   1 user  staff   901  6  4 18:16 pry-rails.gemspec
drwxr-xr-x  26 user  staff   832  6  4 18:16 scenarios
-rw-r--r--   1 user  staff   501  6  4 18:16 scenarios.yml
drwxr-xr-x  11 user  staff   352  6  4 18:16 spec

作成日時

ls -lt

作成日時でソート。
降順なので先程作成した「example.rb」 が一番上

$ ls -lt
total 48
-rw-r--r--   1 user  staff     0  6  4 18:46 example.rb
drwxr-xr-x  11 user  staff   352  6  4 18:16 spec
drwxr-xr-x  26 user  staff   832  6  4 18:16 scenarios
-rw-r--r--   1 user  staff   501  6  4 18:16 scenarios.yml
-rw-r--r--   1 user  staff   901  6  4 18:16 pry-rails.gemspec
drwxr-xr-x   4 user  staff   128  6  4 18:16 lib
-rw-r--r--   1 user  staff  3609  6  4 18:16 Readme.md
-rw-r--r--   1 user  staff  1037  6  4 18:16 Rakefile
-rw-r--r--   1 user  staff  1059  6  4 18:16 LICENCE
-rw-r--r--   1 user  staff    94  6  4 18:16 Gemfile

最終参照日時

ls -lu

最終参照日時を表示。まずは -u を付けて表示だけのコマンド紹介。
これだけでは最終参照日時でソートはされない

ls -ltu

最終参照日時でソートする。

自分の環境では、gitの差分チェックがプロンプト実行ごとに行われているので、「新規作成したファイル以外」が最新の時間で参照されている。

$ ls -ltu
total 48
-rw-r--r--   1 administrator  staff  1059  6  4 18:49 LICENCE
-rw-r--r--   1 administrator  staff    94  6  4 18:49 Gemfile
-rw-r--r--   1 administrator  staff  1037  6  4 18:49 Rakefile
-rw-r--r--   1 administrator  staff  3609  6  4 18:49 Readme.md
-rw-r--r--   1 administrator  staff   501  6  4 18:49 scenarios.yml
-rw-r--r--   1 administrator  staff   901  6  4 18:49 pry-rails.gemspec
-rw-r--r--   1 administrator  staff     0  6  4 18:46 example.rb
drwxr-xr-x  11 administrator  staff   352  6  4 18:16 spec
drwxr-xr-x  26 administrator  staff   832  6  4 18:16 scenarios
drwxr-xr-x   4 administrator  staff   128  6  4 18:16 lib

最終ステータス変更日時

ls -cl

最終ステータス変更日時を表示。まずは -c を付けて表示だけのコマンド紹介。
これだけでは最終ステータス変更日時でソートはされない

最終ステータス変更日時(所有者変更やパーミッション変更などなど)

ls -clt

最終ステータス変更日時でソートする。

変更で一番新しいのが「example.rb」の作成なので、これが一番上にソートされている。

$ ls -clt
total 48
-rw-r--r--   1 administrator  staff     0  6  4 18:46 example.rb
drwxr-xr-x  11 administrator  staff   352  6  4 18:16 spec
drwxr-xr-x  26 administrator  staff   832  6  4 18:16 scenarios
-rw-r--r--   1 administrator  staff   501  6  4 18:16 scenarios.yml
-rw-r--r--   1 administrator  staff   901  6  4 18:16 pry-rails.gemspec
drwxr-xr-x   4 administrator  staff   128  6  4 18:16 lib
-rw-r--r--   1 administrator  staff  3609  6  4 18:16 Readme.md
-rw-r--r--   1 administrator  staff  1037  6  4 18:16 Rakefile
-rw-r--r--   1 administrator  staff  1059  6  4 18:16 LICENCE
-rw-r--r--   1 administrator  staff    94  6  4 18:16 Gemfile

隠しファイル表示

ls -la

隠しファイルも含めて全て表示する

.で始まる隠しファイル「.gitignore」などが表示されているのが分かる。

$ ls -la
total 56
drwxr-xr-x  13 user  staff   416  6  4 18:16 .
drwxr-xr-x   4 user  staff   128  6  4 18:16 ..
drwxr-xr-x  12 user  staff   384  6  4 18:16 .git
-rw-r--r--   1 user  staff    68  6  4 18:16 .gitignore
-rw-r--r--   1 user  staff    94  6  4 18:16 Gemfile
-rw-r--r--   1 user  staff  1059  6  4 18:16 LICENCE
-rw-r--r--   1 user  staff  1037  6  4 18:16 Rakefile
-rw-r--r--   1 user  staff  3609  6  4 18:16 Readme.md
drwxr-xr-x   4 user  staff   128  6  4 18:16 lib
-rw-r--r--   1 user  staff   901  6  4 18:16 pry-rails.gemspec
drwxr-xr-x  26 user  staff   832  6  4 18:16 scenarios
-rw-r--r--   1 user  staff   501  6  4 18:16 scenarios.yml
drwxr-xr-x  11 user  staff   352  6  4 18:16 spec

おまけ

ソートはデフォルトでは降順なので昇順にしたい場合は -r を付ける

$ ls -lrt
total 48
-rw-r--r--   1 user  staff    94  6  4 18:16 Gemfile
-rw-r--r--   1 user  staff  1059  6  4 18:16 LICENCE
-rw-r--r--   1 user  staff  1037  6  4 18:16 Rakefile
-rw-r--r--   1 user  staff  3609  6  4 18:16 Readme.md
drwxr-xr-x   4 user  staff   128  6  4 18:16 lib
-rw-r--r--   1 user  staff   901  6  4 18:16 pry-rails.gemspec
-rw-r--r--   1 user  staff   501  6  4 18:16 scenarios.yml
drwxr-xr-x  26 user  staff   832  6  4 18:16 scenarios
drwxr-xr-x  11 user  staff   352  6  4 18:16 spec
-rw-r--r--   1 user  staff     0  6  4 18:46 example.rb