web-dev-qa-db-ja.com

最終更新日で 'ls'の出力をソートするにはどうすればいいですか?

lsの出力を最終更新日でソートするにはどうすればいいですか?

1345
ls -t

または(逆の場合は、一番下のほうが最近)

ls -tr

lsのmanページ に詳細が説明されており、その他のオプションもリストされています。

1609
Adnan

これを試してください:ls -ltr。それはあなたにリストの最後までの最近のものを与えるでしょう

147
Rana

完全な答えをここに私が使用しているものです:ls -lrth

これを起動スクリプト/etc/bashrcに入れて、次のようなエイリアスを割り当てます。alias l='ls -lrth'端末を再起動すると、lと入力してファイルの長いリストが表示されるはずです。

42
Dejan

私はいつかこれを使う:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

または

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

過去5分間にどのファイルが変更されたかについて、再帰的に調べます

...または現在、最新バージョンのGNU findを使用すると、

find . -type f -mmin -5 -exec ls -ltr {} +

...ファイルに限定しないための:

find . -mmin -5 -exec ls -ltrd {} +

(ディレクトリの内容を表示しないために-dlsに切り替えることに注意してください)

29
F. Hauri

追加:

alias lt='ls -Alhtr'

$homedir/.bashrc

20
Layer8

ファイルシステム上で最大3 * 24時間(3日)前までに変更されたファイルをすべて検索します。

find / -ctime 3
13
pbies

ニモニック

.でソートしたエントリを無視しないでください/ dateで並べ替えます(最新のものが最初)。

ls -at

.およびで始まるエントリを無視しないでください。日付順の逆ソート(最初に古いもの):

ls -art

.で始まるエントリを無視しないようにするには、長いリスト形式と日付順ソートを使用します(最新のものから順に)。

ls -alt

判読可能なサイズで印刷するには、.で始まるエントリを無視しないでください。長いリスト形式を使用し、日付順(最新のものから順に並べてください)

ls -halt

しかし最後のものには注意してください、単純なタイプミスはサーバクラッシュを引き起こす可能性があるので...(@Isaac note)

12
simhumileco

日付順にソートされた最新の10を表示するには、次のようにします。

ls -t ~/Downloads | head -10

または最も古いものを表示する

ls -tr ~/Downloads | tail -10
10
lfender6445

非常に基本的なUnixコマンドだけを使う:

ls -nl | sort -k 8,8n -k 6,6M

これはLinux上で動作しました。列8は "n"(数値)、列6は "M"、月です。

私はsortで新しいので、この答えはおそらく改善されるかもしれません。言うまでもありませんが、正確なタイムスタンプを使用するにはlssortに追加のオプションが必要ですが、誰もがこれを必要とするわけではありません。

8
bbarker