ค้นหาไฟล์ที่มีอายุ 30 นาที


12

ฉันจะหาไฟล์ที่มีอายุ 30 นาทีได้/bin/kshอย่างไร


4
คุณหมายถึง "เนื้อหาของมันเปลี่ยนไปเมื่อ 30 นาทีก่อน" หรือ "ไม่มีอยู่จนกว่าจะถูกสร้างขึ้นเมื่อ 30 นาทีก่อน" นอกจากนี้คุณใช้ระบบปฏิบัติการอะไร findระบบปฏิบัติการที่แตกต่างกันมากับรุ่นที่แตกต่างกันของ
Mark Plotnick

@ Mark Plotnick ฉันต้องการค้นหาไฟล์อายุ 30 นาที
Aravind

ผมคิดว่าเขา / เธอหมายถึงถูกสร้างขึ้น 30 นาทีที่ผ่านมา ราวกับว่าใครบางคนอายุ X เขา / เธอเกิด X ครั้งที่แล้ว
erik

คำตอบ:


15

บน Linux ไม่มีเวลาในการสร้างไฟล์ คุณสามารถเข้าถึงได้เท่านั้น:

  • เวลาแก้ไขล่าสุดของเนื้อหา (การสร้างนับเป็นการเปลี่ยนแปลงของหลักสูตร) mtime,,
  • เวลาเข้าถึงล่าสุดatime,
  • ctimeการปรับเปลี่ยนครั้งล่าสุดของอภิข้อมูล

หากคุณต้องการค้นหาไฟล์ที่มีการทดสอบตามเวลาเหล่านี้find( man find) สามารถช่วยคุณได้

คุณจะใช้วิธีนี้เพื่อค้นหาไฟล์ที่ถูกเข้าถึงเมื่อ 30 นาทีก่อนในไดเรกทอรีปัจจุบันของคุณและไดเรกทอรีย่อย:

find -amin 30

โดยปกติคุณจะต้องใช้ช่วงเวลาซึ่งอาจเป็นเรื่องยากที่จะระบุจำนวนนาทีที่แน่นอน:

find -amin +25 -amin -35

จะพบไฟล์ที่เข้าถึงได้มากกว่า 25 แต่น้อยกว่า 35 นาทีที่แล้ว

และถ้าคุณกำลังสนใจเฉพาะในเวลาแก้ไขและไม่ได้อยู่ในการเข้าถึง (เช่นอ่าน) เวลาแทนที่ด้วย-amin-mmin


คุณไม่ต้องการเวลา atime เป็นเวลาเข้าถึง
ctrl-alt-delor

@ Richard สหกรณ์ไม่ได้ระบุสิ่งที่เขาหมายดังนั้น ... อย่างไรก็ตามผมใส่mtimeมากเกินไปในคำตอบ
lgeorget

1
@ lgeorget เมื่อฉันใช้-mtime 30มันก็แสดงไฟล์ 30 วัน
Aravind

@ user2910201 อัพโง่ฉัน XtimeตัวเลือกสำหรับวันและXminตัวเลือกสำหรับนาที ไม่ดีของฉันฉันแก้ไขคำตอบ
lgeorget

2
@ user2910201 แต่ทราบว่าคุณสามารถใช้Xtimeกับหน่วยตลอดเวลาที่เหมาะสมเช่น30mสามสิบนาทีหรือ5dห้าวัน
lgeorget

3

คุณสามารถใช้mtimeเพื่อ:

find . -mmin 30    #exactly 30 minutes old

นี่จะบอกไฟล์ที่คุณย้อนกลับไปcreatedหรือmodified30 นาที
g4ur4v

@ g4ur4v เมื่อฉันใช้-mminแสดงว่า-mminไม่ใช่ตัวเลือกที่ถูกต้อง
Aravind

ลองใช้ดูสิ:find /path -mtime +30m
ryekayo

ไม่แน่ใจว่าทำไมมันถึงจำไม่ได้-mminฉันค้นหาตัวอย่างมากมายโดยใช้คำสั่งนั้น ..
ryekayo

3

โดยไม่ต้องออกไป GNU/BSD find

TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /reference/file

แล้ว find . -newer /reference/file

โซลูชันที่ได้รับจากStéphane Chazelas

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