Tôi biết ls -tsẽ liệt kê tất cả các tập tin theo thời gian sửa đổi. Nhưng làm thế nào tôi có thể giới hạn các kết quả này chỉ trong n tệp cuối cùng ?
tharlvì nó có xu hướng có mọi thứ tôi cần.
                Tôi biết ls -tsẽ liệt kê tất cả các tập tin theo thời gian sửa đổi. Nhưng làm thế nào tôi có thể giới hạn các kết quả này chỉ trong n tệp cuối cùng ?
tharlvì nó có xu hướng có mọi thứ tôi cần.
                Câu trả lời:
Hãy thử sử dụng đầu hoặc đuôi. Nếu bạn muốn 5 tệp được sửa đổi gần đây nhất:
ls -1t | head -5
-1 (đó là một) cho biết một tệp trên mỗi dòng và người đứng đầu cho biết có 5 mục đầu tiên.
Nếu bạn muốn thử 5 lần cuối
ls -1t | tail -5
lsnhiều cột, nhưng đầu ra của lsđược dẫn theo lệnh với 1 tệp / dir tại một thời điểm
                    ls -1t | head -n 6 | tail -n 5
                    Câu trả lời được chấp nhận chỉ liệt kê tên tệp, nhưng để có được 5 tệp hàng đầu, người ta cũng có thể sử dụng:
ls -lht | head -6
Ở đâu:
-l đầu ra ở định dạng danh sách
-h làm cho đầu ra của con người có thể đọc được (tức là kích thước tệp xuất hiện trong kb, mb, v.v.)
-t sắp xếp đầu ra bằng cách đặt tệp sửa đổi gần đây nhất trước
head -6sẽ hiển thị 5 tệp vì lsin kích thước khối trong dòng đầu ra đầu tiên.
Tôi nghĩ rằng đây là một cách tiếp cận thanh lịch hơn và có thể hữu ích hơn.
Ví dụ đầu ra:
total 26960312
-rw-r--r--@  1 user  staff   1.2K 11 Jan 11:22 phone2.7.py
-rw-r--r--@  1 user  staff   2.7M 10 Jan 15:26 03-cookies-1.pdf
-rw-r--r--@  1 user  staff   9.2M  9 Jan 16:21 Wk1_sem.pdf
-rw-r--r--@  1 user  staff   502K  8 Jan 10:20 lab-01.pdf
-rw-rw-rw-@  1 user  staff   2.0M  5 Jan 22:06 0410-1.wmv
Theo mặc định, ls -tsắp xếp đầu ra từ mới nhất đến cũ nhất, do đó, việc kết hợp các lệnh sẽ sử dụng tùy thuộc vào hướng bạn muốn đầu ra của mình được sắp xếp theo hướng nào.
Đối với 5 tệp mới nhất được sắp xếp từ mới nhất đến cũ nhất, hãy sử dụng headđể nhận 5 dòng đầu ra đầu tiên:
ls -t | head -n 5
Đối với 5 tệp mới nhất được sắp xếp từ cũ nhất đến mới nhất, hãy sử dụng công -rtắc để đảo ngược lsthứ tự sắp xếp và sử dụng tailđể lấy 5 dòng đầu ra cuối cùng:
ls -tr | tail -n 5
ls -tliệt kê các tập tin theo thời gian tạo không phải là lần sửa đổi cuối cùng. Sử dụng ls -ltcnếu bạn muốn liệt kê các tệp theo thời gian sửa đổi lần cuối từ cuối đến trước (từ trên xuống dưới). Do đó, để liệt kê n cuối cùng:ls -ltc | head ${n}
ls -lrtcó thể giúp ai đó.