แสดงทั้ง ctime และ atime ในเอาต์พุต ls


19

ฉันสามารถรับทั้ง ctime และ atime ในเอาต์พุต ls ได้หรือไม่ ดูเหมือนว่าฉันสามารถผ่านหนึ่ง--time=ctimeหรือ--time=atimeอาร์กิวเมนต์ (ที่สองจะถูกละเว้น) มีวิธีอื่น ๆ ?

คำตอบ:


13

คุณสามารถเรียกใช้ stat -c '%x %z' filename.txt


เพียงแค่ทราบว่าstat -c '%w %x %y %z' filename.txtให้คุณสร้างเข้าถึงแก้ไขข้อมูลเปลี่ยนสถานะ ในรูปแบบที่มนุษย์อ่านได้
meridius

16

หากคุณแยกค่าเฉพาะlsคุณสามารถใช้statแทน:

# stat -c% x,% z,% n *
2011-01-11 06: 09: 04.000000000 -0500,2011-01-11 02: 43: 52.000000000 -0500, sqlupdate.sh
2011-01-11 06: 09: 04.000000000 -0500,2011-01-12 02: 43: 55.000000000 -0500, file.tar.gz
2011-01-11 06: 09: 04.000000000 -0500,2011-01-11 02: 43: 52.000000000 -0500, mysql_password.txt
2011-01-17 02: 43: 49.000000000 -0500,2011-01-12 13: 40: 48.000000000 -0500, public_html

ที่ไหน:

 % x เวลาที่เข้าถึงล่าสุด
 % z เวลาของการเปลี่ยนแปลงครั้งล่าสุด
 % n ชื่อไฟล์

เพียงเพื่อให้แน่ใจว่าฉันเข้าใจคำตอบที่นี่ มีความเป็นไปได้ที่ ls จะแสดงการเข้าถึงแก้ไขและเปลี่ยนแปลงเวลา แต่ไม่เกินหนึ่งครั้ง เพราะนั่นเป็นทั้งที่น่าแปลกใจจริงๆและน่ารำคาญมาก
Mads Skjern

5

เมื่อfindคุณเข้าใกล้สิ่งที่ls -lมีให้:

# find . -maxdepth 1 \
     -printf "%M %u %g %s\t%Ab %Ad %AH:%AM\t%Cb %Cd %CH:%CM\t%P\n"

คุณสามารถเข้าถึง ctime (% C), atime (% A) และเวลาแก้ไข (% T) อ่านman findเพื่อค้นหาข้อมูลเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.