Tag Archives: linux

วิธีลบไฟล์ใน Linux แบบรวดเร็ว

รู้หรือไม่ Rsync สามารถลบได้ไวกว่า rm เกิน 10 เท่า สำหรับแอดมินที่พบว่าการลบไฟล์ใน LInux หรือ Unix ด้วย rm เป็นเรื่องน่าเบื่อเพราะใช้เวลาในการลบนานมากสำหรับไดเรคตอรี่ที่มีไฟล์มากๆ

การลบด้วย Rsync

เริ่มจากการสร้าง directory เปล่าๆขึ้นมาด้วยคำสั่ง mkdir ปกติ

mkdir empty_dir

ทำการ rsync empty_dir ไปที่ directory ปลายทาง ด้วย option –delete

rsync -a --delete empty_dir/    yourdirectory/


อยากลบเร็วกว่าเดิมสามารถเปลี่ยนมาใช้ perl ได้

cd yourdirectory
perl -e 'for(<*>){((stat)[9]<(unlink))}'

Perl สามารถลบได้ไวกว่า rsync อีกระดับนีง แต่ส่วนตัวผมชอบใช้ rsync มากกว่าเพราะบางครั้งเวลาเรากดลูกศรขึ้นเพื่อเรียกคำสั่งเดิม อาจจะพลาดไปโดนคำสั่ง perl ที่เราเอาไว้ลบไฟล์ ในไดเรคตอรี่ที่เราไม่ต้องการ ทำให้ file ใน path นั้นหายไปทั้งหมด เช่นเดียวกับการใช้ rm -rf ก่อนจะใช้คำสั่งนี้ต้องเช็คให้ดีว่าเราอยู่ใน path ที่ถูกต้อง