題 如何按上次修改日期對'ls'的輸出進行排序?


我怎樣才能對輸出進行排序 ls 在上次修改日期?


1276
2018-04-09 13:17


起源


相關(不一定是重複): Unix / Linux按日期修改查找和排序 - Peter Mortensen


答案:


ls -t

或(反之,最近底部):

ls -tr

ls 手冊頁 更詳細地描述了這一點,並列出了其他選項。


1529
2018-04-09 13:20



ls -halt 是為了 human readable, show hidden, print details, sort by date。 - Evgeni Sergeev
如果有人想知道,兩者都是 -t 和 -r 參數在。中指定 有關的部分 ls 在POSIX標準中,因此應該與Unices兼容。 - Mark Amery
ls -llt 用於顯示日期時間戳以及排序 - Harshul Pandav
對的,這是可能的 - Ashraf.Shk786
@EvgeniSergeev不要記憶 ls -halt 一個簡單的錯誤類型可能會導致您的服務器崩潰! linux.die.net/man/8/halt - Isaac


試試這個: ls -ltr。它會給你最近到列表的末尾


140
2018-04-06 14:44





這裡有一個完整的答案是我使用的: ls -lrth

把它放在你的啟動腳本中 /etc/bashrc 並指定一個這樣的別名: alias l='ls -lrth' 重新啟動終端,您應該可以輸入 l 並查看一長串文件。


42
2018-04-15 20:23



你也可以打電話 source /etc/bashrc 如果你想在跑步時將它添加到你的保留節目中。 - cwallenpoole
您也可以添加它 ~/.bash_aliases 僅適用於您的用戶(如果文件不存在,可以創建該文件 - Dinei


我有時會用這個:

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 . -type f -mmin -5 -exec ls -ltr {} +

... 乃至 不限於文件

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

(注意 -d 切換到 ls 不顯示目錄內容)


28
2017-07-19 11:01



通過遞歸你的意思是它列出子目錄中的所有文件,是不是已經有一個開關來做到這一點? - jiggunjer
@jiggunjer ls -Rltr 將按照dir排序,然後按日期排序, find -type f -mmin -5 -exec ls -ltr {} + 將只打印最近5分鐘修改的文件,按日期排序,無論目錄樹如何! - F. Hauri


加:

alias lt='ls -Alhtr'

$homedir/.bashrc


20
2018-04-15 18:41





查找文件系統上最近3 * 24小時(3天)到目前為止修改過的所有文件:

find / -ctime 3

12
2017-11-11 16:11





助記符

因為不要忽略以。開頭的條目 . 和 按日期排序 (新的先來):

ls -at

因為不要忽略以。開頭的條目 . 和 按日期反向排序 (最早的):

ls -art

因為不要忽略以。開頭的條目 .,使用長列表格式和 按日期排序 (新的先來):

ls -alt

對於打印的人類可讀大小,請不要忽略以。開頭的條目 .,使用長列表格式和 按日期排序 (最新的第一個)(@EvgeniSergeev注):

ls -halt

小心最後一個,因為簡單的錯誤類型可能導致服務器崩潰...(@Isaac note)


10
2017-07-26 07:21





要顯示最近按日期排序的10個,我使用以下內容:

ls -t ~/Downloads | head -10

或顯示最古老的

ls -tr ~/Downloads | tail -10

9
2018-03-06 18:21



它給了ls -t head -2 和 ls -tr | tail -2 給出相同的結果,選項(-t / -tr)應該保持固定並修改尾部/頭部或反之,修改兩者就像沒有任何東西一樣 - DDS