2009-09-10 32 views

Trả lời

128

Bạn có thể sử dụng:

$ ls -Rt 

nơi -R nghĩa đệ quy (bao gồm thư mục con) và -t có nghĩa là "sắp xếp theo ngày sửa đổi cuối cùng".

+13

Cảm ơn, điều đó hoàn hảo. Tôi đã thêm một từ khóa trong đó để tôi có thể thấy ngày tháng cho bất kỳ ai tìm kiếm sau này, đó là $ ls -lRt – Marty

+3

Nếu bạn đang thực hiện điều này tại dấu nhắc và muốn xem nhiều nhất các tệp được sửa đổi gần đây, hãy xem xét 'ls -lrt [RhA]'. '-r' đảo ngược thứ tự sắp xếp, để lại những nội dung được chỉnh sửa gần đây ở cuối danh sách ... – dmckee

+0

Điều này được thêm vào một' -ila' cung cấp cho bạn khá nhiều thông tin bạn cần. '$ ls -ilaRt' – Falkenfighter

64

Nếu bạn muốn một danh sách tổng thể trong đó tất cả các tập tin được sắp xếp cùng theo ngày sửa đổi, hiển thị thư mục họ đang ở, nhưng không nhóm lại theo thư mục, bạn có thể sử dụng này:

find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' 

kết quả trông rất giống ls -l:

 
-rw-r--r-- 1 root  root   3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz 
-rw-r--r-- 1 root  root  22946 08/13/2009 11:59:20 /usr/share/man/man1/curl.1.gz 
-rw-r--r-- 1 root  root   728 08/17/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz 
-rw-r--r-- 1 root  root   873 08/18/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz 
-rw-r--r-- 1 root  root   2552 08/19/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz 
-rw-r--r-- 1 root  root   9546 08/19/2009 02:02:00 /usr/share/man/man1/pidgin.1.gz 
-rw-r--r-- 1 root  root   2201 08/19/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz 
-rw-r--r-- 1 root  root   926 08/19/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz 
-rw-r--r-- 1 root  root  18052 08/19/2009 04:11:47 /usr/share/man/man1/mono.1.gz 
-rw-r--r-- 1 root  root   1845 08/19/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz 

Mac OS X

Đối với những người sử dụng Mac OS X, tùy chọn -printf không khả dụng trên BSD tìm (bạn sẽ gặp lỗi này: find: -printf: unknown primary or operator). May mắn thay, bạn có thể cài đặt GNU tìm thấy thông qua Homebrew (không nên có một tùy chọn để FinkMacports cũng):

brew install findutils 

Sau khi cài đặt nó GNU tìm nên có sẵn cho bạn như gfind. Vì vậy, tất cả những gì bạn cần làm là thay đổi dòng ở trên thành:

gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' 
+3

Đẹp nhất. Toàn bộ nhóm thư mục với ls -R gây phiền toái. –

+0

Đoạn mã tuyệt vời, cảm ơn! –

+1

Mã tuyệt vời, nó lấy kịch bản xấp xỉ. 5 giây để sắp xếp và in ảnh 13k trong nhiều thư mục khác nhau (thông qua Cygwin trên máy tính khá chậm). – Magnus

Các vấn đề liên quan