割とよく使うけどよく忘れる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
最終参照日時でソートする。オプションに t を追加。
$ 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
今回の環境はgitの管理下にあるディレクトリであり、差分チェックをプロンプト実行ごとに行っているため、
「新規作成したファイル以外」
が必ず最新の時間で参照されている。
参考
Linuxコマンド、ls -ltuにてatimeの降順でソートに関して / teratail
最終ステータス変更日時
ls -cl
「最終ステータス変更日時」を表示。まずは -c を付けて表示だけのコマンド紹介。
これだけでは最終ステータス変更日時でソートはされない
ちなみに最終ステータス変更日時とは → (所有者変更やパーミッション変更などなど)
ls -clt
最終ステータス変更日時でソートする。オプションに t を追加。
変更で一番新しいのが「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
コメント