2009-04-09 13:17:20 +0000 2009-04-09 13:17:20 +0000
1422
1422

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

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

回答 (10)

1687
1687
1687
2009-04-09 13:20:44 +0000

001

または (逆の場合は下の方にある最新のもの):

ls -t

詳細は ls man page で説明されており、他のオプションも掲載されています。

155
155
155
2010-04-06 14:44:45 +0000

これを試してみてください: ls -ltr。最近のものからリストの最後までを表示してくれます。

48
48
48
2012-04-15 20:23:29 +0000

完全な回答のために、ここでは私が使用しているものです: ls -lrth

これをスタートアップスクリプト/etc/bashrcに入れて、このようなエイリアスを割り当てます: alias l='ls -lrth' ターミナルを再起動すると、lを入力して、ファイルの長いリストを見ることができるようになるはずです。

31
31
31
2013-07-19 11:01:24 +0000
find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

または

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

を使って、過去5分間にどのファイルが変更されたかを recursively で調べています。

… または、最近のバージョンの GNU find を使って:

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

… そして、_ファイルに制限しないためにも:

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

(ディレクトリの内容を表示しないための-dへのスイッチに注意してください)

より堅牢な方法?

見てみてください find and sort by date modified の私の答え] &003

22
22
22
2012-04-15 18:41:06 +0000

追加:

alias lt='ls -Alhtr'

in $homedir/.bashrc

18
18
18
2017-07-26 07:21:37 +0000
ls -at

人間が読めるサイズを印刷するためには、.で始まるエントリを無視しないでください、長いリスト形式を使用して、日付でソート (最新の最初) (@EvgeniSergeev note):

ls -art

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

16
16
16
2013-11-11 16:11:57 +0000

Find all files on file system that was modified maximally 3 ¶ 24 hours (3 days) ago till now:

find / -ctime 3
12
12
12
2016-03-06 18:21:16 +0000

日付でソートされた最新の10件を表示するには、次のようなものを使用します:

ls -t ~/Downloads | head -10

または最古の

ls -tr ~/Downloads | tail -10
``` を表示するには
9
9
9
2014-06-15 21:47:51 +0000

これはLinuxで動作しました。列8は “n"(数字)、列6は "M"(月)です。言うまでもなく、正確なタイムスタンプを使用するためにsortlsに追加のオプションが必要ですが、誰もがこれを必要とするわけではありません。

-1
-1
-1
2020-02-28 11:04:14 +0000

例えば最後の10個の変更されたファイルを表示する1つの可能な方法は次のコマンドです:

ls -lrth | tail -n 10

上記のコマンドの説明:

ls - list

引数:

l - long
r - reverse
t - sort by time
h - human readable

それからそれはnパラメータ(行数)によって定義される10の最近の行だけを示すtailコマンドにパイプされています…