วิธีลบไฟล์ทั้งหมดที่สร้างขึ้นเมื่อไม่กี่นาทีที่ผ่านมาใน linux


15

ฉันเดาในกรณีส่วนใหญ่เมื่อแตกไฟล์เก็บถาวร tar เราจะได้รับไดเรกทอรีที่มีชื่อเดียวกันกับไฟล์เก็บถาวร แต่ต่อท้ายที่แตกต่างกัน แต่ในกรณีที่โชคร้ายบางอย่างที่ฉันพบในวันนี้หลังจากแยก tarball ฉันพบไฟล์จำนวนมากกระจายอยู่ในไดเรกทอรีทำงานซึ่งเป็นเรื่องน่ารำคาญ

ดังนั้นสิ่งที่ฉันต้องการเรียนรู้จากคุณคือ - ฉันจะย้ายไฟล์ที่สร้างขึ้นใหม่ได้อย่างไร ฉันรู้ว่ามันควรจะเป็นวิธีการแฟนซี "find plus rm" ที่นั่น แต่ฉันไม่รู้ว่าจะทำอย่างไร

คำตอบ:


25

ฉันสงสัยว่าman findจะพูดอะไร จากนั้นคุณสามารถแสดงความพยายามของคุณได้

find . -type f -cmin -1
find . -type f -cmin -1 -delete
  • -type fถูกใช้เพื่อระบุเฉพาะไฟล์ปกติจะถูกเลือก
  • -cmin -1สถานะของไฟล์ก็เปลี่ยนที่ผ่านมาในเวลาน้อยกว่าที่ผ่านมา (หนึ่ง) นาที
  • การ-deleteตั้งค่าสถานะบอกให้พบว่าลบไฟล์อิเล็กทรอนิคส์ทั้งหมดของคุณในเอกภพที่รู้จักหรืออะไรทำนองนั้นดังนั้นควรใช้ความระมัดระวังเมื่อใช้งาน

ก่อนอื่นให้ทำการทดสอบการทำงานโดยไม่มีการ-deleteตั้งค่าสถานะขอแนะนำ

หมายเหตุ-deleteเป็นส่วนขยายที่ไม่ใช่แบบพกพา

ฉันแนะนำให้อ่านfindmanpage ก่อนที่จะใช้สิ่งนี้เพราะมันครอบคลุม gotchas และคำเตือนต่าง ๆ ที่อาจนำไปใช้ในสถานการณ์ของคุณ


ดี! -delete ดูง่ายกว่า -exec rm {} \;
PJ Brunet

+1 สำหรับการสละเวลาเพื่ออธิบายตัวเลือกของตัวเลือก
Jad S

5
find . -mtime -60s -exec mv {} /dest/dir \;

ค้นหาทุกไฟล์ในไดเรกทอรีปัจจุบัน (และไดเรกทอรีย่อย) ที่ได้รับการแก้ไขใน 60 วินาทีที่ผ่านมาและย้ายไปที่ / dest / dir


3
ไฟล์เก็บถาวรที่แยกออกมาอย่างระมัดระวังอาจรักษาวันที่แก้ไขดั้งเดิม ดีที่สุดที่จะใช้เวลาสร้าง
Cem Kalyoncu

@CemKalyoncu เป็นจุดที่ดี
skarface

0

วิธี easies (ให้คุณไม่ได้มีอินเตอร์เฟซกราฟิก) จะใช้MC มันสามารถเรียงลำดับไฟล์ตามวันที่

คุณยังสามารถลบไฟล์ที่อยู่ใน tar จากบรรทัดคำสั่ง:

> rm $( tar -ztf mytar.tar.gz )

(-ztf) สำหรับไฟล์ tar.gz คุณสามารถใช้ (-tf) สำหรับ tars ปกติหรือ (-jtf) สำหรับไฟล์ tar.bz2

หากรายการของไฟล์มีขนาดใหญ่เกินไปและคำสั่งข้างต้นทำให้หายใจไม่ออกคุณสามารถใช้ xargs:

> tar -ztf mytar.tar.gz | xargs rm

ว้าวฉันไม่ดี - ฉันไม่ได้อ่านคำถามจริงๆ - คุณต้องย้ายพวกเขาไม่ลบ (กรุณาแก้ไขชื่อมันทำให้เข้าใจผิด) ฉันเดาว่าคุณยังคงสามารถลบพวกเขาจากนั้นสร้าง dir ใหม่และ untar มี :) หลังจากทั้งหมดย้าย = คัดลอก + ลบ
Sunny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.