ฉันจะเรียงลำดับผลลัพธ์ของls
ตามวันที่แก้ไขล่าสุดได้อย่างไร
ฉันจะเรียงลำดับผลลัพธ์ของls
ตามวันที่แก้ไขล่าสุดได้อย่างไร
คำตอบ:
ls -t
หรือ (สำหรับย้อนกลับล่าสุดที่ด้านล่าง):
ls -tr
ls
หน้าคนอธิบายนี้ในรายละเอียดมากขึ้นและแสดงตัวเลือกอื่น ๆ
ls -halt
สำหรับhuman readable
, show hidden
, ,print details
sort by date
-t
และ-r
อาร์กิวเมนต์ที่ระบุไว้ในส่วนเกี่ยวกับls
ในมาตรฐาน POSIXดังนั้นควรเข้ากันได้กับ Unices
ls -llt
สำหรับการแสดงเวลาประทับวันที่พร้อมกับการเรียงลำดับ
ls -halt
ผิดพลาดง่าย ๆ อาจทำให้เซิร์ฟเวอร์ของคุณพังได้! linux.die.net/man/8/halt
ls -ltr
ลองนี้: มันจะให้คุณล่าสุดถึงจุดสิ้นสุดของรายการ
ls -alt $(git ls-files -m)
ขอบคุณ!
สำหรับคำตอบที่สมบูรณ์นี่คือสิ่งที่ฉันใช้: ls -lrth
ใส่ไว้ในสคริปต์เริ่มต้นของคุณ/etc/bashrc
และกำหนดนามแฝงเช่นนี้: alias l='ls -lrth'
รีสตาร์ทเครื่องของคุณและคุณควรจะสามารถพิมพ์l
และดูรายการไฟล์ที่มีความยาว
source /etc/bashrc
ถ้าคุณต้องการที่จะเพิ่มไปยังเพลงของคุณในขณะที่ทำงาน
~/.bash_aliases
สำหรับผู้ใช้ของคุณ (หนึ่งสามารถสร้างไฟล์หากมันไม่ได้อยู่แล้ว
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
ไม่แสดงเนื้อหาของไดเรกทอรี)
ls -Rltr
จะจัดเรียงตาม dir จากนั้นตามวันที่find -type f -mmin -5 -exec ls -ltr {} +
จะพิมพ์ไฟล์ที่แก้ไขใน 5 นาทีที่ผ่านมาเรียงลำดับตามวันที่โดยไม่คำนึงถึงแผนผังไดเรกทอรี!
ls
( unix.stackexchange.com/a/118200/27186 ) - จากนั้นคุณจะเห็นไฟล์เรียงลำดับหนึ่งไฟล์และอีกไฟล์หนึ่ง เรียงลำดับมัดไฟล์ ฯลฯ แต่รายการทั้งหมดจะไม่ถูกจัดเรียง ดูsuperuser.com/questions/294161/…สำหรับการเรียงลำดับรายการที่ยาวขึ้นด้วยการค้นหา
เพิ่ม:
alias lt='ls -Alhtr'
ใน $homedir/.bashrc
สำหรับอย่าเพิกเฉยต่อรายการที่ขึ้นต้นด้วย.
และเรียงลำดับตามวันที่ (ใหม่สุดก่อน):
ls -at
สำหรับอย่าเพิกเฉยต่อรายการที่ขึ้นต้นด้วย.
และย้อนกลับเรียงตามวันที่ (เก่าที่สุดก่อน):
ls -art
สำหรับอย่าเพิกเฉยต่อรายการที่ขึ้นต้นด้วย.
ใช้รูปแบบรายการแบบยาวและเรียงตามวันที่ (ใหม่สุดก่อน):
ls -alt
สำหรับขนาดการพิมพ์ที่มนุษย์อ่านได้อย่าเพิกเฉยกับรายการที่ขึ้นต้นด้วย.
ใช้รูปแบบรายการแบบยาวและเรียงตามวันที่ (ใหม่สุดก่อน) (@EvgeniSergeev note):
ls -halt
แต่ระวังด้วยตัวสุดท้ายเพราะการพิมพ์ผิดง่าย ๆ อาจทำให้เซิร์ฟเวอร์ล่มได้ ... (@Isaac note)
ค้นหาไฟล์ทั้งหมดบนระบบไฟล์ที่ถูกแก้ไขสูงสุด 3 * 24 ชั่วโมง (3 วัน) ที่ผ่านมาจนถึงตอนนี้:
find / -ctime 3
ในการแสดง 10 อันดับล่าสุดเรียงตามวันที่ฉันใช้สิ่งนี้:
ls -t ~/Downloads | head -10
หรือเพื่อแสดงที่เก่าแก่ที่สุด
ls -tr ~/Downloads | tail -10
ls -t head -2
และls -tr | tail -2
ให้ผลเหมือนกันตัวเลือก (-t / -tr) ควรได้รับการแก้ไขและแก้ไขหาง / หัวหรือบทกวีรองการปรับเปลี่ยนทั้งสองเป็นเหมือน modyfing ไม่มีอะไร
การใช้คำสั่ง Unix ขั้นพื้นฐานเท่านั้น:
ls -nl | sort -k 8,8n -k 6,6M
สิ่งนี้ใช้ได้กับ Linux; คอลัมน์ 8 คือ "n" (ตัวเลข), คอลัมน์ 6 คือ "M", เดือน
ฉันใหม่ที่sort
ดังนั้นคำตอบนี้อาจจะดีขึ้น ไม่ต้องพูดถึงมันต้องการตัวเลือกเพิ่มเติมls
และsort
ใช้เวลาที่แน่นอน แต่ทุกคนไม่จำเป็นต้องใช้สิ่งนี้